题目描述
1、探索整个页面,发现只有一个地方能点击
2、我们点击云平台设备维护中心,会发现有一个传参入口
3、page参数大部分是用来做文件读取的,那么我们尝试一下file协议可不可以
我们发现我们成功的读取到了它的文件
4、尝试读取一下php网页源码。因为是php源码,所以我们要转码,可以用base64编码,再进行解码。
5、base64解码
我们发现,当本地访问时,会出现Welcome My Admin !字符,我们抓个包试一下
6、然后我们会发现,源码中接受了三个参数,并调用了一个函数将三个参数传入其中
注意:/e
修正符使 preg_replace() 将 replacement 参数当作 PHP 代码执行
preg_replace()函数是按照第一个字符串的方式在第三个字符串中截取一部分然后替换成第二个字符串的,那我们就可以进行php命令执行。
preg_replace(“/(.)*/e”, “phpinfo();”, “999”);
我们可以利用这个函数匹配任意字符
7、接下来,我们传入三个参数
会发现它执行了ls命令
8、然后我们打开这个奇怪的目录
9、打开flag文件
10、最后直接读取flag.php
欧耶,成功~