天天看点

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

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

原作者:c0ny1

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

项目预览效果图:

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

帮助手册:

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

脚本可以自定义生成的上传文件名(-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

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

选项设置为未选中状态。

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

实例:

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

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

生成命令:

python upload-fuzz-dic-builder.py -n phpinfo -l php -m apache --os win
           
[FUZZ]文件上传fuzz字典生成脚本—使用方法

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

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

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

这里指定爆破的注入点,然后挂载字典,最后务必要把Payload面板中

Payload Encoding

URL-encode these characters

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

4、看看效果:

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

参考链接:

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

----------------------------------------------------------------------------

作者:肖洋肖恩、

出处:https://www.cnblogs.com/-mo-/

----------------------------------------------------------------------------

文中可能会存在纰漏,若发现请联系与我。

本文所有代码仅可用于站长自我检测与学习,如用于非法攻击一切后果自负。