文件上传fuzz字典生成脚本—使用方法

原作者:c0ny1

项目地址:https://github.com/c0ny1/upload-fuzz-dic-builder

项目预览效果图:

帮助手册:

脚本可以自定义生成的上传文件名(-n),允许的上传的后缀(-a),后端语言(-l),中间件(-m),操作系统(--os),是否加入双后缀(-d)以及输出的字典文件名(-o)。

我们可以根据场景的不同,来生成合适的字典,提供的信息越详细,脚本生成的字典越精确!

1.1 Example1

生成适合全语言,全部中间件,全部操作系统的fuzz字典

python upload-fuzz-dic-builder.py

1.2 Example2

生成适合后端语言为asp的fuzz字典

python upload-fuzz-dic-builder.py -l asp

1.3 Example3

上传文件名为:test,可以上传后缀为jpg,后端语言为php,中间件为apache,操作系统为Windows,输出字典名为upload_filename.txt的fuzz字典

python upload-fuzz-dic-builder.py -n test -a jpg -l php -m apache --os win -o upload_file.txt

1.4 注意:

1、生成时给的上传点相关信息越详细,生成的字典越精确!

2、在使用burp的Intruder模块进行fuzz时将Payload面板中Payload Encoding一栏的URL-encode these characters选项设置为未选中状态。

实例:

1、生成自己想要的fuzz字典,我这里就生成了一个叫phpinfo的字典文件:

生成命令:

python upload-fuzz-dic-builder.py -n phpinfo -l php -m apache --os win

2、用burp对上传点进行抓包:

我这里用的是upload闯关的第12关当做案例,这里可以通过POST%00截断,来实现上传:

这里指定爆破的注入点,然后挂载字典,最后务必要把Payload面板中Payload Encoding一栏的URL-encode these characters选项设置为未选中状态。

4、看看效果:

  • 这里进行了一小会儿,就可以看到已经有php文件出来了。这里有些细心地同学就会问,为什么会没有.php(小写文件)呢?是字典中没有嘛?
  • 其实不然,这里是因为爆破顺序的问题,与Windows的文件命名问题,相同名称的.Php文件与.php文件是不能同时存在的,所以最后一个提交的才会存在下来。
  • 与此同时也产生了大量的图片文件,这里是因为没有给字典做特别详细的过滤,其中是存在图片名称的(可用来做文件包含)。

参考链接:

http://gv7.me/articles/2018/make-upload-vul-fuzz-dic/

[FUZZ]文件上传fuzz字典生成脚本—使用方法的更多相关文章

  1. php大文件上传失败的原因及解决方法

    为什么上传大文件总是失败,上传小文件就没有问题.关于PHP大文件上传失败的原因及解决方法如下: 第1种情况:文件上传时存放文件的临时目录必须是开启的并且是 PHP 进程所有者用户可写的目录.如果未指定 ...

  2. 将本地文件上传到指定的服务器(HttpWebRequest方法)

    将本地文件上传到指定的服务器(HttpWebRequest方法),通过文件流,带文件名,同文件一同上传的表单文本域及值. ///<summary> /// 将本地文件上传到指定的服务器(H ...

  3. HTML5文件上传器,纯脚本无插件的客户端文件上传器---Uploader 文件上传器类

    概述 客户端完全基于JavaScript的 浏览器文件上传器,不需要任何浏览器插件,但需要和jQuery框架协同工作,支持超大文件上传,其算法是将一个超大文件切片成N个数据块依次提交给服务 端处理,由 ...

  4. ASP中文件上传组件ASPUpload介绍和使用方法

    [导读]要实现该功能,就要利用一些特制的文件上传组件.文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件 1 下载和安装ASPUpload  要实现该功能,就要利用一些特制的文件上 ...

  5. 对FileUpload文件上传控件的一些使用方法说明

    //创建时间:2014-03-12 //创建人:幽林孤狼 //说明:FileUpload文件上传控件使用说明(只是部分)已共享学习为主 //可以上传图片,txt文档.doc,wps,还有音频文件,视屏 ...

  6. element 多个文件上传多次http请求解决方法

    第一步 action="#" 第二步 :auto-upload = "false" 第三步 给元素绑定click事件触发提交方法,注意,把其他没有用的文件都给去 ...

  7. Asp.net MVC中文件上传的参数转对象的方法

    参照博友的.NET WebApi上传文件接口(带其他参数)实现文件上传并带参数,当需要多个参数时,不想每次都通过HttpContext.Request.Params去取值,就针对HttpRequest ...

  8. vue iview UPload,但文件上传是,clearFiles的使用方法

    <template> <div> <button @click="clearUploadedImage">重新上传</button> ...

  9. 重置表单中的文件上传控件(file input)的方法

    方法一: 调用所在 form 表单的 reset 方法,这个方法的缺点是会把整个表单重置,需要存储表单的状态,再回填回去 方法二: 使用jQuery,代码为: $("#id").r ...

随机推荐

  1. PHP利用preg_split函数格式化日期

    // 2018/2/13 00:26:00.000 function format_date($date, $format='Y-m-d H:i:s') { if(empty($date)) retu ...

  2. Bad state: Stream has already been listened to.

    https://stackoverflow.com/questions/51396769/flutter-bad-state-stream-has-already-been-listened-to T ...

  3. 【开发笔记】- Java读取properties文件的五种方式

    原文地址:https://www.cnblogs.com/hafiz/p/5876243.html 一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供j ...

  4. 阿里云ssl协议发布qq邮件

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...

  5. React Native 开发豆瓣评分(四)集中管理 fetch 数据请求

    豆瓣评分的API接口 接口是从网上查找的,看样子应该是微信小程序里面扣出来的(ua 里面有 wechatdevtools) 接口都需要设置apiKey(054022eaeae0b00e0fc068c0 ...

  6. gitlab自带的Nginx与原Nginx冲突的解决方案

    gitlab 推荐方案2 默认情况下,gitlab使用自带的Nginx,占用80端口,这样就与系统原本安装的Nginx冲突.导致其中一个nginx无法启动 我的gitlab可以正常启动,当再部署一个接 ...

  7. C++(四十三) — 函数模板机制

     1.普通函数与模板函数调用原则 函数模板可以像普通函数一样被重载: 当函数模板和普通函数都符合条件时,编译器优先考虑普通函数: 但如果函数模板产生一个更好的匹配,则选择函数模板: 可以通过空模板实参 ...

  8. c++第四次作业

    继承与派生--访问控制 一.知识要点 (一)知识回顾: 基类的成员可以有public.protected.private三种访问属性.基类的自身成员可以对基类中任何一个其他成员进行访问,但是通过基类的 ...

  9. java加密算法-MD5

    import java.security.MessageDigest; public class MD5Util { /*** * MD5加密 生成32位md5码 * @param 待加密字符串 * ...

  10. Eclips+ADT+SDK构建android开发环境及android自动化测试开发环境

    一. 需要用到的包: 1.adt-bundle-windows-x86_64-20140702.zip+JDK+ant 2.ant下载地址:http://ant.apache.org/bindownl ...