skipfish
C语言编写,谷歌开发的一款工具。
实验性的主动web安全评估工具。
重点关注的是web代码。
基于字典对目录探测。
优点:
速度较快:使用多路单线程,全异步网络I/O,消除内存管理和调度开销;启发式自动内容识别。
误报较低
参数
skipfish -o 目录 http://1.1.1.1 #-o:扫描结果存放到目录下
skipfish -o test @url.txt #url.txt里存放你要扫描的多个文件目标,通过命令一次性调用
skipfish -o test -S complet.wl -W a.wl http://1.1.1.1 #-S :指定字典,可以使用dpkg -L skipfish|grep wl查询默认集成的字典,通过字典去爬目标站点下的目录;-W:在爬的过程中,把网站特有的字符、名称写到a.wl,供后续进一步渗透测试分析该文件内容
skipfish -o test -I /dvwa/ http://10.0.0.141/dvwa/
-I :只检查包含“string”的url
-X : 不检查包含“string”的url
-K : 不对指定参数进行fuzz测试
-D :跨站点爬另一个域
-l :每秒最大请求数
-m : 每个IP最大并发连接数
#后两个参数可以影响到扫描速度
--config : 指定配置文件
身份认证
方法一
skipfish -A user:pass -o test http://1.1.1.1
skipfish -C "name=val" -o test http://1.1.1.1
1.登录DVWA网站,查看cookie
2.构建扫描命令
skipfish -o test -C "PHPSESSID=586b1d0adc15e366bdf7de2acb5aec99" -C "security=high" -I http://10.0.0.141/dvwa/
方法二
通过提交表单的方式把身份认证信息提交给webapplication,因为有的webapplication使用-C的方式不能完成扫描。
--auth-form <URL> #表单所位于的url地址,可能还需要指定--auth-form-target去指定提交给的目标,即表单的起始位置
--auth-user <username> #要提交的用户名,需使用--auth-user-field去指定表单中对应的属性名
--auth-pass <password> #要提交的密码,需使用--auth-pass-field去指定表单中对应的属性名
--auth-verify-url <URL> #认证成功之后看到的页面,即验证一下已经成功完成身份认证,已经看到认证之后才能看到的页面
skipfish -o a --auth-form http://10.0.0.141/dvwa/login.php --auth-form-target http://10.0.0.141/dvwa/login.php --auth-user-field username --auth-user admin --auth-pass-field password --auth-pass password -auth-verify-url http://10.0.0.141/dvwa/index.php -I /dvwa/ http://10.0.0.141/