BUUCTF: [极客大挑战 2019] EasySQL
登录分析
打开是一个链接,有登录表单
看出是一道登录题,判断应该是SQL注入题目
尝试用账户admin
、密码123456
登陆
经典大法 :admin888
不出意外小日本si全家
看来不中
再尝试闭合方式,账号密码输入
1 1’ 1"
来判断
当输入为1’
时报错,所以判断结果语句应该为单引号闭合
您的 SQL 语法有错误;
检查与您的 MariaDB 服务器版本相对应的手册
了解在第 1 行的 ''1''' 附近使用的正确语法
知道是单引号闭合
构造真值绕过验证
ps:(用户名:‘请输入:’) 单引号闭合就是username的边界限制是俩单引号
直接上构造万能密码
万能密码就是绕过登录验证直接进入管理员后台的密码
这种类型的密码可以通用到很多存在此漏洞的网站
所以称之为万能
账号'or 1=1 #
密码任意
原因分析
一般的进行登录验证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注入)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论