Dedecms_V5.8.1 RCE

ShowMsg模版注入

dedecms V5.8 /plus/flink.php存在RCE,利用链分析:

最开始调试的错误调用链

20211018133455-1fdaac84-2fd5-1

在进行了一个插入后会进入showMsg方法(这里可以看到onlymsg=0的,后续会有个判断语句):

20211018133526-32a8bdc4-2fd5-1

这里如果$gourl==-1,则直接将Http_referer赋值给$gourl
gourl根据特定字符replace之后,去除空格等 传递给tgobj参数,之后拼接到$func变量中,最后到了$msg参数中

20211018134339-586453f6-2fd6-1

LoadString方法会根据msg内容md5创建一个文件,并对模版内容进行解析,跟进Display

20211018134349-5ea3823c-2fd6-1

20211018134355-61c5b69c-2fd6-1


这里进入WriteCache方法,会有一个CheckDisabledFunctions方法检测危险函数,然后将内容写入模版文件中:

20211018134411-6b9fc1c6-2fd6-1

最终通过inclue 包含cacheFile包含模版,执行代码:

一开始自己跟错了入口,导致后面无法将恶意参数拼接写入文件中,原因在于这个showMsg的这个入口,onlymsg被赋值为1了,没办法进入后续的循环,也就导致于没有进入前面分析的链中。
20211018134827-04610c12-2fd7-1

正确调用链入口:

存在上述问题的原因是因为/plus/flink.php触发漏洞点的入口错误,当$gourl的值为-1,会将HTTP_REFERER的值赋值给$gourl,后续想要将$gourl的值写入模版文件中,则需要满足$onlymsg=0即可,才会进入到拼接模版文件。

20211018135037-519634d0-2fd7-1


将参数拼接到$func,写入模版文件,最后进行include包含,其中还得绕过checkdisable。

20211018135055-5c7bbf64-2fd7-1

转载自

https://xz.aliyun.com/t/10390

本文转载自https://xz.aliyun.com/t/10390,只做本站测试使用,本文观点不代表安强科技社区立场。

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年3月17日 下午12:05
下一篇 2022年3月17日 下午2:50

相关推荐

发表回复

您的电子邮箱地址不会被公开。