攻防世界---ics-05

点进场景看到是很炫酷的页面,题目秒速的是:系统设备维护中心的后门入侵系统,那直奔那里

进来发现什么也没有,到处点一点

在点击时, url发送了变化

出现?page=index 那么联想到可能存在利用文件包含读取网页源码的漏洞

用php内置filter伪协议读取文件的代码:
?page=php://filter/read=convert.base64-encode/resource=index.php

访问之后页面出现一大段base64编码

 之后去解码得到(给出关键部分)

 从这里看出我们需要抓包 设置X-Forwarded-For:127.0.0.1


 已经显示welcome My Admin!

 

那么第二步最关键的利用preg_replace()函数的/e漏洞进行代码执行

该函数执行一个正则表达式的搜索和替换

 preg_replace()函数的介绍:

preg_replace($pattern, $replacement, $subject)
作用:搜索subject中匹配pattern的部分, 以replacement的内容进行替换。
$pattern:       要搜索的模式,可以是字符串或一个字符串数组。
$replacement:   用于替换的字符串或字符串数组。
$subject:       要搜索替换的目标字符串或字符串数组。

那么/e漏洞又是什么呢?

preg_replace() 函数还有一个/e模式。

可以参考深入研究 preg_replace /e 模式下的代码漏洞问题_Web安全_心月IT博客

就是说在subject中有要搜索的pattem的内容, 同时将在replacement前加上/e,就可以触发/e漏洞就可以执行replacement中的php代码

那么我们就可以构造payload了

/index.php?pat=/zld/e&rep=system("ls")&sub=zld

先看看有什么文件

 这个文件夹比较有意思

我们进去看看

 看到flag了,应该就在里面了

 我们再深入进去

 胜利在望

我们cat一下flag.php

 成功拿到flag

$flag = 'cyberpeace{ed865f32871e9206d2c5245f25483a07}';

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值