[极客大挑战 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
绕过判断