【SQL注入】---[极客大挑战 2019]EasySQL---day01

一、界面

进来以后就是一个登录框
image

二、SQL注入思路

1、判断是否存在注入点

①单引号报错

用户名输入单引号 ' 报错,密码随便输123123
image
服务器返回错误,没有对单引号作过滤的处理,判断存在SQL注入。
通过这个错误可以看出这里使用的是MariaDB

②1=1 1=2测试方法

  • 首先正常输入
    image
    正常显示:
    image
  • 尝试输入;and 1=1
    image
    结果:
    正常显示,和上面的一样。
  • 尝试输入;and 1=2
    发现还是正常显示,如过显示EOF或者BOF则可以注入,
    不可注入的表现:第一步正常,二和三会有错误提示,或提示类型转换时出错.

③结论:

判断出这里存在注入点,并且可以用单引号来闭合 ',数据库类型MariaDB。在使用双引号的时候,页面会正常显示。

2、查看有多少字段

①判断出用户名和密码都是Get传参

image

②查看有多少字段

image
但是这样有语法错误,因为后面还有一个单引号,通过#注释掉(#号是SQL中的注释符号),但是不能直接输入#号,通过URL编码才可以,#的URL编码是%23.
image
image
一直到3的时候才正常
image

③结论:

有3个字段

3、使用联合查询查看数据库信息

image
这里直接出来了flag。

三、万能密码解法

image
这里就根据具体的语法闭合就可以了
也可以这样:
image

得到flag
image

posted @ 2021-05-17 15:54  DarkerG  阅读(95)  评论(0编辑  收藏  举报