【攻防世界】 ics-05 工控云系统解题思路及方法

题目来源:XCTF 4th-CyberEarth

要点:文件包含漏洞、文件包含读源码、X-F-F

 

进入到工控云主页面,尝试使用封装协议进行代码获取

php://filter/convert.base64-encode/resource

最终返回index.php的base64源代码,开始进行代码审计

在代码123行发现了函数SERVER

我们可以使用X_FORWARDED_FOR修改为127.0.0.1获得该数据

打开BP设置代理,拦截页面,修改请求头

另外在此代码里发现preg_replace通过三个函数进行传递($pattern,$replacement,$subject)通过代码审计我们可以这样子写payload

首先传递第一个之

/index.php/?pat=./e&rep=../e&sub=('ls')

最终发现可以利用PHP preg_replace 函数执行一个正则表达式的搜索和替换,也就是所谓的RCE,当preg_replce正则表达式部分包含e参数的时候,进行替换的部分会被执行,发现回显还是Welcome My Admin...后来经过一番思索,又测试了多条语句

执行语句

/index.php/?pat=/(.*)/e&rep=system('ls')&sub=aa

返回站点目录所有文件 ,End 开始搜索FLAG

发现陌生而又熟悉的文件

点赞

发表评论

电子邮件地址不会被公开,只有你知道( ̄▽ ̄)"