[FUZZ]文件上传fuzz字典生成脚本—使用方法
文件上传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字典生成脚本—使用方法的更多相关文章
- php大文件上传失败的原因及解决方法
为什么上传大文件总是失败,上传小文件就没有问题.关于PHP大文件上传失败的原因及解决方法如下: 第1种情况:文件上传时存放文件的临时目录必须是开启的并且是 PHP 进程所有者用户可写的目录.如果未指定 ...
- 将本地文件上传到指定的服务器(HttpWebRequest方法)
将本地文件上传到指定的服务器(HttpWebRequest方法),通过文件流,带文件名,同文件一同上传的表单文本域及值. ///<summary> /// 将本地文件上传到指定的服务器(H ...
- HTML5文件上传器,纯脚本无插件的客户端文件上传器---Uploader 文件上传器类
概述 客户端完全基于JavaScript的 浏览器文件上传器,不需要任何浏览器插件,但需要和jQuery框架协同工作,支持超大文件上传,其算法是将一个超大文件切片成N个数据块依次提交给服务 端处理,由 ...
- ASP中文件上传组件ASPUpload介绍和使用方法
[导读]要实现该功能,就要利用一些特制的文件上传组件.文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件 1 下载和安装ASPUpload 要实现该功能,就要利用一些特制的文件上 ...
- 对FileUpload文件上传控件的一些使用方法说明
//创建时间:2014-03-12 //创建人:幽林孤狼 //说明:FileUpload文件上传控件使用说明(只是部分)已共享学习为主 //可以上传图片,txt文档.doc,wps,还有音频文件,视屏 ...
- element 多个文件上传多次http请求解决方法
第一步 action="#" 第二步 :auto-upload = "false" 第三步 给元素绑定click事件触发提交方法,注意,把其他没有用的文件都给去 ...
- Asp.net MVC中文件上传的参数转对象的方法
参照博友的.NET WebApi上传文件接口(带其他参数)实现文件上传并带参数,当需要多个参数时,不想每次都通过HttpContext.Request.Params去取值,就针对HttpRequest ...
- vue iview UPload,但文件上传是,clearFiles的使用方法
<template> <div> <button @click="clearUploadedImage">重新上传</button> ...
- 重置表单中的文件上传控件(file input)的方法
方法一: 调用所在 form 表单的 reset 方法,这个方法的缺点是会把整个表单重置,需要存储表单的状态,再回填回去 方法二: 使用jQuery,代码为: $("#id").r ...
随机推荐
- 那些年,Linus torvalds大神喷过的技术
Linus Torvalds 被认为是最伟大的程序员之一,因为他写出了使用最广泛的软件,如 Linux 内核和 Git 版本控制系统.但是他这个人经常因为讲话带有情绪,甚至是因为带有脏话的意见而饱受非 ...
- 关于素数表-C++
废话不多说,先贴代码: #include <iostream> using namespace std; bool is_prime(int n) { || n == ) return f ...
- MySQL数据库使用时注意事项
MySQL数据库使用时注意事项 建表的角度上 1.合理安排表关系 2.尽量把固定长度的字段放在前面 3.尽量使用char 代替varchar 4.分表:水平分和垂直分 在使用sql语句的时候 1.尽量 ...
- 必须使用适当的属性或方法修改“ContentType”标头
只能通过属性修改ContentType,不能添加到header属性里
- You may need to add '192.168.55.10' to ALLOWED_HOSTS.
DisallowedHost at / Invalid HTTP_HOST header: '192.168.55.10:8000'. You may need to add '192.168.55. ...
- Python学习日记(十三) 递归函数和二分查找算法
什么是递归函数? 简单来说就是在一个函数中重复的调用自己本身的函数 递归函数在调用的时候会不断的开内存的空间直到程序结束或递归到一个次数时会报错 计算可递归次数: i = 0 def func(): ...
- 2.kafka 分布式集群安装
Kafka集群安装主节点h201,从节点h202.h2031.安装jdk1.8[hadoop@h201 ~]$ /usr/jdk1.8.0_144/bin/java -version 2.安装zook ...
- 【转】DSP动态内存分配函数的使用
DSP里的动态内存分配,其分配的内存区域在在堆(heap)中.同时DSP里动态分配内存的函数还有calloc以及reclloc.这些动态分配的内存放置在.system段的全局池或堆(heap)中.因此 ...
- [ipsec][strongswan] strongswan源码分析--(五)plugin的配置文件的添加方法与管理架构解析
前言 我们知道,strongswan是基于插件式管理的.不同的插件有不同的配置文件,在这下面, 我们以netlink的插件为例:etc/strongswan.d/charon/kernel-netli ...
- Linux命令——sync
参考:A Step-By-Step Guide to Using the Linux sync Command 前言 数据只有被读入内存才能被CPU所处理,但是数据又常常需要由内存写回磁盘当中(例如储 ...