当前位置: 首页 > news >正文

DamiCMS SQL注入分析

2023年将会持续于B站、CSDN等各大平台更新,可加入粉丝群与博主交流:838681355,为了老板大G共同努力。

一、入口文件(单入口文件模式)

看一下Index.php文件代码:引入了php_safe.php文件
在这里插入图片描述
查看一下php_safe.php防御文件:
在这里插入图片描述
对变量errno/errno/errno/errfile/$errline用了个自定义处理函数set_error_handler做处理:
在这里插入图片描述

做一下分析:
'                                     --过滤单引号
(and|or)\\b.+?(>|<|=|in|like)             --过滤and/or/</>/=/in/like
\\/\\*.+?\\*\\/                         --过滤/ * 
<\\s*script\\b                          --过滤script
\\bEXEC\\b                            --过滤EXEC
UNION.+?SELECT                        --过滤union select
UPDATE.+?SET                          --过滤 update
INSERT\\s+INTO.+?VALUES                --过滤insert into values
(SELECT|DELETE).+?FROM                --过滤select/delete from
HEX(\\s+)?\(.+?\)|IF(\\s+)?\(.+?\)          --过滤hex编码
SLEEP(\\s+)?\(.+?\)                     --过滤sleep
USER(\\s+)?\(.+?\)                     --过滤user
(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE) --过滤create/alter/drop/truncate/table/database

对get/post/cookie也做了处理:
在这里插入图片描述

二、漏洞位置定位

C:\phpstudy_pro\WWW\damicms\Web\Lib\Action\ApiAction.class.php 万能获取数据接口
在这里插入图片描述
方法ajax_arclist中,使用了REQUEST传输方式,在65、69、71处有SQL交互,关键变量:ordor/ordor/ordor/where/num/num/num/field,查看是否可控:
在这里插入图片描述
查看一下过滤函数文件:C:\phpstudy_pro\WWW\damicms\Core\Common\functions.php
防SQL:
在这里插入图片描述
防XSS:
在这里插入图片描述

原生SQL:SELECT id,name FROM think_user limit 10
构造写法:$User->where(‘status=1’)->field(‘id,name’)->order(‘id desc’)->limit(5)->select();
生成SQL:SELECT id,name FROM think_user WHERE status=1 order by id desc limit 5
Payload:http://localhost/test0/index.php?s=/api/ajax_arclist/model/article/field/username,userpwd from admi_member%23
http://www.lryc.cn/news/2745.html

相关文章:

  • 图傅里叶变换的推导和理解
  • Java八股文(Java面试题)
  • java ssm idea高校图书借阅管理系统设计2z87z
  • 电脑重装系统注册表恢复方法
  • 信道建模(大尺度、小尺度、莱斯衰落、瑞利衰落、莱斯信道、瑞利信道)
  • 2022年12月电子学会Python等级考试试卷(四级)答案解析
  • 通过实例告诉你lua中ipairs到底是怎么遍历的!
  • Axios异步请求 json格式
  • Postgresql源码(100)Portal与事务的关系(顶层事务与子事务)
  • Java、JSP企业快信系统的设计与实现
  • 1.2(完结)C语言进阶易忘点速记
  • 雅思经验(十一)
  • C++中的智能指针
  • LSTM已死,Transformer当立(LSTM is dead. Long Live Transformers! ):下
  • OJ万题详解––[NOIP2004 提高组] 合并果子(C++详解)
  • MySQL-字符集和比较规则
  • 微搭低代码从入门到精通12-网格布局
  • 【c语言】二叉树
  • 六、Java框架之SpringBoot
  • 「Python|环境安装|Windows」如何在Windows上安装Python环境?
  • 人工智能轨道交通行业周刊-第33期(2023.2.6-2.12)
  • 五分钟看懂Java字节码:极简手册
  • C++ 类与对象(下)
  • Java基础——I/O
  • 关于@hide的理解
  • 使用python加密主机文件几种方法实现
  • 西湖论剑 2023 比赛复现
  • 微信小程序更换管理员/重置管理员
  • 企业进存销管理系统
  • C++入门