文件上传
这是uploadlabs上的一道例题,很多网上的文章都没讲这个文件名怎么去做绕过,这里补充一下
首先先分析源码,这是一个黑名单过滤, 黑名单的过滤后缀名是
这里可以用拓展名之类的方法进行绕过,比如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的黑名单
这里还有一种变态版玩法,也就是可以给文件的名字加算法
我加上了这玩意,传上来的文件名就变成了这样
暂无评论内容