OWASP_ZAP是一款web应用程序集成渗透测试和漏洞工具,同样是免费开源跨平台的。
OWASP_ZPA支持截断代理,主动、被动扫描,Fuzzy,暴力破解并且提供 API。
OWASP_ZPA是Kali Web Top 10 其中之一。
OWASP_ZAP扫描器不同于之前介绍的Web扫描器,它是一个更完善,集成更多功能的Web扫描器,开源免费跨平台,相比于将要在后边介绍的一个伟大工具Burpsquite,它会稍显复杂。
OWASP_ZAP的重要性:渗透测试从业者不可忽视的重要的工具。
注意:此篇文章主要是讲OWASP_ZAP实战,其它方面可能讲得不是很详细,有想了解其它功能的,具体可以参考:OWASP ZAP下载、安装、使用(详解)教程
测试场景:渗透扫描DVWA
Kali linix虚拟机器IP:192.168.163.132
Metasploitable2靶机IP:192.168.163.129
OWASP_ZAP是Kali linux自带的,不像之前介绍的Arachni,需要自己再下载。
打开后接受协议,第一次进入,需要选择Session会话配置:
推荐选择第二个选项,这样每一次进入就不会是一个全新的会话,而是会加载之前的。
接下来就可以正式开始了:
可以先更新插件和版本,点击上方工具栏里面的manage add-ons
一旦启动了OWASP_ZAP,默认就会启动代理,这时候就需要到浏览器设置(截断代理):代理8080
我这里用了FireFox里面的插件AutoProxy,当然用其他的也无所谓:
这时候,我们用浏览器去访问任何的网站,信息都会被记录到OWASP_ZAP中:
比如,我输入了DVWA的账号和密码登陆:就可以在OWASP_ZAP看到用户密码;
设置截断:只需要按下上边这个小红点即可截断流量,进行分析处理;
OK,接下来就看看OWASP_ZAP详细的使用方法。
一、OWASP_ZAP 主动扫描
简单的开始
注意:这里如果没有身份认证的话,只能扫描很少的一部分,所以可以考虑先进行表单身份认证;
当然也可以“站点 --> 右键 --> Attack(攻击)--> Active Scan(主动扫描)“:
注意:
这里有一个默认扫描策略,我们也可以自己设置扫描策略,在工具栏中选择策略配置即可!
至于配置方式,针对不同的扫描可以进行不同的配置,这里不再多说!
二、WASP_ZAP Fuzz(模糊测试):
方式:菜单栏”工具 --> Fuzz“、或者请求页面选定字符串,右键Fuzz;
示例:我FUZZer一个login.php;
1、首先是选中login,然后点击Add;
2、接下来就是选择Payload:可以自己写字符串来代替
也可以指定一个字典文本文件:方法一致,选中一个文件即可!
甚至可以写脚本和正则表达式;
值得注意的是:File Fuzzer选项:使用OWSAP_ZAP自带的字典;
如果我们要做目录发现,就可以选中这里的dirbuster;
3、上边我Fuzzer的是Get请求,其实也可以用POST请求暴力破解密码:
既然对POST请求可以Fuzzer,那么,就可以用来尝试SQL注入漏洞扫描;
点击OK,就可以在下边一栏看到Fuzzer的过程;
如何查看Fuzzer结果呢?
数量少的话,直接肉眼看,数量很大的情况下,我们可以点击字段名,进行排序,从而简单地就可以看出结果;
然而,这两种方式都无法区分的时候,比如302重定向,只能靠自己的经验进行判断了(比如ctrl+F来搜索)
三、OWASP_ZAP的API
程序猿可以调用OWASP_ZAP的API来实现定制化编程:
在浏览器设置完成代理的情况下:
我们可以访问http://zap/
查看API文档的说明:这里就不多介绍了,有实力的程序猿可以试试开发自己的扫描器
四、OWASP_ZAP的扫描模式
扫描模式分为四种:安全模式,受保护模式,标准模式,攻击模式
可以发现漏洞的数量来看:安全模式最少,攻击模式最多
我们可以在最左上角来设置扫描模式:
如何来选择?
记住,不要随便去扫描别人,否则容易扫崩一些脆弱服务,针对不同情况可采用不同模式。
五、OWASP_ZAP的Anti CSRF Token
有些安全方面做得好的网站会设置CSRF令牌,限制每一次访问,都需要有CSRF令牌,这种情况怎么处理呢?只需要在设置中添加需要的头名字即可!
依次菜单栏选择“工具 --> 选项 --> Anti CSRF Token";
六、OWASP_ZAP扫描Https
扫描Https网站注意事项:代理模式使用浏览器打开百度时候,会证书报错,解决方案如下:
1、设置页面导出证书:
依次菜单栏选择“工具 --> 选项 --> Dynamic SSL Certiflcates";
2、接下来就是用FireFox来导入这个证书:
3、导入证书之后,就可以访问到Https网站而不报错了!
六、OWASP_ZAP身份认证
1、首先需要先定义Context,右键目标页面或者目录,New Context:
2、双击新建的Context,然后再打开Session Properties:在这里进行配置
这里默认配置的是我们通常使用的:只要手动登陆网站,记录下Cookie供后续使用;
当然也可以进行其它的身份认证:
七、OWASP_ZAP Cookie中自定义Session处理
有些安全做得好的网站,会给Cookie中的session定义莫名其妙的名字;
OWASP_ZAP可以设置这些自定义的Session:
例如:DVWA里的session有security这个名字,可以在这里Add
依次菜单栏选择“工具 --> 选项 --> HTTP Session";
现在可以去菜单栏依次选择“查看 --> Tab --> Http Session"就可以看到了:
这里如果有多个Session,有什么用途呢?
有很大用途:比如我可以右键set active,从而实现多个用户登陆访问
这里可以很方便实现多用户切换,避免了多次复制粘贴;
八、OWASP_ZAP编码/解码/哈希
最后不得不提其中的一些小而有用的工具:比如编码解码:在工具栏中可以找到
也可以依次菜单栏选择“工具 --> 编码/解码/哈希 "来打开;