【文件上传】关于涉及到时间和随机数路径爆破的问题
2022-8-31 17:49:23 Author: 猫因的安全(查看原文) 阅读量:7 收藏

不光是文件上传漏洞,所有漏洞都是这样,一定要去看源码,因为光会利用是没有用的,只要改了源码,那么利用方式就会千变万化,但是源码万变不离其宗,就那么几下

一旦源码看多了,其实有时候看前台就能猜到后台是怎么写的,这也是一些大师傅能玩出一些神奇的操作的原因,就是源码读多了猜到了后台的写法。

这是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

这里去掉了php的黑名单 这里还有一种变态版玩法

也就是可以给文件的名字加算法,

比如:

我加上了这玩意,传上来的文件名就变成了这样

其实也可以猜,但是这么变态的开发估计比较少

但也有,像这种的话,黑盒估计难了,得把源码拖过来才可以


文章来源: http://mp.weixin.qq.com/s?__biz=Mzk0NjMyNDcxMg==&mid=2247496106&idx=1&sn=4d874fe70203030018551b26bd9f7f4f&chksm=c305642df472ed3bbbeb0d24cd8da0911d09c442279fd1b37c6187a1f84ce97f0aa6754b1419#rd
如有侵权请联系:admin#unsafe.sh