攻防世界 ics-05 wp

题目描述:其他破坏者会利用工控云管理系统设备维护中心的后门入侵系统

打开设备维护中心页面上没什么,查看源码发现?page=index
看到这个可能存在文件包含读源码的漏洞
php://filter/read=convert.base64-encode/resource=index.php
使用php协议读取index.php页面的base64格式,解码即可得到源码

在这里插入图片描述源码比较长,核心部分就是以下这一段
在这里插入图片描述这里的主要考点就是preg_replace()命令执行漏洞
官方的解释是
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int KaTeX parse error: Expected 'EOF', got '&' at position 19: …it = -1 [, int &̲count ]] )

搜索 subject 中匹配 pattern 的部分, 如果匹配成功以 replacement 进行替换
但是,
$pattern 存在 /e 模式修正符,允许代码执行
/e 模式修正符,是 preg_replace() 将 $replacement 当做php代码来执行
假设pattern为 /a/e , 与subject为 abd ,pattern就可以和subject里的a进行匹配,而导致replacement可以变成代码进行执行,导致代码执行漏洞

接下来回到题目
先使用XFF=127.0.0.1,即可满足if
接下来就可以穿三个get参,分别对应着preg_replace里三个参数

用system执行phpinfo(),没有问题

在这里插入图片描述执行system(“ls”)

在这里插入图片描述接下来使用system(“cd s3chahahaDir && ls”)进入s3chahahaDir(在bp里用%20代替空格),可以看到flag目录
在这里插入图片描述同样的cd s3chahahaDir/flag && ls,可以看到flag.php
cat s3chahahaDir/flag/flag.php
既可以查看到flag

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值