CTFhub RCE
CTFhub RCE
题目复现 eval执行
打开题目
蚁剑连接
之后找flag
问题解决
题目复现 ctfhub 文件包含
打开题目环境
1 | if (!strpos($_GET["file"], "flag")) { |
重点代码我们分析
这里有一个strpos(string,find,start)函数
意思在string字符串中找find的位置,start是查找的开始位置
那么这句代码的意思就是如果file中没有flag字符串就执行下面的include $_GET["file"]
否则就输出Hacker。
shell.txt 内容
是将ctfhub传的参数用php执行
题目的目的也是让我们执行shell木马那么我们就输入
1 | http://challenge-23e2c213e6139056.sandbox.ctfhub.com:10800/?file=shell.txt |
开始命令执行
现在找flag
出了,解决问题
题目复现 ctfhub php://input
打开题目环境
开始分析题目
代码中说如果file 名中六个字符是 “php://” 就执行后面的include函数
这里其实就应该想到的是php://伪协议
php://filter和php://input,php://filter用于读取源码,php://input用于执行php代码。
而执行php://input伪协议条件是allow_url_include是On
那么我们就开始做题
直接构造file的值为php://input
post参数为
因为php://input是执行后面的PHP命令所以要写成php代码形式
所以我们可以抓包改
命令执行
找到flag
ok,问题解决
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Luo 666!