专栏首页洛米唯熊WAFNinja:一款绕过WAF的渗透测试工具

WAFNinja:一款绕过WAF的渗透测试工具

在我们平时做渗透测试的时候,难免会遇到各种WAF的阻挡。这时一款良好的绕过WAF的渗透测试工具就显得很受渗透测人员欢迎,在这里我们推荐一款绕过WAF的实用渗透工具,希望对大家平时做渗透有所帮助。

1简介

  WAFNinja 是一款采用Python编写的命令行工具。它通过自动化步骤来帮助渗透测试者来绕过WAF,而这些步骤对于绕过输入验证来说是必需的。该工具的编写目标是方便扩展、易于使用和在团队环境下也可使用。众多的载荷和模糊字符串是存储在本地的数据库,并且伴随着该工具一同发布出来。 WAFNinja 支持HTTP连接、GET/POST请求、可以使用cookie去访问那些只限于授权用户的页面。

2 下载安装

下载方式

  github下载地址:https://github.com/khalilbijjou/WAFNinja

  可用git clone https://github.com/khalilbijjou/WAFNinja

  或者直接用浏览器下载并且解压到本地文件。

安装

  直接进入该文件夹,输入如下命令:

  root@kali:~/WAFNinja# python wafninja.py -h

  如果出现正常的文档说明,该结果证明安装成功;

  如果出现类似“ ImportError: No module named progressbar ”,请自行安装相关的包。

  例如本处的解决方式为:root@kali:~/#pip install processbar ( 或者在终端输入:easy_install processbar)

3 使用

1 查看帮助信息

  root@kali:~/WAFNinja# python wafninja.py -h

  root@kali:~/WAFNinja# python wafninja.py fuzz -h # 我们可以把fuzz 换成 bypass,insert-fuzz,insert-bypass,set-db 这几个关键词,便可以查看相对应的帮助信息。

2 使用示例

  fuzz(模糊测试):

  python wafninja.py fuzz -u “http://www.target.com/index.php?” -c “phpsessid=value” -t xss -o output.html

bypass(绕过WAF): 
python wafninja.py bypass -u “http://www.target.com/index.php”  -p “Name=PAYLOAD&Submit=Submit”  -c “phpsessid=value” -t xss -o output.html

insert-fuzz(用户自定义模糊测试载荷): 
python wafninja.py insert-fuzz -i select -e select -t sql 

其他参数: 
  {fuzz,bypass,insert-fuzz,insert-bypass,set-db} 
                         
    fuzz                检查WAF允许通过的符号和关键词。. 
    bypass              从数据库中发送载荷到目标。 
    insert-fuzz         添加一个模糊字符串。 
    insert-bypass       添加一个载荷到绕过列表。 
    set-db             设置另外一个数据库文件。对于别人分享的相同载荷数据库时,这个特别有用。

可选参数: 
  -h, –help            显示帮助信息并且退出。 
  -v, –version         显示程序版本号并且推出。

3 备注

  0×01中的第一步时,当我们使用root@kali:~/WAFNinja# python wafninja.py fuzz -h

usage: wafninja.py fuzz [-h] -u URL [-p POST PARAMETER] [-c COOKIE] -t TYPE    
                        [-d DELAY] [-o OUTPUT FILE]

  可选参数:

  -u URL             目标URL(例如: “www.target.com/index.php?id=FUZZ“)注意:用关键词FUZZ来指定模糊测试的位置。 
  -p POST PARAMETER 通过post参数发送模糊测试载荷  
  -c COOKIE          HTTP Cookie 头部 
  -t TYPE            载荷的类型 [sql|xss] 
  -d DELAY           每个请求的等待时间,默认是0秒 
  -o OUTPUT FILE    保存输出到html 文件

  -h, –help 显示帮助信息并且退出。

本文分享自微信公众号 - 洛米唯熊(luomiweixiong),作者:黑白之道

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 上传的验证绕过

    一般这种就是只是做了前端的后缀格式限制。先把马改成能正常上传的格式,开启抓包,上改了后缀的马,抓包,改马的后缀。放行。成功绕过

    洛米唯熊
  • 通过无线流量的BSSID传输后门Payload

    在这篇文章中我想讨论无线接入点(Wireless Access Point)以及[利用]BSSID(MAC-Address AP)[传输Payload]。

    洛米唯熊
  • Apache-Tomcat-Ajp漏洞(CVE-2020-1938)

    Apache Tomcat会开启AJP连接器,方便与其他Web服务器通过AJP协议进行交互。由于Tomcat本身也内含了HTTP服务器,因此也可以视作单...

    洛米唯熊
  • 前端实战Demo:一张图片搞定一页布局

          整个页面只有一个或者两个不多的需要操作的组件,比如按钮、输入框之类的,图片中的其他元素都只是作为静态展示的设计而存在,那么专门把这个几个元素抠...

    王金龙
  • jQuery登录验证

    week
  • sqlmap一把梭

    2.基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(也就是根据页面返回时间是否增加)来判断

    用户2202688
  • 2019 年人工智能行业又进入冬天了吗?

    我们团队是做数据科学咨询的(data analytics consulting),我们一般会跟客户说:“我们帮你做个“人工智能”模型(其实只是简单的预测模型),...

    统计学家
  • 【Flutter 专题】35 自定义 View 之 Canvas (二)

    和尚前几天整理了以下 Canvas 的部分方法,今天和尚继续学习 Canvas 第二部分。

    阿策
  • TurnipBit之DIY简易小水车

    水力发电的基本原理是利用水位落差 ,配合水轮发电机产生电力,也就是利用水的位能转为水轮的机械能,再以机械能推动发电机,而得到电力。科学家们以此水位落差的天然条件...

    FB客服
  • ImportError: No module named 'ConfigParser'

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    云雀叫了一整天

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动