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,内容如下:
    扫描结果

    如图,报告显示,发现了12个 cross-site scripting (XSS) 漏洞 以及 20个** file handling **漏洞
  2. 点击 Cross Site Scripting
  3. 选中一个漏洞,点击 HTTP Request,这里我们选第二个,拷贝请求的URL:
    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
    Paste_Image.png

    如图,触发了一个 XSS

总结

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

Wapiti 的一些其他常用配置:

  • -x <URL>: 提出指定URL,不扫描,常用来过滤登出和修改密码的URL
  • -i <file>: 通过XML文件恢复之前保存的一个扫描,文件名可省略,默认从扫描目录加载文件
  • -a <login%password>: 指定HTTP登陆的用户名和密码
  • --auth-method <method>: 指定认证方法(basic, digest, kerberos, ntlm)
  • -s <URL>: 定义开始扫描的第一个URL
  • -p <proxy_url>: 指定HTTP 或 HTTPS 代理
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第五章 自动化扫描 作者:Gilberto Najera-Gutierrez 译者:飞龙 协议:CC BY-NC-...
    布客飞龙阅读 8,653评论 0 39
  • 简介几乎每个渗透测试项目都需要遵循严格的日程,多数由客户的需求或开发交谈日期决定。对于渗透测试者,拥有一种工具,它...
    红色火苗阅读 8,666评论 0 6
  • 作者:Gilberto Najera-Gutierrez译者:飞龙协议:CC BY-NC-SA 4.0 简介 几乎...
    三月行者阅读 5,608评论 2 21
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,463评论 19 139
  • 攻击活动 SQL(结构化查询语言)注入 概述 一个SQL注入攻击包含了从应用客户端的输入数据中注入或嵌入的方式,一...
    夏夜星语阅读 4,597评论 0 0