[电信互联网行业竞赛]bestphp

发表于
更新于
3

打开靶机,可以看到

img

flag放在根目录下的flag.php里,需要通过命令执行得到flag,利用php代码中的eval()函数

首先看正则过滤,基本上都过滤完了,但还留有a |?|>|:|/这几个字符

echo命令用'|"包裹了,需要对其进行闭合之后再RCE

可以通过三目运算符判断的方法来执行我们想执行的命令

a?a:b

a运算结果为true时,会输出a,否则就会输出b,因为有字符限制,可以简写为

a?:b

在liunx中,反引号` 包裹的语句直接运行,? *为匹配符,?可匹配一个字符,*可匹配多个字符

构造payload,加上?>来闭合php文件

?a='?:`/???/?a?%20??a?????`?>

img

得到flag


0

推荐文章

[DASCTF]ezpop-WP
[2022DASCTF APR X]soeasy_php
上一篇 使用Docker复现CTF中的Web题
下一篇 [DASCTF]ezpop-WP