[极客大挑战 2019]EasySQL

[极客大挑战 2019]EasySQL
2020年7月15日

绕圈子的解法

1.测试简单注入语句

有报错回显

所以密码框存在注入,可以用’闭合
当输入2”时,正常返回密码错误

接下来用%23作注释符,可以得到页面正常。
sql中用#作为注释,这是用get传递数据,用url编码一下就是%23

然后开始查有多少字段


测试到3的时候发现可以正常显示了,说明前面的查询字段有3个
构造语句,开始查当前数据库
Payload:username=1&password=1' union select null,null,(select database()) %23
有三个查询字段,所以union 后面的语句填充两个null,和一个查当前库的语句

查到数据库就已经爆出flag


实际上的一般解法

2020年7月23日09:16:22
实际上这道题是登录成功就可以拿到flag
在用户名和密码都填:
payload:' or 1=1
由于用户名和密码都存在sql注入漏洞,可以用'闭合前面的查询语句同时用or绕过判断

原文地址:https://www.cnblogs.com/yunqian2017/p/13304904.html