- 侦察:收集信息,比如使用的技术,支持应用程序的基础设施,软件配置,负载平衡等。这个阶段也称为指纹识别。
- 映射:构建应用程序页面和功能的映射或图表。目标是确定组件及其关系。此时需要使用爬虫技术,并通过执行暴力攻击来发现非关联资源。
- 漏洞:漏洞发现。
- 利用:利用漏洞,尝试进入其内部网络段。
- 报告
形式有灰盒、白盒、黑盒。黑盒没有关于目标的任何信息。白盒测试时客户向我们提供文档,源代码和
配置,灰盒子介于两者之间,客户提供的资料未必完整。
重要的内容:
- 配置和部署管理测试
- 身份管理测试
- 认证测试
- 授权测试
- 会话管理测试
- 输入验证
- 测试错误处理
- 加密
- 业务逻辑测试
- 客户端测试
那么,为什么要建立自己的工具呢? Web应用程序使用多种技术,组合,流程和实现。没有工具可以涵盖所有场景。
典型的Web应用工具包
- HTTP代理
最重要的工具是HTTP代理。它允许您拦截浏览器和服务器之间的双向所有通信,即man-in-the-middle代理。它让我们了解应用程序的工作原理,允许拦截请求,响应和修改。
通常,代理将与浏览器在同一机器。安全专业人员使用最多的HTTP代理来自PortSwigger安全的Burp Suite和Zed攻击代理ZAP。
命令行代理MITM(python)很适合构建工具或自动化某些场景。
- 爬虫和蜘蛛
爬虫和蜘蛛用于映射Web应用程序,自动执行分类。该工具会自动抓取应用的所有链接,提交表单,分析
新内容的回复。
独立的爬虫和蜘蛛,如Scrapy(python); 命令行工具如httrack。爬虫和代理可以更好的结合:比如传统的抓取工具不会解释JS,但浏览器会解释。所以代理将看到它并将其添加到爬虫目录。
- 漏洞扫描程序
最常用的开放源Web应用程序安全扫描程序是w3af(python),Arachni(ruby)。
商业的,如Acunetix性价比比较高。
- 暴力资源定位器
用于通过字典攻击查找文件、目录、servlet和参数等内容,,servlet或的参数。这些工具使用的单词列表为安全专业人员近10年的累积,其中包含不同的产品或Web应用程序的文件名目录或单词。
先驱工具是DIRB,仍由Dark Raver提供和维护。另一个很好的选择
是Wfuzz。
Burp和ZAP等工具提供了这些功能。所有工具受益于单词列表,比如FUZZDB提供的(https://github.com/fuzzdb-project)。
哈希,Base 64,MD5,SHA1和Unicode等。
利用漏洞工具:如SQL注入器如SQL map,XSS控制台如Beef来演示XSS和DOM XSS,Dominator等扫描工具等等。
其他工具,比如控制服务器,上传文件,Shell,代理内容到内部网络,并在内部扩展您的攻击。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
[外链图片转存中…(img-TmHYTdPH-1719272480628)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!