ThinkCMF X 2.2.3 SQL注入漏洞

该漏洞在2.3版本又以下,漏洞点与ArticleController.class.php edit_post方法SQL注入(CVE-2018-19898) 。

ThinkCMF X2.2.2是基于ThinkPHP 3.2.3开发的,ThinkPHP 3.x版本之前被爆出存在bind注入,这个漏洞就是ThinkPHP3.x注入的典型案例。漏洞位于前台文章编辑处,不过要复现这个漏洞点首先是要注册一个普通的会员。

如果目标网站可以允许你注册那么就可以日翻它,注册地址:localhost/ThinkCMFX/index.php?g=user&m=login&a=index&redirect=

在ArticleController.class.php类文件中,问题出在edit_post 函数中,第173行声明了该函数,之后的意思是输入的参数通过I(“post.post”)传递到$article。
ThinkCMF X 2.2.3 SQL注入漏洞_第1张图片
可以看到,数据是从外部进入的,并且id参数是可控的,为save操作。

而$article=I(“post.post”),该函数定在跟进到/simplewind/Core/Common/functions.php文件,而I方法定义在428行,会调用think_filter方法对参数进行过滤。

由于正则字符中没有匹配bind,所以导致了后面的注入漏洞,ThinkPHP官方的修复措施就是在此处匹配时加上了bind。接下来进入典型的数据库更新操作了,$articles为多维数组包含payload。

最终Payload为:

ThinkCMF X 2.2.3 SQL注入漏洞_第2张图片

你可能感兴趣的:(ThinkCMF X 2.2.3 SQL注入漏洞)