当前位置:首页 » 《休闲阅读》 » 正文

攻防世界---ics-05_皮皮逗逗逗的博客

14 人参与  2022年01月28日 10:01  分类 : 《休闲阅读》  评论

点击全文阅读


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

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

在点击时, 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}';


点击全文阅读


本文链接:http://zhangshiyu.com/post/34030.html

字符串  漏洞  替换  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1