测试阶段信息收集完成后,需扫描目标站点可能存在的漏洞,包括SQL注入漏洞、跨站脚本漏洞、文件上传漏洞、文件包含漏洞及命令执行漏洞等,然后通过这些已知的漏洞,寻找目标站点存在攻击的入口。
Web安全漏洞扫描技术是一种用于检测Web应用中潜在的漏洞或者安全风险的自动化测试技术,用于检测Web应用程序中可能存在的漏洞,例如:代码注入、代码泄漏、跨站脚本、跨站请求伪造、会话劫持、文件传输等。
介绍几款常用的WEB应用漏洞扫描工具。
一、AWVS
Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。在漏洞扫描实战过程中,一般会首选AWVS,因为这个能扫描出来的漏洞很多,而且使用比较简单。
点评:强大的漏洞扫描器,漏洞库大而全,可以说市面上最出色的漏洞扫描器
官方网站:https://www.acunetix.com/
AWVS扫描器使用说明文档:https://www.wangan.com/docs/acunetixweb
二、APPScan
IBM AppScan是一款非常好用且功能强大的Web 应用安全测试工具,曾以 Watchfire AppScan 的名称享誉业界,Rational AppScan 可自动化 Web 应用的安全漏洞评估工作,能扫描和检测所有常见的 Web 应用安全漏洞,例如 SQL 注入(SQL-injection)、跨站点脚本攻击(cross-site scripting)、缓冲区溢出(buffer overflow)及最新的 Flash/Flex 应用及 Web 2.0 应用曝露等方面安全漏洞的扫描。
点评:AppScan 好处在于误报是最少的,相比WVS扫描更慢,建议配合使用
官方网站:https://www.hcltechsw.com/products/appscan
详细使用说明文档:https://www.wangan.com/docs/hcl1001
三、Nikto
Nikto是一款开源的Web服务器扫描程序,它可以对Web服务器的多种项目(包括3500个潜在的危险文件/CGI,以及超过900个服务器版本,还有250多个服务器上的版本特定问题)进行全面的测试。Nikto可以在短时间内扫描服务器的多个端口,Nikto因其效率和服务器强化功能而受到青睐。
Nikto扫描器
点评:Nikto作为开源的漏洞扫描器,基于Whisker/libwhisker完成其底层功能。这是一款非常棒的工具,但其软件本身并不经常更新,最新和最危险的可能检测不到。
Github地址:https://github.com/sullo/nikto
详细使用说明文档:https://www.wangan.com/docs/nikto2
四、OpenVAS
OpenVAS(开放式漏洞评估系统)是一个客户端/服务器架构,它常用来评估目标主机上的漏洞。OpenVAS是Nessus开始收费后,独立出来的一个开源的扫描器,OpenVAS默认安装在标准的Kali Linux上。
点评:OpenVAS具有强大的系统和设备扫描器,缺点是扫描速度慢,占用磁盘空间较大。
官方网站:https://www.openvas.org/
详细使用说明文档:https://www.wangan.com/docs/openvas
五、Xray
Xray是一款功能强大的安全评估工具,检测速度快(发包速度快,漏洞检测算法高效);支持范围广(大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC,均可以支持);编写代码的人员素质高, 通过 Code Review、单元测试、集成测试等多层验证来提高代码可靠性。
Xray支持的漏洞检测类型包括XSS漏洞检测 (key: xss)、SQL 注入检测 (key: sqldet)、命令/代码注入检测 (key: cmd-injection)、目录枚举 (key: dirscan)、路径穿越检测 (key: path-traversal)、XML 实体注入检测 (key: xxe)、文件上传检测 (key: upload)、弱口令检测 (key: brute-force)、jsonp 检测 (key: jsonp)、ssrf 检测 (key: ssrf)、基线检查 (key: baseline)、任意跳转检测 (key: redirect)、CRLF 注入 (key: crlf-injection)、Struts2 系列漏洞检测 (高级版key: struts)、Thinkphp系列漏洞检测 (高级版key: thinkphp)、POC 框架 (key: phantasm)。
点评:Xray是一款基于Go语言开发的漏洞扫描器,支持导入poc扫描,不过团队对poc的质量要求很高,导致现在poc数量比较少
官方网站:https://xray.cool/
详细使用说明文档:https://docs.xray.cool/#/tutorial/introduce
六、OWASP ZAP (Zed Attack Proxy)
Github地址:https://github.com/zaproxy/zaproxy
Zed Attack Proxy(ZAP)是最流行的开源Web应用程序安全测试工具之一。它由OWASP开发,旨在在开发和测试应用程序时自动检测Web应用程序中的安全漏洞。
ZAP输出的报告非常直观,能够给出明确的漏洞指示,便于深入地收集更多的信息。另外,它还允许开发人员/质量工程师在CI/CD管道中自动执行应用程序安全回归测试。
七、W3af
Web应用程序审计框架
官网地址:https://w3af.org/
GitHub地址:https://github.com/andresriancho/w3af
W3af是一个强大的开源Web应用程序攻击和审计框架。它作为Web应用程序的渗透测试平台,目的是识别包括SQL注入、跨站脚本等200多种Web应用程序漏洞。另外,W3af使用Python开发,工具带有图形和控制台界面,易用性较好。
八、Arachni
Github地址:https://github.com/Arachni/arachni
Arachni是一个用于现代Web应用程序的高性能开源工具。它能够识别各种各样的安全问题,如:SQL注入、XSS、本地文件包含、远程文件包含、未经验证的重定向等。
九、Skipfish
源码地址:https://code.google.com/archive/p/skipfish/source
下载地址:https://code.google.com/archive/p/skipfish/downloads
Skipfish是一个Google的开源Web安全扫描工具。它通过抓取网站,并检查每个页面的各种安全威胁,之后编写最终报告。
这个工具是用C开发的。针对HTTP处理和CPU最小化进行了高度优化。它声称它每秒可以轻松地处理2000个请求,而不会增加CPU的负载。
此工具支持Linux、FreeBSD、MacOS X和Windows系统。
十、SQLMap
Github地址:https://github.com/sqlmapproject/sqlmap
SQLMap是一个流行的开源网站渗透测试工具。它可以自动查找网站数据库中的SQL注入漏洞。具有强大的检测引擎和许多有用的功能。
它支持一系列数据库服务器,包括MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、MySQL和SAP MaxDB等。它完全支持六种SQL注入技术,包括:基于时间的盲测、基于布尔的盲测、基于错误、UNION查询、堆栈查询、带外数据等。
十一、Wfuzz
Github地址:https://github.com/xmendez/wfuzz
Wfuzz是一个用于Web应用程序渗透测试的免费开源工具。可以用于执行GET和POST带参数的暴力测试,以检测各种注入,如:SQL、XSS、LDAP等。它支持cookie fuzzing、多线程、SOCK、代理、身份验证、参数暴力测试、多个代理等Web环境。缺点是此工具不提供GUI界面,必须使用命令行界面。