`
tangkuo
  • 浏览: 101049 次
  • 性别: 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的检查项配置详解
》一文。



分享到:
评论

相关推荐

    d盾,代码扫描工具,可以扫描文件 java代码 war包漏洞!

    "d盾"是一款专为开发者设计的代码扫描工具,它能有效帮助检测和预防Java代码以及WAR包中的安全漏洞。这款工具的强大之处在于其对代码质量的严格把关,确保了应用程序在上线运行前能够得到全面的安全检查。 【描述】...

    防止恶意代码篡改扫描工具.zip

    "Fish-v323-0403"可能是一个恶意代码扫描工具的版本号,其中"Fish"可能是该工具的名称,"v323"代表版本号,"0403"可能指的是发布日期或更新编号。保持工具的最新版本至关重要,因为恶意代码开发者会不断推出新的攻击...

    网页恶意代码扫描工具

    网页恶意代码扫描工具是针对网络安全领域的重要应用,主要用于检测和防范网络中的恶意代码。恶意代码,包括病毒、蠕虫、木马、钓鱼网站等,它们可能会窃取用户数据、破坏系统稳定性或者对网络设备造成损害。中国互联...

    最新网络安全扫描软件

    网络安全扫描软件是信息技术领域中一个至关重要的工具,主要用于检测网络中的漏洞、安全隐患和潜在的攻击面。"最新网络安全扫描软件"可能是指一个更新版本的X-Scan,版本为v3.3,专为中国用户设计(从文件名"X-Scan-...

    网络安全扫描课程设计

    - **开发背景**:鉴于网络安全威胁的多样性与复杂性,开发一种基于VC++的网络安全扫描工具具有重要意义。该工具不仅能够实现端口扫描功能,还能支持TCP和UDP两种不同协议下的客户端与服务器间的通信。 #### 2. 程序...

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

    《安铁诺防病毒软件漏洞扫描工具:网络安全的守护者》 在当今的数字化时代,网络安全成为了每个人关注的焦点。而“安铁诺防病毒软件漏洞扫描工具”就是一款专门针对这一需求设计的重要软件,它旨在帮助用户检测系统...

    Veracode应用程序安全扫描工具

    ### Veracode应用程序安全扫描工具知识点详解 #### 一、Veracode简介 - **公司定位**:Veracode是一家专注于应用程序安全领域的公司,致力于为客户提供全面的应用程序安全测试及补救服务。 - **核心价值**:通过...

    C#端口扫描工具源代码

    【标题】"C#端口扫描工具源代码"所涉及的知识点主要集中在C#编程语言、网络编程和多线程技术上。C#是微软公司推出的一种面向对象的编程语言,广泛应用于桌面应用、游戏开发以及服务器端软件,其丰富的类库和强大的...

    端口扫描工具源代码

    端口扫描工具是网络安全领域中常见的一种工具,主要用于检测网络上的设备开放了哪些端口,以便了解其服务状态和潜在的安全风险。在这个压缩包中,包含的是一份使用C++编程语言编写的端口扫描工具的源代码,适用于...

    静态网页源代码扫描工具

    【静态网页源代码扫描工具】是一种专门用于检测和分析PHP4.0版本源代码中潜在安全问题的软件。在Web开发领域,静态网页虽然不涉及服务器端动态处理,但其源代码同样可能隐藏着安全风险,如XSS(跨站脚本攻击)、SQL...

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

    综上所述,这个"网络安全课程设计C++实现的网络扫描器源码"项目涵盖了网络通信基础、C++编程技巧、网络扫描技术以及软件设计原则等多个方面的知识。通过学习和理解这个项目,不仅可以提升对网络安全的理解,还能增强...

    至尊扫描只为网络安全而生软件.rar

    “至尊扫描”是一款专为网络安全设计的高效扫描工具,其核心功能在于帮助用户检测并解决系统中的安全问题。它以其强大的扫描能力、无毒特性以及与杀毒软件的兼容性赢得了用户的信赖。在这款软件中,开发者深入研究了...

    端口扫描工具源码_工具_端口扫描_

    端口扫描是网络安全领域...通过阅读和理解这些源代码,你可以学习到C#中如何进行网络通信、如何处理异步任务以及如何实现一个实用的端口扫描工具。同时,这也可以作为进一步研究网络安全、网络编程或C#编程的实践案例。

    流光扫描软件(扫描探测)

    标题中的“流光扫描软件”指的是流光(FluxLight),这是一款经典的网络扫描工具,主要用于网络安全检测。在IT行业中,网络安全是至关重要的领域,扫描软件则是其中的一种基础工具,用于发现网络上的漏洞和安全风险...

    网络端口扫描工具.zip

    《网络端口扫描工具——ScanPort V1.2深度解析》 网络端口扫描是网络安全领域中的基础操作,用于探测目标主机上开放的服务和端口,以了解其网络状态和可能的安全隐患。本文将深入探讨名为"ScanPort"的网络端口扫描...

    西南科技大学无线网络安全技术实验一实验报告-利用扫描工具收集无线网络信息

    【标题】:“西南科技大学无线网络安全技术实验一实验报告-利用扫描工具收集无线网络信息” 【描述】:这个实验报告详细介绍了如何在Kali Linux环境下安装和使用无线网络安全工具,包括Kali Linux和NS2的安装,以及...

    网络端口扫描工具

    网络端口扫描是网络安全...综上所述,网络端口扫描工具是一个强大的工具,对于网络安全和系统管理至关重要。了解其工作原理和相关文件的用途,可以帮助我们更好地理解和使用此类工具,同时确保我们的网络环境安全稳定。

    网络安全课程设计_端口扫描器的设计与实现,包含可执行软件及报告和代码

    端口扫描器是网络安全工具中的一个基础部分,它可以帮助我们检测网络上开放的端口,识别可能存在的安全漏洞。这篇文档将详细介绍一个端口扫描器的设计与实现过程,包括相关技术、步骤以及软件的开发。 首先,我们要...

    御剑高速TCP端口扫描工具.zip

    通过高效的技术手段,它能够迅速识别目标主机上的可用服务,这对于网络安全审计、系统管理员进行网络维护以及渗透测试来说是至关重要的工具。 【描述】:该工具的核心功能在于其高速特性,它采用了优化的算法来加速...

    基于Python的综合网络安全扫描工具设计源码

    该项目是一款采用Python3编写的多功能网络安全扫描工具源码,总计包含41个文件,涵盖31个Python脚本、2个JSON配置文件、2个文本文件、2个图片文件、1个Git忽略规则、1个许可协议、1个Markdown文件、1个恶意代码...

Global site tag (gtag.js) - Google Analytics