CVE-2020-10238分析复现(joomla 权限分配不合理导致rce)

    科技2025-06-10  44

    文章目录

    闲扯漏洞名称:影响版本:漏洞分析:漏洞复现:

    闲扯

          想了想,还是把记录都放在csdn吧,毕竟也待了大半年了。自己整了个公众号:“不爱吃韭菜的韭菜”,也懒得到处转发,就当是另外一个存货站吧。实习2个月,考试找工作一个月,很久没发东西了,写倒是写了很多东西,但是都不太方便发出来,只能自己珍藏。

    漏洞名称:

    joomla远程代码执行漏洞

    影响版本:

    Joomla <= 3.9.15

    漏洞分析:

    本来这里是有好大一段白盒分析的,跟踪了很久,但是吧,分析完了之后感觉不对劲= =。发现其实这个漏洞就是一个正常的功能,所以把分析过程删掉了= =。(PS:分析过程很有意思,4、5个save函数之间跳来跳去。)

    漏洞复现:

    建议不要在windows上搭建,路径和.htaccess都很烦人; 建议不要在kali里面自己搭建,因为kali自带的mariadb很难删除; 建议使用vulfocus或干净的linux搭建,我是在自己服务器搭建的。

    下载链接: https://downloads.joomla.org/cms/joomla3

    管理员权限账号登录进来: 点击style: 点进去: 随便找个php文件进行编辑: 编辑之后进行保存: 访问:/templates/protostar/error.php 我眉头微微一皱,知道事情没这么简单。以前看到过这种漏洞,我一直都觉得它是正常的功能。果不其然,我在最新版本的joomla里面,发现该情况依然存在,说明可能是未授权或者其他情况导致的。

    找真正原因的思路:

    1.一开始以为是有未授权,但是发现源码里面进行了校验,并没有未授权 2.然后以为存在csrf,虽然未校验referer,但是存在不可猜测的token,也不是 3.第三次我以为是cookie的内容可以自己加密伪造,不过这个分析起来我觉得的很麻烦,被我搁置在一边 4.第四次才想起来越权= =,这也不算越权,就是权限分配不当

    比较了两次的发包,这是旧版本的: 这是新版本的:

    有一点不同,而且多出来的两条可以删除成这样,其实也就是认证字段换了个名儿:

    然后我创建了一个新的账号,终于找到了这个漏洞的重点= =。 这是管理员的权限:

    这是新建账号的权限,必须要属于administrator才可以,不需要super users:

    发现除了administrator组和super users组之外的组都不能改文件,只有他俩可以。

    最新版本的super组依然可以更改,但是administrator组的就不能改了,点进去没有编辑页面,只有这样子了:

    说明,这个漏洞的重点,是给其他组的用户权限过大,导致rce。如果泄露了super users组的用户密码,还是会导致rce。

    不过我寻思= =要是让我碰见这个情况,我肯定不会觉得它是漏洞- -我会觉得这就是正常的权限分配吧。

    Processed: 0.022, SQL: 8