`
tangkuo
  • 浏览: 96039 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

网络安全软件代码扫描工具

 
阅读更多
扫描工具自然是IBM AppScan

http://edu.aqniu.com/

http://www.nxadmin.com/tools/675.html

Appscan是web应用程序渗透测试舞台上使用最广泛的工具之一.它是一个桌面应用程序,它有助于专业安全人员进行Web应用程序自动化脆弱性评估。本文侧重于配置和使用Appcan,分析扫描结果将在下一篇文章中讨论.

Appscan的主要特点:

Appscan 8.5标准版有很多新的功能,其中大部分将在我下面的概要中涵盖:

Flash支持: 8.0 Appscan相对早期的版本增加了flash支持功能,它可以探索和测试基于Adobe的Flex框架的应用程序,也支持AMF协议。

Glass box testing::Glass box testing是Appscan中引入的一个新的功能.这个过程中,安装一个代理服务器,这有助于发现隐藏的URL和其它的问题。

Web服务扫描:Web服务扫描是Appscan中具有有效自动化支持的一个扫描功能。

Java脚本安全分析:Appscan中介绍了JavaScript安全性分析,分析抓取html页面漏洞,并允许用户专注于不同的客户端问题和DOM(文档对象模型)为基础的XSS问题。

报告:根据你的要求,可以生成所需格式的报告。

修复支持:对于确定的漏洞,程序提供了相关的漏洞描述和修复方案.

可定制的扫描策略:Appscan配备一套自定义的扫描策略,你可以定制适合你需要的扫描策略。

工具支持:它有像认证测试,令牌分析器和HTTP请求编辑器等,方便手动测试漏洞.

Ajax和Dojo框架的支持。
现在,让我们继续学习更多有关安装和使用Rati??onal AppScan扫描Web应用程序的过程。


--Nmap

NMap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包

其基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。
进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):
nmap -sP 192.168.1.0/24
仅列出指定网络上的每台主机,不发送任何报文到目标主机:
nmap -sL 192.168.1.0/24
探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):
nmap -PS 192.168.1.234
使用UDP ping探测主机:
nmap -PU 192.168.1.0/24
使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:
nmap -sS 192.168.1.0/24
当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:
nmap -sT 192.168.1.0/24
UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:
nmap -sU 192.168.1.0/24
确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):
nmap -sO 192.168.1.19
探测目标主机的操作系统:
nmap -O 192.168.1.19
nmap -A 192.168.1.19
另外,nmap官方文档中的例子:
nmap -v scanme.
这个选项扫描主机scanme中 所有的保留TCP端口。选项-v启用细节模式。
nmap -sS -O scanme./24
进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127
进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。
nmap -v -iR 100000 -P0 -p 80
随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。
nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20
扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。
host -l | cut -d -f 4 | nmap -v -iL -
进行DNS区域传输,以发现中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。
其他选项:
-p (只扫描指定的端口)
单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。
-F (快速 (有限的端口) 扫描)





-- openvas  http://www.openvas.org/

OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器


其架构如下图所示:
用户需要一种自动测试的方法,并确保正在运行一种最恰当的最新测试。OpenVAS包括一个中央服务器和一个图形化的前端。这个服务器准许用户运行 几种不同的网络漏洞测试(以Nessus攻击脚本语言编写),而且OpenVAS可以经常对其进行更新。OpenVAS所有的代码都符合GPL规范。
建立架构
OpenVAS是一个客户端/服务器架构,它由几个组件组成。在服务器上(仅限于Linux),用户需要四个程序包:
OpenVAS-Server: 实现基本的扫描功能
OpenVAS-Plugins: 一套网络漏洞测试程序
OpenVAS-LibNASL 和OpenVAS-Libraries: 实现服务器功能所需要的组件
而在客户端上(Windows或Linux均可),用户仅需要OpenVAS客户端。
openvas图册


--coverity对代码的检查侧重于代码质量
使用了Coverity代码静态检测工具。功能很强大,超乎我的期望。主要功能如下:

    列出不会被执行到的代码
    列出没被初始化的类成员变量
    列出没有被捕获的异常
    列出没有给出返回值的return语句
    某个函数虽然有返回值,但调用该函数的地方没有用到它的返回值,这也会被列出来
    列出没有被回收的new出来的对象
    列出没有被关闭的句柄
    精确定位到代码行,并提供逐层展开函数的功能
    列出可能的数值类型溢出。例如,无符号int数做 ++ 操作,可能导致int溢出,都会被检测到。
    什么地方该用&位运算,而不应该用|位运算,都能定位出来并作出建议
    ostream在一个函数中被修改了格式,但退出该函数之后没有将ostream恢复成先前的格式,也会被检测到
    ……

--fortify侧重于代码的安全漏洞。

Fortify SCA 2016是一款专门用于检测软件源码安全性的软件,软件功能强大,操作简单。由于很多不正规的源码都是藏毒的...小编这里给大家带来最新破解版的Fortify Sca,让大家都能放心使用人家贡献的源码





--findbugs 代码扫描
  FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。

--checkstyle 代码重复度扫描


   现在很多开源工具都可以对代码进行规范审核,比较流行的有以下几款,大致给个简单介绍。

     PMD:是一款采用BSD协议发布的Java程序代码检查工具,可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。
     FindBugs:是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。
     Checkstyle:是一个静态分析工具,检查Java程序代码。
     Cppcheck是一种C/C++代码缺陷静态检查工具。
   PC-Lint也是一种静态代码检测工具,检查C或C++。

      目前,中心使用的是Checkstyle工具。我个人觉得PMD和Checkstyle很类似,都可以以插件的形式集成到Eclipse或是MyEclipse开发环境中。下面就Checkstyle在Eclipse中的使用详细介绍下,同时,也欢迎大家继续补充。

1        Checkstyle的下载和安装

1.1  Checkstyle的下载

      Checkstyle可以从其官网http://checkstyle.sourceforge.net/中下载。官网中还提供了Checkstyle的相关文档,如配置文件、代码检查项等,内容比较丰富,覆盖面也较齐全。可依据自身需要,参考官网上的相关资料。进入Checkstyle的官网后,进入Download页面,可以下载Checkstyle。目前,大多数开发项目使用Eclipse或是MyEclipse的集成开发环境,因此我推荐进入http://en.sourceforge.jp/projects/sfnet_eclipse-cs/releases/下载,该网站上有EclipseCheckstyle Plug-in的各种版本。下文的介绍中,我采用的是net.sf.eclipsecs-updatesite_5.5.0.201111092104-bin.zip版本的Checkstyle插件。

1.2  Checkstyle的安装

    以下的安装过程,基于Eclipse SDK-3.7.2。

   (1)打开eclipse,在help中选择install software。

(2)点击add, 选择中Checkstyle安装包net.sf.eclipsecs-updatesite_5.5.0.201111092104-bin.zip;

  

(3)点击OK,进入下一步;

(4)重启Eclipse。

        确认安装成功的步骤:

     打开eclipse,选择window->preferences->左边导航栏中Checkstyle,如果出现checkstyle说明你安装成功。


2  Checkstyle的配置

     Checkstyle默认提供的配置文件有两个:一是Sun Checks,对应的配置文件是sun_checks.xml文件,含义是Checkstyle configuration that checks the sun coding conventions;一般Checkstyle默认的设置就是sun_checks.xml配置文件。另一个是Sun Checks(Eclipse),对应的配置文件是sun_checks_eclipse.xml,含义是Slightly modified version of Sun Checks that better matches the default code formatter setting of Eclipse.

     一般Sun Checks的检查项限定得较为严格,我们实际项目中并不要求那么完美的编程规范,那么可以自己定义检查的配置文件,最后将Checkstyle的配置文件设定为我们自定义的文件即可。关于检查项的设定,我会是下面章节中讲解。先来看看Checkstyle如何快速使用吧。

3  Checkstyle的快速入门使用

   Checkstyle安装好之后,就可以使用它来检查我们的代码啦。

3.1 使用Checkstyle检查单个java文件

   选中文件,右击选择Checkstyle,选择Check Code with Checkstyle。



        此时,看看原文件的变化吧。原文件上会在不符合规范的地方出现黄颜色!号,鼠标停留在叹号处,可以看到信息提示。或者,在Console控制台一栏,可以看到Checkstyle violations 的视图,里面会有信息提示。



     选择Checksty violations chart视图,会把每种不规范的信息做下统计,绘制成图表,够人性化吧,哈哈哈。



3.2 使用Checkstyle检查整个项目

    在项目名上,右击选择Checkstyle,选择Check Code with Checkstyle。


   查看不规范的信息,方法同3.1节一样。


  Checkstyle 也可以检查整个包的文件,或者某一代码段的文件。具体的,大家可以依据需要,我不再一一介绍。

4、Checkstyle的各种检查项

      前面说到用户可以自定义各种检查项,下面给大家介绍下Checkstyle中各种常用的检查项。在第五部分中,我会介绍如何依据检查的需求来定制检查文件。

      因篇幅局限,为了让大家不至于看得太累,也为讲得更透彻,我把Checkstyle的检查项配置内容单独写为一篇博客。有兴趣的读者可浏览《Checkstyle的检查项配置详解
》一文。



分享到:
评论

相关推荐

    网络安全课程设计C++实现的网络扫描器源码

    网络安全课程设计C++实现的网络扫描器源码

    Eastmount网络安全博客之各种工具及代码资源(IDA、BP、Nmap、Wireshark等)

    [网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具 [网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性 [网络安全自学篇] 十.论文之基于机器学习算法的主机恶意代码 ...

    审核网络安全的十大必备工具.docx

    审核网络安全的十大必备工具全文共4页,当前为第1页。审核网络安全的十大必备工具全文共4页,当前为第1页。审核网络安全的十大必备工具 审核网络安全的十大必备工具全文共4页,当前为第1页。 审核网络安全的十大必备...

    Veracode应用程序安全扫描工具

    Veracode提供自动化的静态和动态应用程序安全测试软件和补救服务。我们扫描二进制代码和产生缺陷优化报告。然后,我们与您的开发人员一起,按照您的风险管理政策,利用Veracode UI用户界面(或您现有的集成开发环境...

    安铁诺防病毒软件漏洞扫描工具

    检测您的系统是否存在系统漏洞,并给出详细漏洞报告,引导您到相关站点下载最新系统漏洞补丁程序确保您的系统永远的处在最安全的状态下。

    Zenmap图形化端口扫描工具

    Zenmap是一个开放源代码的网络探测和安全审核的工具,可以说它是图形化的nmap,它可以支持跨平台。使用zenmap工具可以快速地扫描大型网络或单个主机的信息。...适用于网络安全员,用于收集目标信息。

    强大的扫描工具x-scan

    另外Nessus攻击脚本的翻译工作已经开始,欢迎所有对网络安全感兴趣的朋友参与。 需要“Nessus攻击脚本引擎”源代码、X-Scan插件SDK、示例插件源代码或愿意参与脚本翻译工作的朋友 ,可通过本站“X-Scan”项目链接...

    基于GO语言实现的网络安全等级保护现场测评工具、基线核查工具源代码+使用说明文档,弱口令检测,Windows基线核查,端口扫描

    组件识别)、web目录扫描、子域名扫描、等保模拟定级、自动化运维、Windows基线核查、多线程Linux、MySql、Redis、Pgsql、SqlServer、Oracle、h3c、华为批量执行命令、等保工具(网络安全等级保护现场测评工具)内置...

    互联网通讯网络安全防护

    运营商发挥网络优势,面向外部提供安全服务,力促计算机网络系统运行正常等方面就通讯网络信息安全防护措施提出了自己的建议和看法,同时,还介绍了互联网通讯网络安全防护的最新发展,具有一定的参考价值。

    北极熊扫描器3.5【国产安全工具】

    本软件禁止用于黑客用途,不允许对除个人网站外进行扫描检测,不允许利用漏洞进行入侵操作,若您使用本程序进行违法操作,造成的任何后果与作者无关,作者不承担任何法律责任、纠纷,软件作为一款安全检测软件,...

    TCP、UDP端口及ICMP网络扫描工具-网络安全代码类资源

    基于vc6.0开发网络扫描工具,利用select+connect进行TCP端口扫描,利用ICMP端口不可达报文进行UDP端口扫描,可以完成对TCP、UDP端口的探测,ICMP你懂的。利用GetBestRoute和GetIpAddrTable来判定使用本地接口IP,不...

    Nmap网络安全审计工具 v7.8.0

    Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个主机也没有问题。Nmap以新颖的方式使用原始IP报文来发现网络上有哪些主机...

    开放源代码的网络探测和安全审核的工具NMAP

    NMAP(Network Mapper)是一款开放源代码的网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个主机也没有问题.Nmap 以新颖的方式使用原始 IP 报文来发现网络上有一些主机,那些主机提供...

    毕业设计:基于Python的漏洞扫描系统(源码 + 数据库 + 说明文档)

    2.1 网络安全概述 7 2.2 安全漏洞 7 2.3安全漏洞扫描技术 8 第3章 漏洞扫描系统的设计 9 3.1 漏洞扫描系统的设计目标和原则 9 3.2 漏洞扫描系统总体设计 9 3.3系统的设计可行性分析 10 3.3.1技术可行性 10 3.3.2经济...

    网络安全开发宝典进阶版.zip

    《网络安全开发宝典进阶版》是一本专注于网络安全开发的资源,它提供了深入的理论知识和实践经验,帮助开发人员更好地理解和应对网络安全挑战。该资源涵盖了以下内容: 1. 网络安全基础知识:介绍了网络安全的基本...

    毕业设计-基于python漏洞扫描系统毕业设计与实现(源码+数据库+演示视频).zip

    本次的系统搭建,是以Python框架来进行有效的功能模块的搭建,通过以MySQL数据库来进行数据对接,通过核心的端口扫描,输入ip地址后返回扫描的结果,设计端口列表菜单,在端口列表菜单中能够查看到每一项查询过的...

    自己动手编写SQL注入漏洞扫描工具

    在CSDN上没有找到,所以将别处下载的上传过来,必须免费分享! 包括两个程序,代码尚未调试,希望有所借鉴。 代码仅供学习交流,切勿行危害安全之事,务必遵守法律法规!

    TK2006(漏洞扫描)比流光X-SCAN还好的扫描工具

    安装相应的补丁,增强用户的安全意识,提高计算机网络的整体安全防护能力。 软件的溢出漏洞检测的特点  1、软件界面友好,免安装,操作和设置十分简单,采用多线程扫描技术,占用系统资源更少,效率更高! 2、溢出检测...

    网络安全ppt(1).pptx

    对抗网络扫描的手段 系统补丁Patch 禁止与系统服务信息有关的回应 停止系统服务 安装防火墙软件或者个人防火墙软件 使用入侵检测系统 提供系统安全的日志和审计功能 一些小而有效的技巧 网络安全ppt(1)全文共65页,...

    网络安全ppt(2).pptx

    对抗网络扫描的手段 系统补丁Patch 禁止与系统服务信息有关的回应 停止系统服务 安装防火墙软件或者个人防火墙软件 使用入侵检测系统 提供系统安全的日志和审计功能 一些小而有效的技巧 网络安全ppt(2)全文共65页,...

Global site tag (gtag.js) - Google Analytics