ctfshow红包挑战7_WP
赛后复现
官方wp:https://ctf-show.feishu.cn/docx/IZh0deravoLG66xCrJ6caezNnKc
1、源码
highlight_file(__FILE__); |
2、题目解析
1.存在extract($_GET);
可以变量覆盖,ini_set
可以修改php.ini
的部分配置信息,filter
函数将 ‘ (单引号)、 \ (反斜杠)、` (反引号) 、$ 都替换成空。
2.常规思路是闭合掉 ‘ (单引号),然后利用 ; (分号)执行其他bash命令,但 ‘ (单引号)用不了,无法闭合,因此此方法不行。
3.修改error_log
的保存路径为/var/www/html/3.php
,利用报错将报错信息写入,在报错信息中包含想要执行的php代码,从而实现getshell。
4.system
刚好可以用0字节进行截断来触发异常,在异常中加入php代码。
5.之后访问3.php
,即可看到flag。
评论