2025年sqlldr导入指定字段为null(sqlldr导入限定条件)

sqlldr导入指定字段为null(sqlldr导入限定条件)svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。



 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p><strong>SQL注入原理&#xff1a;</strong><br /> 1.参数用户可控化&#xff1a;前端传递给后端的参数是用户可以控制的<br /> 2.参数带入数据库查询&#xff1a;传入的参数拼接到SQL语句&#xff0c;且带入数据库查询</p> 

讯享网

sql注入常用知识:
1.information_schema:表示所有信息,包括库、表、列
2.information_schema.tables:记录所有表名信息的表
3.information_schema.columns:记录所有列名信息的表
4.table_schema:数据库的名称
5.table_name:表名
6.column_name:列名
7.group_concat():显示所有查询到的数据

在select用法中:
order by num column<=num时都会正确回显
​order by num column = = num时才会正确回显

  1. 用途不同:主要用于行数据的拼接,函数无法处理这个多列结果而则主要用于列数据的拼接,。
  2. 操作方式不同:使用concat时,需要为每个需要拼接的字段分别指定;而group_concat可以一次性拼接多个字段的值,且自动在每个值之间添加逗号。

首先有以下几种闭合方式:
SELECT * FROM ‘USERS’ WHERE id=1 #整形闭合
SELECT * FROM ‘USERS’ WHERE id=‘1’ #单引号闭合
SELECT * FROM ‘USERS’ WHERE id=“1” #双引号闭合
SELECT * FROM ‘USERS’ WHERE id=(‘1’) #单引号加括号闭合
SELECT * FROM ‘USERS’ WHERE id=(“1”) #双引号加括号闭合

原理:当闭合字符遇到转义字符时,会被转义,那么没有闭合的语句就不完整了,就会报错,通过报错信息来判断是否是该闭合方式
分析报错信息:看斜杠后面跟着的字符是什么就是什么转义字符,若是没有就是数字型
eg:转义字符为:')

讯享网

eg:无(数字型)

 

首先尝试:

讯享网
 
讯享网

无报错则为双引号闭合,报错则为双引号加括号闭合

多层括号同理

!!!一定要查询字段数一致!!!

首先判断闭合符:
字符型判断:
页面运行正常:
页面运行不正常:
数字型判断:
页面运行正常:
页面运行不正常:




:查询该数据表的字段数
访问id=1’ order by 3结果与id=1结果相同,访问id=1’ order by 4结果与id=1结果不相同,则字段数为3

使用根据字段数构造语句判断回显

#查询当前数据库:

#查询所有的数据库

#查询指定数据库中的所有表数据

#查询指定数据库指定表的全部列数据

#查询指定数据库指定表的部分数据

#查询指定数据库指定表指定列的部分数据 0x3a是冒号的十六进制表示


讯享网

查询语句与union相同,均返回一条报错结果
#获取当前的数据库名称

#获取所有数据库名


#获取指定数据库的所有表名

#获取指定数据库下指定表的所有列数据

#获取指定数据库下指定表明指定列下的字段值

#判断数据库长度


#指定字符一步一步判断截取到的字符


#使用ASCII比对截取的字符

#查询表名

GET注入由于id值本身为真,判定注入点要用and运算符
POST注入uname本身为假,判定注入点要用or运算符
判断闭合方式:

判断字段数:

if(表达式,结果1,结果2):

#判断数据库名称

#使用substr函数比对截取的字符

#使用ascii值比对截取的字符

#查询当前数据库下的表数据

#查询当前数据库下的指定表数据的列数据

#查询当前数据库下的指定表数据的列数据的字段值

#将Dumb的密码修改

#插入用户密码数据

#删除莫条数据

输入payload:
经过addslashes转字符之后:
分析:‘的url编码为%27,在经过addslashes后变成’,对应的url编码就变为%5c%27
针对上述情况,构造payload:
构造绕过的payload:
经过addslashes转字符之后:
分析:在payload中的之前加了一个字符,经过以后,就变成了,对应的URL编码为:。 当MySQL使用GBK编码时,会将 解析成一个字,从而使得单引号成功逃逸

#判断字段数

#查询当前数据库名

#查询所有的数据库

#查询当前数据库的部分表明

#查询当前数据库的所有表明

在sql注入时为布尔盲注、时间盲注,注入的效率低且线程高容易被waf拦截,又或者是目标站点没有回显,我们在读取文件、执行命令注入等操作时无法明显的确认是否利用成功,则使用DNSLog注入

!!!若要使用load_file函数,需要在mysql的my.ini配置文件中,添加secure_file_priv=‘’!!!
secure_file_priv参数用于限制LOAD DATA, SELECT …OUTFILE, LOAD_FILE()传到哪个指定目录。

  • secure_file_priv 为 NULL 时,表示限制mysqld不允许导入或导出。
  • secure_file_priv 为 /tmp 时,表示限制mysqld只能在/tmp目录中执行导入导出,其他目录不能执行。
  • secure_file_priv 没有值时,表示不限制mysqld在任意目录的导入导出。

payload:

小讯
上一篇 2025-06-01 09:36
下一篇 2025-06-11 10:26

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/184231.html