一句话木马变形

解题思路

打开网页发现是一个执行器,有个淡淡的灰色字提示我们输入

echo 'hello world'

输入进去试试

这里有个英文提示,说无效字符,只有字母,数字,下划线,和括号和花括号可以输入进去

那限制其实还好,没有限制很多东西,我们直接试试system函数看看能不能直接执行shell命令

引号被过滤了,去掉看看

有一个告警,但是成功执行了,可以看到这个目录下面有flag.php index.php

那我们直接cat看看

空格被过滤了,用制表符替代\t

发现也不行,换个方法,使用php自带的函数来实现获取

首先调试要用print_r()

没有问题,接下来获取当前的路径

getcwd()

扫描当前目录下的文件

scandir(getcwd())

为方便取值,我们把它到转过来

array_reverse(scandir(getcwd()))

接下来去取第二个值

next(array_reverse(scandir(getcwd())))

show_source()函数实现展示源代码

show_source(next(array_reverse(scandir(getcwd()))))

获取到了flag,但是貌似这个不是他最优解?

方法2:

看到eval,可以使用php://伪协议直接读取当前目录下的文件

 

 


目录