文件上传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/

猜你喜欢

转载自www.cnblogs.com/-mo-/p/11221527.html
今日推荐