记一次ctf中代码审计分析
upload 漏洞分析 4564浏览 · 2021-11-29 12:02

信呼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