BUUCTF: [极客大挑战 2019] EasySQL (简单的SQL注入)

admin 2022年7月23日01:31:03评论391 views字数 626阅读2分5秒阅读模式

BUUCTF: [极客大挑战 2019] EasySQL

登录分析

打开是一个链接,有登录表单

BUUCTF: [极客大挑战 2019] EasySQL (简单的SQL注入)


看出是一道登录题,判断应该是SQL注入题目

尝试用账户admin、密码123456登陆

经典大法  :admin888
不出意外小日本si全家

看来不中

BUUCTF: [极客大挑战 2019] EasySQL (简单的SQL注入)


再尝试闭合方式,账号密码输入

1     1’     1"

来判断

BUUCTF: [极客大挑战 2019] EasySQL (简单的SQL注入)


当输入为1’时报错,所以判断结果语句应该为单引号闭合


BUUCTF: [极客大挑战 2019] EasySQL (简单的SQL注入)


您的 SQL 语法有错误;
检查与您的 MariaDB 服务器版本相对应的手册
了解在第 1 行的 ''1''' 附近使用的正确语法

知道是单引号闭合

构造真值绕过验证

ps:(用户名:‘请输入:’) 单引号闭合就是username的边界限制是俩单引号

直接上构造万能密码

万能密码就是绕过登录验证直接进入管理员后台的密码

这种类型的密码可以通用到很多存在此漏洞的网站

所以称之为万能

账号'or 1=1 #

密码任意


BUUCTF: [极客大挑战 2019] EasySQL (简单的SQL注入)


原因分析

一般的进行登录验证SQL语句是这样的

select * from table_name where username='admin ' or 1=1# ' and password ='xxx'

账号中的使前面的引号闭合

or 1=1 使语句恒成立

最后的#号会注释掉#之后的语句,避免报错

所以sql语句返回真值,成功绕过验证 得到flag

flag{845dd4f7-b0ed-426d-88ce-4c1bbab5a22a}

原文始发于微信公众号(猫因的安全):BUUCTF: [极客大挑战 2019] EasySQL (简单的SQL注入)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月23日01:31:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   BUUCTF: [极客大挑战 2019] EasySQL (简单的SQL注入)http://cn-sec.com/archives/1194255.html

发表评论

匿名网友 填写信息