OWASP_ZAP

545 阅读4分钟

全面:Zed attack proxy WEB Application 集成渗透测试和漏洞挖掘工具。 开源免费跨平台简单易用,支持截断代理,Fuzzy、暴力破解和API。 慎用疯狂模式,今天我靶机数据库都扫瘫了。

截断代理模式:手动爬网,被动扫描分析。

- 在开启owasp_zap后自动侦听8080端口。
- 设置浏览器代理。
- 在设置好代理后,每次访问web时都会被zap记录下来。

主动扫描一:(当我们使用了截断代理后,自动扫描可以通过身份认证)

- 在快速开始中,点击Automated Scan(自动化扫描)
- URL to attack: 中输入需要攻击的URL地址。
- Use traditional spider: 使用传统爬虫 勾选
- 或者是使用ajax 爬虫,如果需要选中ajax爬虫就需要选中使用什么头去请求探测。
- 攻击或者停止

根据手动爬网结果进行扫描:

- 当设置截断代理后,对站点进行手动爬网点击每一个页面,提交东西后。
- 在站点栏中选择手动爬网的站点后,右键进行攻击,选择对应的策略进行扫描。
- 缺点不会扫描其他的页面只会扫描我们爬网的页面。

Fuzzy(大功能)

- 工具-> Fuzzy
- 或者在站点下选择请求-> 对链接地址进行选择->Fuzzy->然后设置攻击载荷。
- 例子:Fuzzy匹配后门检测:

1.选择页面,选择请求头对需要Fuzzy替换的内容选中。

2. 进入Fuzzy功能
3. 设置攻击载荷。
4. 添加文件类型攻击载荷。
5. 选择后门文件Fuzzy发现。
6. 添加点击start即会自动替换选择的值,进行Fuzzy匹配。 - Fuzzy里有File Fuzzers 可以去进行多种发现。 DOM 类型的xss 、数据库的、目标的、jbrofuzz。

进行SQL注入性的Fuzzy

可以通过返回的Code看到所有的的返回码均是200,那么所有的注入成功

暴力破解

Mode 扫描模式:

- Safe 安全扫描             不会做破坏性操作
- Protected 保护模式     指定性扫描
- Standard 标准模式      标准扫描,有可能会对目标站点有部分破坏性
- Attack 攻击模式           最大性扫描攻击模式

Scan Policy 扫描策略

Anti CSRF Tokens: 每次访问下发由伪随机数生成的Token,用于安全防护。

 - 如果每次访问页面时,服务器都会下发随机的Anti CSRF Token的话可以在选项中Anti-CSRF Tokins中指定添加。

HTTPS站点扫描:

 - 通过owasp_zap代理的方式去转发流量,可以通过安装owasp_zap的证书来实现对HTTPS站点的扫描。Dynamic SSL Certficates。
     - Dynamic SSL Certficates -> 保存 -> 浏览器 -> 导入浏览器。

Scope:

 - 设定Contexts: 精确扫描范围  右键站点下的扫描站点 -> inclued in context new context

身份认证:

 - Session Properties:
     - 针对每个Context 提供不同的Session Properties
         - **Mannual Authentication : 手工身份认证推荐** (通过浏览器设置代理指向owasp,然后通过浏览器访问手动提交表单进行身份认证信息之后,web站点返回session,owasp_zap记录客户端向服务器发起的请求,然后由服务器返回的Session。这个时候owasp_zap会记录下session,扫描时使用这个session。)
         - **Form-based Authentication:基于表单的身份认证** ,Login Form URL通过指定目标登录页面的表单URL(注意选择POST提交标记的),通过GET请求的登录页面的URL与(自动填写),后面的会自动填写的,username 和 password 需要手工选择POST提交中的内容。
         - HTTP、NTLM 身份认证方式
         - 基于脚本身份认证方式:手动编写脚本
         - 基于JSON类型的身份认证:
         - **HTTP Sessiont头设置:**:options -> HTTP Sessions:指定HTTP 头中Session字段标示。
         - 在下方视窗中显示HTTP Sessions 的状态栏: 查看 --> show tab --> HTTP Session

默认可识别标示,如果不能被识别的表示需要额外添加:

语言 字段
asp asp.net_sessionid
asp aspsessionid
php phpsessid
sessid
sid
siteserver
viewstate
zenid
cfid
cftoken
jsessionid
   - 基于多用户Session的安全审计: 在视窗设定中显示HTTP Session后,右键Session设置为激活状态/ 或者添加到某个context中。
   - 显示隐藏域 拦截功能旁边小灯泡。

基本扫描步骤:

        - 启动owasp_zap,设置浏览器代理。
        - 用代理后的浏览器去访问各个页面进行手动爬网。
        - 然后选择站点设置为新的Context用于精确扫描目标。
        - 对新加入的Context**设定新的扫描策略**(分析->扫描策略慎用疯狂模式!!!)
        - 对设置的COntext设置其扫描,双击新的COntexts进行准确设定。
        - 然后对新加入的Context进行自动爬网(对Context右键爬网)。
        - 是否使用Fuzzy。
        - 对Contexts新项目进行快速扫描,一定要选择好扫描策略,不要直接使用疯狂模式去扫线上项目。
        - 在主动扫描视图中查看各个漏洞的扫描进度。
        - 在警报中查看扫到的问题。
        - 在报告中生成报告。