WebShell文件上传分析溯源(第2题)

2018-10-27  本文已影响90人  seeiy

0x00

工具:御剑后台扫描、burpsuite、菜刀

0x01

image.png

通过题目要求可以看出是需要找到后台上传文件的地方。

所以上御剑扫描


image.png

直接去访问admin,发现没有返回东西,是个空白页面。

尝试去访问admin/upload1.php,发现会一闪而过直接跳转到upload2.php这个页面,尝试用burp抓包,看看到底是怎么回事。

image.png

forward放走

image.png

结果出现一个弹窗提示没有权限访问,只能点确定看看下一步会怎么样。

发现出现了一个可以上传的页面,这时候burp千万不要点击forward哦!


image.png

尝试上传一个图片木马


image.png

但是点击forward以后却只有一个“上传成功”的提示,没有返回上传文件的路径,很僵硬。。。


image.png

尝试了很久没有思路,各种路径要么提示404要么是没有权限,然后看到一个老哥的思路,传送门

原来是upload1.php那个页面在上传以后有隐藏的属性值

image.png

重新访问upload1.php这个页面,将抓到的包送到repeater里面去

image.png

这里修改将upload5的值修改成uploadfile.php,然后点击go,可以看到有返回值,有个很明显的就是上传路径几个大字2333

image.png

这里可以知道服务器在收到上传以后的文件后对文件进行了重命名,命名的规律是

$path.$time'_'.$verify.'_'.$file

这里翻译成人话就是uploadfile/加上时间(时间的格式是年月日)加上下划线加上一个verify的值(这里还不知道)加上下划线加上原本的文件名。

其实这里只有一个verify的值不知道是什么了

这里有个有点僵硬的地方,就是刚开始我做的时候,下面那个verify还是有值的,后来尝试抓了几次都抓不到 = =

不过仔细观察的话,可以发现这个verify的值还是跟cookie里的uploadmd5值是有关系的,Cookie: uploadmd5=verify%2Fc46d79c184f2dbd1.txt,可以从2F后面的值开始取到.txt这一段。。。。

image.png image.png

这样文件名就拼接出来了

后面就是以前的套路,直接菜刀连接就好了。

这个后面实验了好几次就是不显示verify的值我也是醉了。

0x02

可以感觉的到,防御上传漏洞最重要的一点还是不回显上传的文件路径和对用户上传的文件进行重命名,这一点很重要。

上一篇下一篇

猜你喜欢

热点阅读