乐于分享
好东西不私藏

文件上传绕过测到想砸电脑?我靠这几个开源工具救了几次急

文件上传绕过测到想砸电脑?我靠这几个开源工具救了几次急
有一次我在测一个站的文件上传点,WAF 拦得很死,我把常见的后缀绕过全试了一遍,php3、phtml、phar、大小写混淆,一个都没过,返回的全是 403。我以为是自己姿势不对,又去翻了一遍文章,把 Content-Type 伪造、空字节截断、双写绕过挨个试了一圈,还是不行。折腾了两个多小时,最后发现是因为我用的 payload 字典太通用了,根本没有针对这个站的中间件和后端语言做过滤,等于是拿着一把万能钥匙去开一把定制锁,白费力气。
那次之后我开始认真研究怎么生成精准的 fuzz 字典,后来找到了 upload-fuzz-dic-builder 这个工具。
这玩意儿最让我觉得真香的地方是:你告诉它目标的具体情况,它就给你生成专门针对这个目标的字典
python upload-fuzz-dic-builder.py -h
usage: upload-fuzz-dic-builder [-h] [-n] [-a] [-l] [-m] [--os] [-d] [-o]

optional arguments:
  -h, --help            show this help message andexit
  -n , --upload-filename
                        Upload file name
  -a , --allow-suffix Allowable upload suffix
  -l , --language       Uploaded script language
  -m , --middleware Middleware used in Web System
  --os Target operating systemtype
  -d, --double-suffix Is it possible to generate double suffix?
  -o , --output Output file
这个思路跟那种无脑堆数量的通用字典完全不一样,用过一次就知道差距在哪儿。
当然光有字典还不够,还得有工具来跑。Upload_Auto_Fuzz 是 Burp Suite 的插件,直接在 Intruder 里用,把字典导进去就能跑,Windows 和 Linux 的绕过策略分开处理,配置面板可以单独开关不同的 Fuzz 策略,不用每次都全量跑一遍。
UploadRanger 是独立工具,不依赖 Burp,直接丢 URL 就能扫,它的响应分析不是简单看状态码,而是综合打分来判断上传有没有成功,误报率比手动看低不少
Upload_Super_Fuzz_Gui 是 GUI 版的 payload 生成器,点几下就能出 payload,适合不想折腾命令行的人。
让我烦的地方是:这几个工具是各自独立的,upload-fuzz-dic-builder 生成的字典格式跟 Upload_Auto_Fuzz 的 payload 格式不完全一样,导入的时候得手动处理一下,没法一键打通,每次都要多折腾一步,挺碍事的。
地址都在这儿:
Upload_Auto_Fuzz:https://github.com/T3nk0/Upload_Auto_Fuzz
UploadRanger:https://github.com/Gentle-bae/UploadRanger
Upload_Super_Fuzz_Gui:https://github.com/7797777977/Upload_Super_Fuzz_Gui
upload-fuzz-dic-builder:https://github.com/c0ny1/upload-fuzz-dic-builder