点击此处 获得更好的阅读体验
 
 
来源 
本 WP 来自spaceman原创投稿
题目考点 
解题思路 
尝试直接上传一句话木马,发现木马文件是可以上传,但是路径不知道
于是扫描了一下目录。发现index.php.swp、flag.php,swp文件需要恢复
 
得出源码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <?php if  (isset ($_POST['submit' ])){    $file_path = "uploads/" ;     $file_name = date("YmdHis" ) . rand(0 ,999 ) . ".php" ;     move_uploaded_file($_FILES["file" ]["tmp_name" ], $file_path . $file_name);     echo  "上传成功!" ; } ?> <!DOCTYPE html> <html lang="en" > <head>     <meta charset="UTF-8" >     <title>Web03</title> </head> <body>     <form action="index.php"  method="post"  enctype="multipart/form-data" >         <input type="file"  name='file' >          <input type="submit"  name="submit"  value="上传"  />      </form>  </body>  </html> 
 
可以看出上传的路径了 uploads ,但是文件名更改为时间,还加了随机数,我本地搭建了一个,先尝试去掉随机的,可以发现是以时间命名,与提交的时间一样
再加上随机的,这次随机的数是900
这就一目了然了,随机数只能爆破了
时间 20200818141506+0-999随机数.php,所以先写一个脚本生成字典
1 2 3 4 5 6 7 8 9 10 time = '20200818141506'   s = ''  for  i in range(1000 ):  s += time+str(i)+'.php'    s += '\n'    print  (time+str(i)+'.php' ) filename = 'dir.txt'  with open(filename,'a' ,encoding='utf-8' ) as  f:     for  i in s:         f.writelines(i) 
 
然后再使用Bp跑
然后再复制字典粘贴上去,启动
最后跑完,排一下(It is ok!是我在一句话中自己添加的,为了方便确认上传是否成功)
蚁剑连接,html目录下拿到flag