记一次ctf中代码审计分析
信呼OA
回顾下比赛的两道题目:
咱捋一遍思路! 拿到cms不用怕! 先看下网络!
看到a m surl 等参数
m=index&a=getshtml&surl=aG9tZS9pbmRleC9yb2NrX2luZGV4&num=home&menuname=6aaW6aG1
index入口直接进入了View.php
然后自己再默认调一遍!
m a d 参数都可控!
想着最后包含$mpathname
但是这里后缀写死了 是html
但是$xhrock->displayfile
可以改变$mpathname
$mpathname = $xhrock->displayfile
前面有可以调用任意ClassAction类和任意Action方法地方
但是这里写死了index 所以只能调用indexClassAction 这个类
再看 indexClassAction 类里 有很多Action结尾的方法!
通过 getshtmlAction
方法
我们可以通过$this->displayfile = $file;
把displayfile
修改成任意.php
后缀文件!
通过最近爆出的pearcmd.php 文件! 就能rce。
验证
http://xihu.com/?surl=Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vMQ%3D%3D&a=getshtml
PbootCMS
https://xz.aliyun.com/t/3533
先熟悉下路由
apps/common/route.php
发现有历史漏洞!
看一下历史漏洞:
我们逆着看历史漏洞: parserIfLabel方法 到 parserAfter方法 再到 SearchController类调用keyword传参!
看get函数过滤器
这里是绕不过的!直接$data=null
了
但是content已经渲染出来了!
具体细节可以安su师傅的!
https://xiaokou.top/article?key=e4Q6k0
常用命令
F7步入|F8步过|F9到下一个断点|ALT+F8评估表达式|Ctrl+F 文件内查找字符串|双击Shift 查找任何内容,可搜索类、资源、配置项、方法等,还能搜索路径|Ctrl + N 按类名搜索类|Ctrl + F12 查看当前类结构|Ctrl + H 查看类的层次关系|Alt + F7 查找类或方法在哪被使用
2 条评论
可输入 255 字