【SQL注入】---[极客大挑战 2019]EasySQL---day01
一、界面
进来以后就是一个登录框
二、SQL注入思路
1、判断是否存在注入点
①单引号报错
用户名输入单引号 ' 报错,密码随便输123123
服务器返回错误,没有对单引号作过滤的处理,判断存在SQL注入。
通过这个错误可以看出这里使用的是MariaDB
②1=1 1=2测试方法
- 首先正常输入
正常显示:
- 尝试输入;and 1=1
结果:
正常显示,和上面的一样。 - 尝试输入;and 1=2
发现还是正常显示,如过显示EOF或者BOF则可以注入,
不可注入的表现:第一步正常,二和三会有错误提示,或提示类型转换时出错.
③结论:
判断出这里存在注入点,并且可以用单引号来闭合 ',数据库类型MariaDB。在使用双引号的时候,页面会正常显示。
2、查看有多少字段
①判断出用户名和密码都是Get传参
②查看有多少字段
但是这样有语法错误,因为后面还有一个单引号,通过#注释掉(#号是SQL中的注释符号),但是不能直接输入#号,通过URL编码才可以,#的URL编码是%23.
一直到3的时候才正常
③结论:
有3个字段
3、使用联合查询查看数据库信息
这里直接出来了flag。
三、万能密码解法
这里就根据具体的语法闭合就可以了
也可以这样:
得到flag