02 自动扫描工具:Wapiti

Wapiti 是一个基于命令行单Web漏洞扫描器,通过给目标站点发送 GET 和 POST 请求查找如下漏洞: (http://wapiti.sourceforge.net/):

  • File disclosure
  • 数据库注入
  • XSS (跨站脚本)
  • Command execution detection
  • CRLF injection
  • XXE (XML eXternal Entity) injection
  • Use of known potentially dangerous files
  • Weak .htaccess configurations that can be bypassed
  • 包含敏感信息的备份文件 (source code disclosure)

这篇文字,讨论如何利用 Wapiti 进行测试应用漏洞单发现和扫描报告的生成

实践

  1. 命令行调用 Wapiti:
wapiti http://192.168.150.143/peruggia/ -o wapiti_result -f html -m "-blindsql"

这个扫描需要连接google,因此,在中国的话,需要配置代理才可以正常使用。
这个命令执行后悔扫描靶机的Peruggia应用,保存HTML格式的输出结果到wapiti_result目录,并跳过SQL盲注测试。

  1. 打开报告目录, 浏览器查看文件 index.html,内容如下:
    02 自动扫描工具:Wapiti_第1张图片
    扫描结果

    如图,报告显示,发现了12个 cross-site scripting (XSS) 漏洞 以及 20个** file handling **漏洞
  2. 点击 Cross Site Scripting
  3. 选中一个漏洞,点击 HTTP Request,这里我们选第二个,拷贝请求的URL:
    02 自动扫描工具:Wapiti_第2张图片
    Paste_Image.png
  4. 粘贴URL到浏览器:
    http://192.168.150.143/peruggia/index.php?action=comment&pic_id=%3E%3C%2Fform%3E%3Cscript%3Ealert%28%27wxs0lvms89%27%29%3C%2Fscript%3
    02 自动扫描工具:Wapiti_第3张图片
    Paste_Image.png

    如图,触发了一个 XSS

总结

这篇文章,我们使用参数(-m "-blindsql"),跳过了 SQL盲注测试 ,因为这个应用确实有SQL注入漏洞。通过触发超时错误,配合通过注入 sleep()命令测试不同时间的等待命令,直到服务器超时。又通过参数 (-o html)指定输出报告的格式。

Wapiti 的一些其他常用配置:

  • -x : 提出指定URL,不扫描,常用来过滤登出和修改密码的URL
  • -i : 通过XML文件恢复之前保存的一个扫描,文件名可省略,默认从扫描目录加载文件
  • -a : 指定HTTP登陆的用户名和密码
  • --auth-method : 指定认证方法(basic, digest, kerberos, ntlm)
  • -s : 定义开始扫描的第一个URL
  • -p : 指定HTTP 或 HTTPS 代理

你可能感兴趣的:(02 自动扫描工具:Wapiti)