0x00
?偶然看到这道题,学习一下文件上传的新姿势。
0x01
?打开靶机,没啥提示,那就先用御剑扫一扫后台  ?发现
/admin/upload1.php
/admin/upload2.php
?访问/admin/upload1.php后发现显示权限不够,并直接跳到了/admin/upload2.php  ?抓包查看upload1.php的响应包,发现该弹窗和跳转是由JS代码控制的,浏览器设置禁用JS后再次访问 
?主菜来了,直接上传菜刀,上传成功后用蚁剑试连接,出现异常  ?猜测是由于网站后台对上传的文件名进行了处理,但目前也无法发现处理过程是什么样的,于是乎参考了其他大佬的做法后,发现可以用这种方式来找到处理过程 ?首先抓包,放到重放模块,修改Cookie里uploadmd5的的值为upload_file.php 
?审计返回的php代码,发现对文件进行的处理是将文件名改为
time_value_filename
?其中time为年月日型,value为上传时产生的一个特征值,filename则是上传文件名(包括格式),并放到/uploadfile目录下,所以重新抓包上传  ?连接成功  ?找到KEY 
0x02
?整个实战下来,学到了如何禁用JS来避免重定向,以及如何审计代码进行抓包重放来获得后台上传处理方法。 ?(ps: 可能要先访问一次upload.php)
|