代码改变世界

【安全测试】OWASP ZAP 安全扫描

2022-04-02 11:07  码上起舞  阅读(1895)  评论(0编辑  收藏  举报

一、目的

本文主要记录在OWASP ZAP安装及使用过程中的步骤及遇到的问题。

二、owsap zap介绍

OWASP主要用于web应用的安全扫描,有windows版桌面端,也可以有linux的cmd命令行模式,还可以有API接口,供python,java等调用二次开发。

主要拥有以下重要功能:

  • 本地代理
  • 主动扫描
  • 被动扫描
  • Fuzzy
  • 暴力破解

三、owasp的下载安装

3.1 下载地址

安装包下载地址:https://www.zaproxy.org/download/

选择windows或者linux包,点击download,即可。

 

我下载的是这两个。

3.2 windows安装

windowns的安装包下载下来后,是exe的可执行程序,点击安装即可。

3.3 linux安装

linux 包下载下来后是ZAP_2.11.1_Linux.tar.gz,拷贝到linux服务器指定目录下,解压后,进入zap_2.11.1文件夹,可以看到有zap.sh脚本;

执行sh zap.sh 脚本即可启动。会默认启动GUI模式。

如果linux下没有安装桌面模式,可以执行sh zap.sh -cmd,采用cmd模式启动zap。

默认启动8080端口。

sh zap.sh -cmd -h 查看帮助文档。

四、owsap zap 在linux上的应用

4.1 目标:

启动端口改为8090

 快速扫描url

采用有效的cookie进行替换,达到登录扫描效果

将所有文件指定到文件夹中

 生成报告

scan_url=http://192.168.x.x:9999/abc
cookie="MYSESSION=abcdedfsasdfasdfsdf"
zap_dir=/root/ZAP/ZAP_2.11.1
build_dir=/root/mydir

sh $zap_dir/zap.sh -cmd\

-port 8090 \

-quickurl $scan_url \

-quickout $build_dir/zap_report.html \

-dir $build_dir \

-config replacer.full_list\(0\).replacement=$cookie \

-quickprogress

 说明:

-quickout $build_dir/zap_report.html :生成zap_report.html的报告,也可以生成xml报告

-config replacer.full_list\(0\).replacement=$cookie :替换config.xml中cookie的值,有两种方式配置config,参见4.2 config.xml 配置

-quickprogress 显示扫描进度

4.2 config.xml 配置

在windows的ZAP GUI修改替换配置,可以直接在工具-选项-替换-Add中配置对应的key-value,即可。在工作目录C:\Users\admin\OWASP ZAP\config.xml中会自动更新最新的配置。

第一种修改配置:

直接修改zap.sh同级目录中的xml文件夹中的config.xml,将replacer的配置手动写入到config.xml中;

具体的内容及格式,可以先在GUI模式下修改好后,再查看GUI模式下的config.xml文件,再 将对应的配置拷贝到linux下的config.xml文件中。

第二种配置:

可以采用-config 的参数动态写入动态修改里面的值。

参考链接https://www.zaproxy.org/faq/how-do-you-find-out-what-key-to-use-to-set-a-config-value-on-the-command-line/

-config replacer.full_list\(0\).description=替换cookie \
-config replacer.full_list\(0\).enabled=true \
-config replacer.full_list\(0\).matchtype=REQ_HEADER \
-config replacer.full_list\(0\).matchstr=Cookie \
-config replacer.full_list\(0\).regex=false \
-config replacer.full_list\(0\).replacement="MYSESSION=abcdedfsasdfasdfsdf" \
-config replacer.full_list\(1\).description=其他替换 \
-config replacer.full_list\(1\).enabled=true \
-config replacer.full_list\(1\).matchtype=REQ_HEADER \
-config replacer.full_list\(1\).matchstr=AnotherHeader \
-config replacer.full_list\(1\).regex=false \
-config replacer.full_list\(1\).replacement=BLAHBLAH

4.3 查看报告

将quickout生成的html文件,用浏览器打开,即可查看报告

五.Troubshooting

5.1 windows下ZAP无法启动google浏览器

原因:google浏览器版本和ZAP安装的浏览器驱动版本不匹配导致

解决方法:

可以更新google浏览器版本,也可以更新浏览器驱动版本

我们采用更新浏览器驱动版本来解决问题。

1.查看浏览器版本号=65.0

2.查找改版本对应的驱动2.38

3.下载驱动,下载地址http://chromedriver.storage.googleapis.com/index.html

4.将驱动放到ZAP的selenium文件夹中。这个目录可以在ZAP的工具-选项-配置-selenium中可以查到。一般是C:\Users\admin\OWASP ZAP\webdriver\windows\64

5.重启ZAP即可

 

-----------------------------

越努力越幸运

积极主动高效

-----------------------------