Fuzz-漏洞挖掘利器
Fuzz-漏洞挖掘利器
0x00 什么模糊测试
模糊测试(fuzz testing)是一种介于完全的手工渗透测试与完全的自动化测试之间的安全性测试类型。能够在一项产品投入市场使用之前对潜在的应当被堵塞的攻击渠道进行提示。
模糊测试(fuzz testing)和渗透测试(penetration test)都是属于安全测试的方法,它们有同也有异,渗透测试一般是模拟黑客恶意入侵的方式对产品进行测试,对测试者的执行力要求很高,成本高,难以被大规模应用。而模糊测试,它能够充分利用机器本身,随机生成和发送数据;与此同时,又能够引进业内安全专家在安全性方面的建议。模糊测试其数据具有不确定性,也没有明显的针对性,简单来说就是没有逻辑,没有常理。只要将准备好的那些杂乱的程序插入其中,然后等待bug的出现,而出现的漏洞是测试员们先前无法预知的。
0x01 Web渗透中常规FUZZ相关的手段
- 目录扫描
- 口令枚举
- 爬虫
- ….
0x02 ByPass的原理
在这里我们构建一个概念模型:
Bypass就是寻找大于深绿区域的那块黑色内容
没有绝对安全的系统,当然防护是一样
通常情况下,我们的目的都是发送一些攻击且能够快速有效验证漏洞payload,但是这些常用的payload都被WAF加入了规则库中,如果遇到了规则库中存在的payload,WAF就要出来搞事情了,它会记录你的攻击数据,并且将到达Web服务器之前的数据给丢弃。如此一来,我们无法进行进一步的测试了
0x02 FuzzDB
FuzzDB是为了通过动态应用程序安全性测试来增加引起和识别安全感兴趣条件的可能性。
这是第一个也是最全面的故障注入模式的开放字典,可预测的资源位置,以及匹配服务器响应的正则表达式。
该数据库收集了大量已知的攻击模式,如XSS,Xpath注入,SQL注入,XML攻击,本地文件包含,路径遍历,远程文件包含,ldap攻击,格式化字符串,http协议攻击等
0x03 FUZZDB项目
- OWASP Zap Proxy fuzzdb plugin https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
- SecLists https://github.com/danielmiessler/SecLists
- TrustedSec Pentesters Framework https://github.com/trustedsec/ptf
- Rapid7 Metasploit https://github.com/rapid7/metasploit-framework
- Portswigger Burp Suite http://portswigger.net
- Protofuzz https://github.com/trailofbits/protofuzz
- BlackArch Linux https://www.blackarch.org/
- ArchStrike Linux https://archstrike.org/