作者:hacker 日期:2022-10-22 分类:黑客网站
渗透测试一般不只通过平台来测国产化渗透测试工具,平台只是一个辅助作用且多数是收费商用设备国产化渗透测试工具,譬如收费国产化渗透测试工具的nessus,铱迅,扫web 国产化渗透测试工具的有免费国产化渗透测试工具的awvs,appscan 国产的goby,找渗透人员或者安全公司会提供真正的渗透测试及报告。
之前在做 国内软件测试现状调查 之时,因为安全性测试工具太多,结果显示其分布比较广,填写“其它”占的比重很高(66%),为此专门做了一个调查 ,虽然收集的有效反馈不多(不到100),但基本反映了测试工具的使用现状。
1. 从总体看,(静态的)代码分析工具和(动态的)渗透测试工具应用还是比较普遍 ,超过60%,而且渗透测试工具(73.68%)略显优势,高出10%。模糊测试工具,可能大家感觉陌生,低至16%,但它在安全性、可靠性测试中还是能发挥作用的。从理论上看,代码分析工具应该能达到95%以上,因为它易用,且安全性已经是许多公司的红线,得到足够重视。 希望以后各个公司能够加强代码分析工具和模糊测试工具的应用。
2. Java代码安全性分析工具前三名是 : IBM AppScan Source Edition(42.11%)、Fotify Static Code Analyzer(36.84%)、Findbugs(26.32%) ,而JTest、PMD等没进入前三名,虽然和第3名差距不大,只有5%左右。也有公司使用Checkmarx,不在此调查中。Coverity也支持Java,可能Java的开源工具较多,人们很少用它。
3. C/C++代码安全性分析工具前三名是 : C++Test(38.89%)、IBM AppScan Source Edition(38.89%)、Fotify Static Code Analyzer(27.78%)、Visual Studio(27.78%) 。Coverity、CppCheck、LDRA Testbed 没能进入前三名,可能LDRA Testbed比较贵,关键的嵌入式软件采用比较多,而Coverity Cloud针对Github等上面的代码有免费服务(),大家可以尝试应用。
4. JavaScript代码安全性分析工具应用最多的是 Google's Closure Compiler,其次是JSHint,也有的公司用Coverity来进行JS的代码分析。
5. Python代码安全性分析工具应用最多的是Pychecker ,其次是PyCharm,而Pylint使用比较少,也有几个公司用Coverity来进行Python的代码分析。
6. Web应用安全性测试的商用工具中,IBM AppScan异军突起 ,高达70%的市场,其它商用工具无法与它抗衡,第2名SoapUI和它差距在50%以上,HP webInspect 不到10%。
7. Web应用安全性测试的开源工具中,Firebug明显领先 ,将近50%,比第2名OWASP ZAP高12%,第三名是Firefox Web Developer Tools,超过了20%。
8. Android App的安全性测试工具中,Android Tamer领先 ,将近30%,比第2、3名AndroBugs、Mobisec、Santoku高15%左右。也有用其它不在调查项中的工具,总体看,Android App安全性测试工具分布比较散。
9. 网络状态监控与分析工具中,Wireshark遥遥领先,超过70%。 其次就是Tcpdump、Burp Suite,占30%左右。网络状态监控与分析工具挺多的,但从这次调查看,越来越集中到几个工具中,特别是Wireshark功能强,覆盖的协议比较多,深受欢迎。
10. SQL注入测试工具排在前三位的:SQLInjector、SQL Power Injector、OWASP SQLiX, 三者比较接近,差距在6%左右。其它两项工具Pangolin、SQLSqueal也占了10%,而Antonio Parata、Blind SQL Injections、Bsqlbf-v2、Multiple DBMS Sql Injection、Sqlninja几乎没什么人用。
安全性测试工具很多,还包括黑客常用的一些工具,如暴力破解口令工具、端口扫描工具、防火墙渗透工具、渗透测试平台等。从某种意义看,它们超出软件范畴,更多属于网络空间安全、密码学等范畴,在此就不展开了。概括起来最受欢迎的软件安全性测试工具有:
metasploit是一个非常牛逼的渗透测试工具,搞渗透的几乎没人不用的。但是只学这个没其他的基础是不行的,metasploit要玩得出彩玩得高端是很多时候根据实际需要自己修改和分析渗透利用脚本,所以好的编程思维和技术也是非常重要的。总之,遵循一点——存在即合理,学校安排的专业课都好好学巴适就对了,甚至需要自己补一些课堂没有的东西。 这里面有metasploit论坛,可以好好逛逛。搞安全的学好了月薪是别人的年薪,学不好就只有打酱油,一个天一个地,没得半灌水的。
今天小编要跟大家分享的文章是关于开源Web应用的安全测试工具汇总。Web应用安全测试可对Web应用程序执行功能测试,找到尽可能多的安全问题,大大降低黑客入侵几率。
在研究并推荐一些最佳的开源Web应用安全测试工具之前,让我们首先了解一下安全测试的定义、功用和价值。
一、安全测试的定义
安全测试可以提高信息系统中的数据安全性,防止未经批准的用户访问。在Web应用安全范畴中,成功的安全测试可以保护Web应用程序免受严重的恶意软件和其他恶意威胁的侵害,这些恶意软件和恶意威胁可能导致Web应用程序崩溃或产生意外行为。
安全测试有助于在初始阶段解决Web应用程序的各种漏洞和缺陷。此外,它还有助于测试应用程序的代码安全性。Web安全测试涵盖的主要领域是:
·认证方式
·授权书
·可用性
·保密
·一致性
·不可否认
二、安全测试的目的
全球范围内的组织和专业人员都使用安全测试来确保其Web应用程序和信息系统的安全性。实施安全测试的主要目的是:
·帮助提高产品的安全性和保质期
·在开发初期识别并修复各种安全问题
·评估当前状态下的稳定性
三、为什么我们需要重视Web安全测试
·避免性能不一致
·避免失去客户信任
·避免以安全漏洞的形式丢失重要信息
·防止身份不明的用户盗窃信息
·从意外故障中恢复
·节省解决安全问题所需的额外费用
目前市场上有很多免费、付费和开源工具可用来检查Web应用程序中的漏洞和缺陷。关于开源工具,除了免费之外,最大的优点是可以自定义它们,以符合您的特定要求。
以下,是我们推荐的十大开源安全测试列表:
1、Arachni
Arachni面向渗透测试人员和管理员的旨在识别Web应用程序中的安全问题。该开源安全测试工具能够发现许多漏洞,包括:
·无效的重定向
·本地和远程文件包含
·SQL注入
·XSS注射
主要亮点:
·即时部署
·模块化,高性能Ruby框架
·多平台支持
下载:
2、劫掠者
便携式Grabber旨在扫描小型Web应用程序,包括论坛和个人网站。轻量级的安全测试工具没有GUI界面,并且使用Python编写。Grabber发现的漏洞包括:
·备份文件验证
·跨站脚本
·文件包含
·简单的AJAX验证
·SQL注入
主要亮点:
·生成统计分析文件
·简单便携
·支持JS代码分析
下载:-
3、IronWasp
IronWasp是一种开放源代码,功能强大的扫描工具,能够发现25种以上的Web应用程序漏洞。此外,它还可以检测误报和误报。Iron
Wasp可帮助暴露各种漏洞,包括:
·身份验证失败
·跨站脚本
·CSRF
·隐藏参数
·特权提升
主要亮点:
·通过插件或模块可扩展地用C#、Python、Ruby或VB.NET编写
·基于GUI
·以HTML和RTF格式生成报告
下载:
4、Nogotofail
Nogotofail是Google开发的网络流量安全测试工具,一款轻量级的应用程序,能够检测TLS/
SSL漏洞和配置错误。Nogotofail暴露的漏洞包括:
·MiTM攻击
·SSL证书验证问题
·SSL注入
·TLS注入
主要亮点:
·易于使用
·轻巧的
·易于部署
·支持设置为路由器、代理或VPN服务器
下载:
5、SonarQube
另一个值得推荐的开源安全测试工具是SonarQube。除了公开漏洞外,它还用于衡量Web应用程序的源代码质量。尽管使用Java编写,SonarQube仍能够分析20多种编程语言。此外,它可以通过持续集成工具轻松地集成到Jenkins之类的产品中。SonarQube发现的问题以绿色或红色突出显示。前者代表低风险的漏洞和问题,而后者则代表严重的漏洞和问题。对于高级用户,可以通过命令提示符进行访问。对于那些相对较新的测试人员,有一个交互式GUI。SonarQube暴露的一些漏洞包括:
·跨站脚本
·拒绝服务(DoS)攻击
·HTTP响应拆分
·内存损坏
·SQL注入
主要亮点:
·检测棘手的问题
·DevOps集成
·设置pullrequests请求分析
·支持短期和长期代码分支的质量跟踪
·提供QualityGate
·可视化项目历史
下载:
6、SQLMap
SQLMap完全免费,可以实现网站数据库中SQL注入漏洞检测和利用过程的自动化。该安全测试工具附带一个功能强大的测试引擎,能够支持6种类型的SQL注入技术:
·基于布尔的盲注
·基于错误
·带外
·堆叠查询
·基于时间的盲注
·UNION查询
主要亮点:
·自动化查找SQL注入漏洞的过程
·也可以用于网站的安全测试
·强大的检测引擎
·支持多种数据库,包括MySQL、Oracle和PostgreSQL
下载:
7、W3af
W3af是最受Python开发者喜欢的Web应用程序安全测试框架之一。该工具覆盖Web应用程序中超过200多种类型的安全问题,包括:
·SQL盲注
·缓冲区溢出
·跨站脚本
·CSRF
·不安全的DAV配置
主要亮点:
·认证支持
·易于上手
·提供直观的GUI界面
·输出可以记录到控制台,文件或电子邮件中
下载:
8、Wapiti
Wapiti是领先的Web应用程序安全测试工具之一,它是SourceForge和devloop提供的免费的开源项目。Wapiti可执行黑盒测试,检查Web应用程序是否存在安全漏洞。由于是命令行应用程序,因此了解Wapiti使用的各种命令非常重要。Wapiti对于经验丰富的人来说易于使用,但对于新手来说却是一个的考验。但请放心,您可以在官方文档中找到所有Wapiti说明。为了检查脚本是否易受攻击,Wapiti注入了有效负载。该开源安全测试工具同时支持GET和POSTHTTP攻击方法。Wapiti暴露的漏洞包括:
·命令执行检测
·CRLF注射
·数据库注入
·档案披露
·Shellshock或Bash错误
·SSRF(服务器端请求伪造)
·可以绕开的.htaccess弱配置
·XSS注入
·XXE注入
主要亮点:
·允许通过不同的方法进行身份验证,包括Kerberos和NTLM
·带有buster模块,可以暴力破解目标Web服务器上的目录和文件名
·操作类似fuzzer
·同时支持GET和POSTHTTP方法进行攻击
下载:
9、Wfuzz
Wfuzz是用Python开发的,普遍用于暴力破解Web应用程序。该开源安全测试工具没有GUI界面,只能通过命令行使用。Wfuzz暴露的漏洞包括:
·LDAP注入
·SQL注入
·XSS注入
主要亮点:
·认证支持
·Cookiesfuzzing
·多线程
·多注入点
·支持代理和SOCK
下载:
10、Zed攻击代理(ZAP)
ZAP或ZedAttack
Proxy由OWASP(开放Web应用程序安全项目)开发,是一种跨多平台,开放源代码Web应用程序安全测试工具。ZAP用于在开发和测试阶段查找Web应用程序中的许多安全漏洞。由于其直观的GUI,新手和专家都可以轻松使用Zed
AttachProxy。安全测试工具支持高级用户的命令行访问。除了是最著名的OWASP
项目之一,ZAP还是当之无愧的Web安全测试旗舰产品。ZAP用Java编写。除了用作扫描程序外,ZAP还可以用来拦截代理以手动测试网页。ZAP暴露的漏洞包括:
·应用错误披露
·非HttpOnlyCookie标识
·缺少反CSRF令牌和安全标头
·私人IP披露
·URL重写中的会话ID
·SQL注入
·XSS注入
主要亮点:
·自动扫描
·易于使用
·多平台
·基于休息的API
·支持身份验证
·使用传统而强大的AJAX蜘蛛
下载:
以上就是小编今天为大家分享的关于开源Web应用的安全测试工具汇总的文章,希望本篇文章能够对大家有所帮助,想要了解更多Web相关知识记得关注北大青鸟Web培训官网,最后祝愿小伙伴们工作顺利。
刚接触web安全的时候,非常想找到一款集成型的渗透测试工具,找来找去,最终选择了Burp Suite,除了它功能强大之外,还有就是好用,易于上手。于是就从网上下载了一个破解版的来用,记得那时候好像是1.2版本,功能也没有现在这么强大。在使用的过程中,慢慢发现,网上系统全量的介绍BurpSuite的书籍太少了,大多是零星、片段的讲解,不成体系。后来慢慢地出现了不少介绍BurpSuite的视频,现状也变得越来越好。但每每遇到不知道的问题时,还是不得不搜寻BurpSuite的官方文档和英文网页来解决问题,也正是这些问题,慢慢让我觉得有必要整理一套全面的BurpSuite中文教程,算是为web安全界做尽自己的一份微薄之力,也才有了你们现在看到的这一系列文章。
我给这些文章取了IT行业图书比较通用的名称: 《BurpSuite实战指南》,您可以称我为中文编写者,文章中的内容主要源于BurpSuite官方文档和多位国外安全大牛的经验总结,我只是在他们的基础上,结合我的经验、理解和实践,编写成现在的中文教程。本书我也没有出版成纸质图书的计划,本着IT人互联分享的精神,放在github,做免费的电子书。于业界,算一份小小的贡献;于自己,算一次总结和锻炼。
以上,是为小记。
感谢您阅读此书,阅读过程中,如果发现错误的地方,欢迎发送邮件到 t0data@hotmail.com,感谢您的批评指正。
本书包含以下章节内容:
第一部分 Burp Suite 基础
Burp Suite 安装和环境配置
Burp Suite代理和浏览器设置
如何使用Burp Suite 代理
SSL和Proxy高级选项
如何使用Burp Target
如何使用Burp Spider
如何使用Burp Scanner
如何使用Burp Intruder
如何使用Burp Repeater
如何使用Burp Sequencer
如何使用Burp Decoder
如何使用Burp Comparer
第二部分 Burp Suite 高级
数据查找和拓展功能的使用
BurpSuite全局参数设置和使用
Burp Suite应用商店插件的使用
如何编写自己的Burp Suite插件
第三部分 Burp Suite 综合使用
使用Burp Suite测试Web Services服务
使用Burp, Sqlmap进行自动化SQL注入渗透测试
使用Burp、PhantomJS进行XSS检测
使用Burp 、Radamsa进行浏览器fuzzing
使用Burp 、Android Killer进行安卓app渗透测试
第一章 Burp Suite 安装和环境配置
Burp Suite是一个集成化的渗透测试工具,它集合了多种渗透测试组件,使我们自动化地或手工地能更好的完成对web应用的渗透测试和攻击。在渗透测试中,我们使用Burp Suite将使得测试工作变得更加容易和方便,即使在不需要娴熟的技巧的情况下,只有我们熟悉Burp Suite的使用,也使得渗透测试工作变得轻松和高效。
Burp Suite是由Java语言编写而成,而Java自身的跨平台性,使得软件的学习和使用更加方便。Burp Suite不像其他的自动化测试工具,它需要你手工的去配置一些参数,触发一些自动化流程,然后它才会开始工作。
Burp Suite可执行程序是java文件类型的jar文件,免费版的可以从免费版下载地址进行下载。免费版的BurpSuite会有许多限制,很多的高级工具无法使用,如果您想使用更多的高级功能,需要付费购买专业版。专业版与免费版的主要区别有
Burp Scanner
工作空间的保存和恢复
拓展工具,如Target Analyzer, Content Discovery和 Task Scheduler
本章主要讲述Burp Suite的基本配置,包含如下内容:
如何从命令行启动Burp Suite/br
如何设置JVM内存 大小/br
IPv6问题调试
如何从命令行启动Burp Suite
Burp Suite是一个无需安装软件,下载完成后,直接从命令行启用即可。但Burp Suite是用Java语言开发的,运行时依赖于JRE,需要提前Java可运行环境。
如果没有配置Java环境或者不知道如何配置的童鞋请参考win7电脑上的Java环境配置 配置完Java环境之后,首先验证Java配置是否正确,如果输入java -version 出现下图的结果,证明配置正确且已完成。
这时,你只要在cmd里执行java -jar /your_burpsuite_path/burpSuite.jar即可启动Burp Suite,或者,你将Burp Suite的jar放入class_path目录下,直接执行java -jar burpSuite.jar也可以启动。
==注意:your_burpsuite_path为你Burp Suite所在路径,burpSuite.jar文件名必须跟你下载的jar文件名称一致==
如何设置JVM内存 大小
如果Java可运行环境配置正确的话,当你双击burpSuite.jar即可启动软件,这时,Burp Suite自己会自动分配最大的可用内存,具体实际分配了多少内存,默认一般为64M。当我们在渗透测试过程,如果有成千上万个请求通过Burp Suite,这时就可能会导致Burp Suite因内存不足而崩溃,从而会丢失渗透测试过程中的相关数据,这是我们不希望看到的。因此,当我们启动Burp Suite时,通常会指定它使用的内存大小。 一般来说,我们通常会分配2G的内存供Burp Suite使用,如果你的电脑内存足够,可以分配4G;如果你的电脑内存足够小,你也可以分配128M。当你给Burp Suite分配足够多的内存时,它能做的工作也会更多。指定Burp Suite占用内存大小的具体配置方法是在启动脚本里添加如下命令行参数: 假设启动脚本的名称为burp_suite_start.bat,则该bat脚本的内容为
java -jar -Xmx2048M /your_burpsuite_path/burpsuite.jar
其中参数-Xmx指定JVM可用的最大内存,单位可以是M,也可以是G,如果是G为单位的话,则脚本内容为:
java -jar -Xmx2G /your_burpsuite_path/burpsuite.jar
更多关于JVM性能调优的知识请阅读 Oracle JVM Tuning
IPv6问题调试
Burp Suite是不支持IPv6地址进行数据通信的,这时在cmd控制台里就会抛出如下异常
java.net.SocketException: Permission denied
同时,浏览器访问时,也会出现异常
Burp proxy error: Permission denied: connect
当出现如上问题时,我们需要修改启动脚本,添加对IPv4的指定后,重启Burp Suite即可。
java -jar -Xmx2048M -Djava.net.preferIPv4Stack=true /your_burpsuite_path/burpsuite.jar
通过 -Djava.net.preferIPv4Stack=true参数的设置,告诉Java运行环境,使用IPv4协议栈进行数据通信,IPv6协议将会被禁止使用。 这个错误最常见于64位的windows操作系统上,使用了32位的JDK
第二章 Burp Suite代理和浏览器设置
Burp Suite代理工具是以拦截代理的方式,拦截所有通过代理的网络流量,如客户端的请求数据、服务器端的返回信息等。Burp Suite主要拦截http和https协议的流量,通过拦截,Burp Suite以中间人的方式,可以对客户端请求数据、服务端返回做各种处理,以达到安全评估测试的目的。
在日常工作中,我们最常用的web客户端就是的web浏览器,我们可以通过代理的设置,做到对web浏览器的流量拦截,并对经过Burp Suite代理的流量数据进行处理。
下面我们就分别看看IE、Firefox、Google Chrome下是如何配置Burp Suite代理的。
IE设置
当Burp Suite 启动之后,默认分配的代理地址和端口是127.0.0.1 :8080,我们可以从Burp Suite的proxy选项卡的options上查看。如图:
现在,我们通过如下步骤的设置即可完成IE通过Burp Suite 代理的相关配置。
启动IE浏览器
点击【工具】菜单,选择【Internet】选项
打开【连接】选项卡,点击【局域网设置】,进行代理设置。
在代理服务器设置的地址输入框中填写127.0.0.1,端口填写8080,点击【确定】,完成代理服务器的设置。
这时,IE的设置已经完成,你可以访问 将会看到Burp Suite的欢迎界面。
FireFox设置
与IE的设置类似,在FireFox中,我们也要进行一些参数设置,才能将FireFox浏览器的通信流量,通过BurpSuite代理进行传输。详细的步骤如下:
启动FireFox浏览器,点击【工具】菜单,点击【选项】。
在新打开的about:preferences#advanced窗口中,依次点击【高级】-【网络】,我们将会看到FireFox连接网络的设置选项。
点击【设置】,在弹出的【连接设置】对话框中,找到“http代理”,填写127.0.0.1,端口填写8080,最后点击【确认】保存参数设置,完成FireFox的代理配置。
当然,FireFox浏览器中,可以添加FireFox的扩展组件,对代理服务器进行管理。例如FireX Proxy、Proxy Swither都是很好用的组件,感兴趣的读者可以自己下载试用一下。
Google Chrome设置
Google Chrome使用Burp Suite作为代理服务器的配置步骤如下:
启动Google Chrome浏览器,在地址栏输入chrome://settings/,回车后即显示Google Chrome浏览器的配置界面
点击底部的【显示高级设置】,将显示Google Chrome浏览器的高级设置。
当然,你也可以直接在搜索框中输入“代理”,回车后将自动定位到代理服务器设置功能。
点击【更改代理服务器设置】,windows系统下将会弹出IE浏览器的代理设置,此时,按照IE浏览器的设置步骤,完成代理服务器的配置即可。
除了上述的三种常用的浏览器外,还有Safari浏览器也有不少的用户在使用,其代理配置请点击阅读进行查看。
第三章 如何使用Burp Suite代理
Burp Proxy 是Burp Suite以用户驱动测试流程功能的核心,通过代理模式,可以让我们拦截、查看、修改所有在客户端和服务端之间传输的数据。
本章主要讲述以下内容:
Burp Proxy基本使用
数据拦截与控制
可选项配置Options
历史记录History
Burp Proxy基本使用
通过上一章的学习,我们对Burp Suite代理模式和浏览器代理设置有了基本的了解。Burp Proxy的使用是一个循序渐进的过程,刚开始使用时,可能并不能很快就获取你所期望的结果,慢慢地当你熟悉了它的功能和使用方法,你就可以用它很好地对一个产品系统做安全能力评估。 一般使用Burp Proxy时,大体涉及环节如下:
首先,确认JRE已经安装好,Burp Suite可以启动并正常运行,且已经完成浏览器的代理服务器配置。
打开Proxy功能中的Intercept选项卡,确认拦截功能为“Interception is on”状态,如果显示为“Intercept is off”则点击它,打开拦截功能。
打开浏览器,输入你需要访问的URL(以为例)并回车,这时你将会看到数据流量经过Burp Proxy并暂停,直到你点击【Forward】,才会继续传输下去。如果你点击了【Drop】,则这次通过的数据将会被丢失,不再继续处理。
当我们点击【Forward】之后,我们将看到这次请求返回的所有数据。
当Burp Suite拦截的客户端和服务器交互之后,我们可以在Burp Suite的消息分析选项卡中查看这次请求的实体内容、消息头、请求参数等信息。消息分析选项视图主要包括以下四项:
Raw 这是视图主要显示web请求的raw格式,包含请求地址、http协议版本、主机头、浏览器信息、Accept可接受的内容类型、字符集、编码方式、cookie等。你可以通过手工修改这些信息,对服务器端进行渗透测试。
params 这个视图主要显示客户端请求的参数信息、包括GET或者POST请求的参数、Cookie参数。渗透人员可以通过修改这些请求参数来完成对服务器端的渗透测试。
headers 这个视图显示的信息和Raw的信息类似,只不过在这个视图中,展示得更直观、友好。
Hex 这个视图显示Raw的二进制内容,你可以通过hex编辑器对请求的内容进行修改。
默认情况下,Burp Proxy只拦截请求的消息,普通文件请求如css、js、图片是不会被拦截的,你可以修改默认的拦截选项来拦截这些静态文件,当然,你也可以通过修改拦截的作用域、参数或者服务器端返回的关键字来控制Burp Proxy的消息拦截,这些在后面的章节中我们会进一步的学习。 所有流经Burp Proxy的消息,都会在http history记录下来,我们可以通过历史选项卡,查看传输的数据内容,对交互的数据进行测试和验证。同时,对于拦截到的消息和历史消息,都可以通过右击弹出菜单,发送到Burp的其他组件,如Spider、Scanner、Repeater、Intruder、Sequencer、Decoder、Comparer、Extender,进行进一步的测试。如下图所示:
数据拦截与控制
Burp Proxy的拦截功能主要由Intercept选项卡中的Forward、Drop、Interception is on/off、Action、Comment 以及Highlight构成,它们的功能分别是: Forward的功能是当你查看过消息或者重新编辑过消息之后,点击此按钮,将发送消息至服务器端。 Drop的功能是你想丢失当前拦截的消息,不再forward到服务器端。Interception is on表示拦截功能打开,拦截所有通过Burp Proxy的请求数据;Interception is off表示拦截功能关闭,不再拦截通过Burp Proxy的所有请求数据。 Action的功能是除了将当前请求的消息传递到Spider、Scanner、Repeater、Intruder、Sequencer、Decoder、Comparer组件外,还可以做一些请求消息的修改,如改变GET或者POST请求方式、改变请求body的编码,同时也可以改变请求消息的拦截设置,如不再拦截此主机的消息、不再拦截此IP地址的消息、不再拦截此种文件类型的消息、不再拦截此目录的消息,也可以指定针对此消息拦截它的服务器端返回消息。
Comment的功能是指对拦截的消息添加备注,在一次渗透测试中,你通常会遇到一连串的请求消息,为了便于区分,在某个关键的请求消息上,你可以添加备注信息。
Highlight的功能与Comment功能有点类似,即对当前拦截的消息设置高亮,以便于其他的请求消息相区分。
除了Intercept中可以对通过Proxy的消息进行控制外,在可选项设置选项卡Options中也有很多的功能设置也可以对流经的消息进行控制和处理。
可选项配置Options
当我们打开可选项设置选项卡Options,从界面显示来看,主要包括以下几大板块(涉及https的功能不包含在本章内容里,后面会一章专门叙述):
客户端请求消息拦截
服务器端返回消息拦截
服务器返回消息修改
正则表达式配置
其他配置项
客户端请求消息拦截
客户端请求消息拦截是指拦截客户端发送到服务器端消息的相关配置选项,其界面如下:
主要包含拦截规则配置、错误消息自动修复、自动更新Content-Length消息头三个部分。
如果intercept request based on the follow rules的checkbox被选中,则拦截所有符合勾选按钮下方列表中的请求规则的消息都将被拦截,拦截时,对规则的过滤是自上而下进行的。当然,我们可以根据自己的需求,通过【Up】和【Down】按钮,调节规则所在位置和排序。同时,我们可以点击【Add】添加一条规则,也可以选中一条规则,通过点击【Edit】进行编辑、点击【Remove】进行删除。当我们点击【Add】按钮时,会弹出规则添加的输入对话框,如下图:
拦截规则添加时,共包含4个输入项。Boolean opertor表示当前的规则与其他规则是与的方式(And)还是或的方式(Or)共存;Match type表示匹配类型,此处匹配类型可以基于域名、IP地址、协议、请求方法、URL、文件类型、参数, cookies, 头部或者内容, 状态码, MIME类型, HTML页面的title等。Match relationship表示此条规则是匹配还是不匹配Match condition输入的关键字。当我们输入这些信息,点击【OK】按钮,则规则即被保存。
如果Automatically fix missing的checkbox被选中,则表示在一次消息传输中,Burp Suite会自动修复丢失或多余的新行。比如说,一条被修改过的请求消息,如果丢失了头部结束的空行,Burp Suite会自动添加上;如果一次请求的消息体中,URl编码参数中包含任何新的换行,Burp Suite将会移除。此项功能在手工修改请求消息时,为了防止错误,有很好的保护效果。
如果Automatically update Content-Length的checkbox被选中,则当请求的消息被修改后,Content-Length消息头部也会自动被修改,替换为与之相对应的值。
渗透工程师是一种利用模拟黑客攻击的方式,来评估计算机网络系统攻击步骤安全性能,评估计算机网络系统工作。
渗透工程师要熟悉一下工作:
攻击
安全性能的方法。通常的黑客攻击包括预攻击、攻击和后攻击三个阶段;预攻击阶段主要指一些信息收集和漏洞扫描的过程;攻击过程主要是利用第一阶段发现的漏洞或弱口令等脆弱性进行入侵;后攻击是指在获得攻击目标的一定权限后,对权限的提升、后面安装和痕迹清除等后续工作。与黑客的攻击相比,渗透测试仅仅进行预攻击阶段的工作,并不对系统本身造成危害,即仅仅通过一些信息搜集手段来探查系统的弱口令、漏洞等脆弱性信息。为了进行渗透测试,通常需要一些专业工具进行信息收集。渗透测试工具种类繁多,涉及广泛,按照功能和攻击目标分为网络扫描工具、通用漏洞检测、应用漏洞检测三类。
网络扫描工具
网络扫描是渗透测试的第一步,其目的在于发现目标的操作系统类型、开放端口等基本信息,为后续的扫描工作做基础。事实上,利用操作系统本身的一些命令如ping、telnet、nslookup等也可以对目标的信息进行判断,但是利用专业的工具可以给出更加全面和准确的判断。
NMap
NMap 是Linux操作系统下的一款网络连接端扫描软件,其功能主要有三个:探测一组主机是否在线;扫描主机端口是否打开;判断目标操作系统。NMap的常用扫描方式有:
》 TCP connect端口扫描:-sT参数
》 端口扫描TCP同步:-sS参数
》 端口扫描UDP:-sU参数
》 Ping扫描:-sP参数
SuperScan
SuperScan是一款功能强大的端口扫描软件,其主要功能有:
SuperScan
1) 通过Ping来检验IP是否在线;2) IP和域名相互转换;3) 检验目标计算机提供的服务类别;4) 检验一定范围目标计算机的是否在线和端口情况;5) 工具自定义列表检验目标计算机是否在线和端口情况;6) 自定义要检验的端口,并可以保存为端口列表文件;7) 软件自带一个木马端口列表trojans.lst,通过这个列表我们可以检测目标计算机是否有木马;同时,我们也可以自己定义修改这个木马端口列表.
Wireshark
Wireshark是一个网络封包分析软件,其功能是借取流经本地网卡的有数据流量进而分Wireshark
析。通常的应用包括:网络管理员用来解决网络问题、网络安全工程师用来检测安全隐患、开发人员用来测试协议执行情况、用来学习网络协议。在渗透测试中,Wireshark通常被用于嗅探局域网内的数据传输格式,探查是否存在明文传输口令、数据传输风险等。图形界面的Wireshark使用十分便捷,选取监听的网卡之后,主界面中会显示所有的数据流量。双击任意条目,则可以根据协议的层次拆分该数据流。Wireshark内置了基本的网络协议,可以方便的查询包括但不局限于IP、TCP、UDP、HTTP、FTP、SMB等常见的协议内容。
由于Wireshark借取的数据是所有流经网卡的数据,在实际应用中最重要的操作是通编写过滤器获得需要的数据流量。主界面中的Filter选项可以方便的进行过滤器的编辑,过滤包括源地址、目的地址、协议类型等配合各种逻辑运算符组成的表达式,从而根据需要快速的找到目标数据流量。
通用漏洞检测
在获取了目标主机的操作系统、开放端口等基本信息后,通常利用通用漏洞扫描工具检测目标系统所存在的漏洞和弱口令。通用漏洞主要指操作系统本身或者安装的应用软件所存在的漏洞,通常是指缓冲区漏洞,例如MS-8-67、oracle的漏洞。由于系统开启了135、139、445、1433、1521等应用程序端口,同时没有及时安装补丁,使得外来主机可以通过相应的端口发送恶意的请求从而获取不应当获得的系统权限。在实际的应用中,如果防火墙做了良好的部署,则对外界展现的端口应该受到严格控制,相应的通用漏洞危害较小。但是如果没有在边界上进行良好的访问控制,则缓冲区溢出漏洞有着极其严重的威胁,会轻易被恶意用户利用获得服务器的最高权限。
Nessus
Nessus 是一款系统漏洞扫描与分析软件,采用B/S架构的Nessus
方式安装,以网页的形式向用户展现。用户登录之后可以指定对本机或者其他可访问的服务器进行漏洞扫描。Nessus的扫描程序与漏洞库相互独立,因而可以方便的更新其漏洞库,同时提供多种插件的扩展和一种语言NASL(Nessus Attack Scripting Language)用来编写测试选项,极大的方便了漏洞数据的维护、更新。在进行扫描完成后,Nessus还可以生成详尽的用户报告,包括脆弱性、漏洞修补方法以及危害级别等,可以方便的进行后续加固工作。
X-Scan
X-Scan 是一款国产的漏洞扫描软件,完全免费,无需安装,X-Scan
由国内著名民间黑客组织“安全焦点”完成。X-Scan的功能包括:开放服务、操作系统鉴别、应用系统弱口令、IIS编码漏洞、应用漏洞检测等。
X-Scan通常被用来进行弱口令的检测,其提供的弱口令检测模块包含telnet、ftp、SQL-server、cvs、vnc、smtp、nntp、sock5、imap、pop3、rexec、NT-Server、ssh、www,采用字典攻击的方式,配合恰当的字典生成工具可以完成大部分常用应用软件的弱口令破解工作。X-Scan也提供漏洞检测脚本的加载方式,可以即时的更新扫描模块,同时也提供扫描结果报告功能。
Metasploit
Metasploit 是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。
事实上Metasploit提供的是一个通用的漏洞攻击框架,通过它可以方便的获取、开发针对漏洞的攻击。Metasploit将负载控制,编码器,无操作生成器和漏洞整合在一起,成为一种研究高危漏洞的途径,它集成了各平台上常见的溢出漏洞和流行的 shellcode ,并且不断更新。对于开发者来说,需要了解缓冲区溢出的原理、需要编写的漏洞详细情况、payload生成、注入点以及metasploit的漏洞编写规则。而对于普通的渗透测试人员,仅仅只需要安装metasploit,下载最新的漏洞库和shellcode,选择攻击目标,发送测试就可以完成漏洞检测工作。事实上,metasploit不仅提供漏洞检测,还可以进行实际的入侵工作。由于采用入侵脚本时可能对系统造成不可预估的效果,在进行渗透测试时应当仅仅使用测试功能。
Acunetix Web Vulnerability Scanner
Acunetix Web Vulnerability Scanner界面
Acunetix Web Vulnerability Scanner是一个网站及
服务器漏洞扫描软件,它包含有收费和免费两种版本。
功能介绍:
1、AcuSensor 技术
2、自动的客户端脚本分析器,允许对 Ajax 和 Web 2. 应用程序进行安全性测试。
3、业内最先进且深入的 SQL 注入和跨站脚本测试
4、高级渗透测试工具,例如 HTTP Editor 和 HTTP Fuzzer
5、可视化宏记录器帮助您轻松测试 web 表格和受密码保护的区域
6、支持含有 CAPTHCA 的页面,单个开始指令和 Two Factor(双因素)验证机制
7、丰富的报告功能,包括 VISA PCI 依从性报告
8、高速的多线程扫描器轻松检索成千上万个页面
9、智能爬行程序检测 web 服务器类型和应用程序语言
1、Acunetix 检索并分析网站,包括 flash 内容、SOAP 和 AJAX
11、端口扫描 web 服务器并对在服务器上运行的网络服务执行安全检查
Web应用漏洞检测
随着信息网络的发展,人们的信息安全意识日益提升,信息系统的安全防护措施也逐渐提高。通常在服务器的互联网边界处都会部署防火墙来隔离内外网络,仅仅将外部需要的服务器端口暴露出来。采用这种措施可以大大的提高信息系统安全等级,对于外部攻击者来说,就像关闭了所有无关的通路,仅仅留下一个必要入口。但是仍然有一类安全问题无法避免,就是web应用漏洞。目前的大多数应用都是采用B/S模式,由于服务器需要向外界提供web应用,http服务是无法关闭的。web应用漏洞就是利用这个合法的通路,采用SQL注入、跨站脚本、表单破解等应用攻击方式来获取服务器的高级权限。在目前的网络环境下,威胁最大的漏洞形式就是web应用漏洞,通常是攻击者攻陷服务器的第一步。常见的漏洞包括SQL注入、跨站脚本攻击和编码漏洞等,表单破解主要是针对服务器用户的弱口令破解。从本质上来说,应用漏洞的形成原因是程序编写时没有对用户的输入字符进行严格的过滤,造成用户可以精心构造一个恶意字符串达到自己的目的。
AppScan
AppScan 是IBM公司出的一款Web应用安全测试工具,AppScan
采用黑盒测试的方式,可以扫描常见的web应用安全漏洞。其工作原理,首先是根据起始页爬取站下所有可见的页面,同时测试常见的管理后台;获得所有页面之后利用SQL注入原理进行测试是否存在注入点以及跨站脚本攻击的可能;同时还会对cookie管理、会话周期等常见的web安全漏洞进行检测。AppScan功能十分齐全,支持登录功能并且拥有十分强大的报表。在扫描结果中,不仅能够看到扫描的漏洞,还提供了详尽的漏洞原理、修改建议、手动验证等功能。AppScan的缺点在于,作为一款商业软件,价格十分昂贵。
溯雪
溯雪是一款国产软件,主要的功能是进行表单破解。溯雪
由于目前的应用多数采用B/S模式,登录窗口也都采用表单提交的方式,使得基于传统协议的暴力破解软件没有用武之地。针对此类应用,采用溯雪等基于表单的暴力破解软件可以很好的进行弱口令扫描。
溯雪的工作原理是抽取目标网站中的表单元素,搜寻错误登录时的错误标志,然后采用字典填充其值并不断提交尝试获得正确的连接。
Pangolin
Pangolin是一款SQL注入测试工具,能够自动化的进行Pangolin
注入漏洞的检测,从检测注入开始到最后控制目标系统都给出了测试步骤,是目前国内使用率最高的SQL注入测试软件。支持的数据库包括Access、DB2、Informix、Microsoft SQL Server 2、Microsoft SQL Server 25、Microsoft SQL Server 28、Mysql、Oracle、PostgreSQL、Sqlite3、Sybase。
已有1位网友发表了看法:
访客 评论于 [2022-10-22 15:31:06] 回复
小型Web应用程序,包括论坛和个人网站。轻量级的安全测试工具没有GUI界面,并且使用Python编写。Grabber发现的漏洞包括:·备份文件验证·跨站脚本·文件包含·简单的AJAX验证·SQL注入主要亮点:·生成统计分析文件·简单便携·支持JS代码分析下载:-3