一、File Inclusion(local)
1.查询第一个看看是什么情况
2.仔细看看发现url有些有趣
3.猜测有文件包含漏洞,于是试一试看看
在文件目录下放入木马
成功进入后台
二、文件包含(remote)
1.点击进入查看页面
url:http://localhost:8081/pikachu/vul/fileinclude/fi_remote.php?filename=include%2Ffile1.php&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2
这个地方对filename传参有了include的过滤,但可能存在ssrf漏洞。
http://xx.xx.xx.xx/pikachu/vul/fileinclude/fi_remote.php?filename=https://www.cnblogs.com/p201721420016/&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2
2.传参试试
成功跳转了,但是并没有显示,也不知道为啥
三、不安全的文件下载
1.查看网页内容
2、因为filename可以直接跳转,直接构造
既然可以直接通过filename读取文件,那就直接构造payload:
pikachu/vul/unsafedownload/execdownload.php?filename=../../../shengcheng.txt
成功
四、client check
1、
2、那可以直接上传。
按照要求包装好一个假的gif,只是改了一下后缀
上传成功了
构造payload
http://your ip/pikachu/vul/unsafeupload/uploads/shengcheng.php?x=1
五、MIME type
1.这一次并不是在前端进行验证。
2、抓包后修改包内内容后上传:
这里只是加了一个文件类型的判断。
3、同理:
六、getimagesize()
1、发现仍然没有前端的过滤,但是会判定是否为真的图片。
提示里说是对图片的大小有判定,那我们可以尝试把木马藏在图片里上传
而且从之前上传成功的那一张来看,后端会重新命名你的照片,所以单纯修改文件后缀貌似是没有用的。
上传成功,通过刚刚的文件包含漏洞进行
成功