0x01 🌸简介
不光是文件上传漏洞,所有漏洞都是这样,一定要去看源码,因为光会利用是没有用的,只要改了源码,那么利用方式就会千变万化,但是源码万变不离其宗,就那么几下
一旦源码看多了,其实有时候看前台就能猜到后台是怎么写的,这也是一些大师傅能玩出一些神奇的操作的原因,就是源码读多了猜到了后台的写法。
0x02 🍘源码查看
这是upload-labs
上的一道例题,很多网上的文章都没讲这个文件名怎么去做绕过,这里补充一下,首先先分析源码,这是一个黑名单过滤,黑名单的过滤后缀名是
这里可以用拓展名之类的方法进行绕过,比如phtml,传上去是这样样子的
每一次传上去的文件名都是不一样的,是无法直接连接的,当然这道题是给了回显的,回显的代码在这里
现在我们改一下这道题,改成没有回显
已经没有回显了
这里就需要观察这句话
这里的UPLOAD_PATH
是固定的
可猜解 date("YmdHis")
是时分秒
如下 传上去的时候要记一下
rand(1000,9999)
是1000-9999的随机数,总计9000位数 现在如果要得到对应的文件,那么就需要在传上去的时候卡一下时间,然后固定后面的随机数进行爆破即可 那么首先先固定上传时间,这里上传总会有误差,可能误差有个3s-5s的时间,不一定就一定是当下的那一秒,那么ok没有关系,我们多传几个就好了
如下:
我是连点了五下 中间每次可能间隔0.2s这样,然后我的demo记录的时间是
6533是写的rand(1000,9999)
,暂时不用去管他
那么这里我爆破的范围就是20211122144220往前推5位
先试一试 然后后面跟上rand(1000,9999)
这9000个数字
做一个9000个数字的字典出来
然后拼接上前面的,再把秒数往前推几位
扔进burp里面去跑,跑出来了
因为我这里传的是phpinfo
然后因为phtml的phpstudy的配置有问题,这里把题目改了一下
直接改成php是允许的后缀了
唯一的问题就是猜shell
0x03 🚣♀️结束语
这里去掉了php的黑名单 这里还有一种变态版玩法
也就是可以给文件的名字加算法,
比如:
我加上了这玩意,传上来的文件名就变成了这样
其实也可以猜,但是这么变态的开发估计比较少
但也有,像这种的话,黑盒估计难了,得把源码拖过来才可以
原文始发于微信公众号(猫因的安全):【文件上传】关于涉及到时间和随机数路径爆破的问题
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论