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