一、sql注入常用函数(理解参见 sql注入总结-51CTO博客
)
union:
用于拼接两个或多个 SELECT 语句的结果集,并消去表中任何重复行;
UNION 连接的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同.默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。
group by:
order by:根据指定的列
对结果集进行排序,默认按照升序排列。
用order by语句查询数据库中存在多少数据表。
concat(str1,str2,……):
连接一个或者多个字符串
group_concat
(str1,str2,……)
:
连接一个组的所有字符串,并以逗号分隔每一条数据
concat_ws(sep,str1,str2,……):使用第一个参数作为分隔符进行连接
二、mysql
的系统函数
user
(
)
:当前使用者的用户名
database
(
)
:当前数据库名
version
(
)
:数据库版本
datadir:读取数据库的绝对路径
@@vasedir:mysql安装路径
@@version_compile_os:操作系统
理解Schema,schemata,schema_name,table_schema
mysql 5.0版本以后提供了information.schema表,表中记录了数据库中所有的库、表、列等信息
SCHEMATA
表:储存mysql所有数据库的基本信息,包括数据库名,编码类型路径等,show databases的结果取之此表。(其中包含一列
schema_name
,即数据库名,不同于schema,schema_name只是单纯的数据库名)
TABLES
表:储存mysql中的表信息,(当然也有数据库名这一列,这样才能找到哪个数据库有哪些表嘛)包括这个表是基本表还是系统表,数据库的引擎是什么,表有多少行,创建时间,最后更新时间等。show tables from schemaname的结果取之此表(其中包含
table_schema
,表中的对应的库名信息
table_nama
同样不同于tables,只是单纯的表名
)
COLUMNS
表:提供了表中的列信息,(当然也有数据库名和表名称这两列)详细表述了某张表的所有列以及每个列的信息,包括该列是那个表中的第几列,列的数据类型,列的编码类型,列的权限,注释等。是show columns from schemaname.tablename的结果取之此表(其中包含
table_schema,表中对应的库名信息,table_nama表字段对应的表名,
columns_name
字段对应的字段名
|
sql注入常用利用模式:
sql报错注入总结(附自动化脚本)_i春秋社区
|
1.
rand
()用于产生一个0~1的随机数。
2.
floor
()向下取整
3. rand()函数生成0~1的函数,使用floor函数向下取整,值是固定的“0”,我们将rand*2,得到的值就是不固定的,“0”或者“1”。
|
SQL注入相关-持续更新
最新推荐文章于 2024-04-27 15:01:59 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)