Web扫描之Skipfish详解实践

简介:
Skipfish,谷歌创建的Web应用程序安全扫描程序,是一种活跃的Web应用程序安全侦察工具。它通过执行递归爬网和基于字典的探针为目标站点准备交互式站点地图。然后使用许多活动(但希望无中断)安全检查的输出对结果映射进行注释。该工具生成的最终报告旨在作为专业Web应用程序安全评估的基础。

主要特征:

高速:纯C代码,高度优化的HTTP处理,最小的CPU占用空间 - 通过响应式目标轻松实现每秒2000个请求。

易于使用:启发式支持各种古怪的Web框架和混合技术站点,具有自动学习功能,动态词表创建和表单自动完成。

尖端的安全逻辑:高质量,低误报,差异安全检查,能够发现一系列微妙的缺陷,包括盲注射矢量。

该工具被认为支持Linux,FreeBSD,MacOS X和Windows(Cygwin)环境。

实验环境:kali:192.168.128.128/24
Metasploitable:192.168.128.129/24

开始实验:
Skipfish扫描

#参数-o表示将其扫描结果输出到某个目录内,该目录必须为空目录
#如果目录不存在系统则会创建目录,然后开始扫描
1,root@kali:~# skipfish -o test1 http://192.168.128.129
#在扫描中输入空格可以查看详细信息,再次敲空格则返回扫描状态
#Issues found : 41 info, 1 warn, 12 low, 4 medium, 0 high impact
#在这条提示信息下可以得知该Web服务器的高危漏洞,低微漏洞等个数
#扫描结束后,系统会提示将扫描结果保存在该所指定的目录下的某个文件内
如:[+] Report saved to 'test1/index.html' [0x733a6edf].

找到test1/index.html文件双击打开Web扫描之Skipfish详解实践_第1张图片
点击链接,可以查看漏洞具体信息

#扫描多个目标,该命令表示扫描url.txt文件中的url,
#并且将扫描结果存放在test3文件内
root@kali:~# skipfish -o test3  @url.txt

#使用skipfish中的字典枚举发现目标服务器隐藏文件
#skipfish的字典默认以wl结尾
root@kali:~# dpkg -L skipfish | grep wl #查找其字典文件
/usr/share/skipfish/dictionaries/medium.wl #中型字典
/usr/share/skipfish/dictionaries/minimal.wl #小型字典
/usr/share/skipfish/dictionaries/extensions-only.wl #扩展字典
/usr/share/skipfish/dictionaries/complete.wl #完整型字典

#参数-o表示将扫描的内容存储到该参数后面的文件内
#参数-I表示匹配URL中某个字符串进行扫描,在本例中即扫描/dvwa目录
#参数-S表示指定文件列表,后面跟字典表示用字典去扫描目标的隐藏文件
root@kali:~# skipfish -o test6 -I /dvwa -S /usr/share/skipfish/dictionaries/minimal.wl  http://192.168.128.129/dvwa

#参数-X:表示不检查包含某个字符串的URL
#参数-K:表示不对制定的参数进行Fuzz测试
#参数-D:表示跨站点爬另一个域,
如下面命令表示去扫描192.168.128.129网站的内容,如果有xxx.com这个域的链接,那么也会去扫xxx.com这个域的信息
root@kali:~# skipfish -o test7  -D xxx.com -I /dvwa -S /usr/share/skipfish/dictionaries/minimal.wl  http://192.168.128.129/dvwa

参数-l:每秒最大的请求数下面的例子表示每秒最大请求20次,实际上比20次多一些
root@kali:~# skipfish -o test8  -l 20  -S /usr/share/skipfish/dictionaries/minimal.wl  http://192.168.128.129/dvwa 

参数-m:表示每个ip最大并发连接数
root@kali:~# skipfish -o test9  -m 20  -S /usr/share/skipfish/dictionaries/minimal.wl  http://192.168.128.129/dvwa 

可以在其配置文件内将需要的参数配置好,然后输命令的时候加上参数--config指定配置文件即可

**Skipfish身份认证**
参数-A 用户名:密码:表示使用特定的http验证
root@kali:~#  skipfish -o test11 -I /dvwa -A admin:password  http://192.168.128.129/dvwa

#参数-C后面接cookie
#参数-X表示不扫描制定的字符串的内容,此例表示不扫描logout.php页面(一旦扫描logout.php便会退出,故不扫描)
root@kali:~#  skipfish -o test10 -I /dvwa -X logout.php -C "PHPSESSID=6f155b6b28fa5b88721ad9e5cbd3f08" -C "security=low"  http://192.168.128.129/dvwa 

#通过表单提交用户名密码
#参数--auth-form表示登陆账户名密码的界面
#参数--auth-user 后面指定用户名
#参数--auth-pass 后面指定密码
#参数--auth-verify-url 后面指定登陆成功后的界面(即判断是否登陆成功)
root@kali:~# skipfish -o test12 --auth-form http://192.168.128.129/dvwa/login.php --auth-user admin --auth-pass password --auth-verify-url http://192.168.128.129/dvwa/index.php -I /dvwa   http://192.168.128.129/dvwa

你可能感兴趣的:(kali,web安全)