[极客大挑战 2019]EasySQL 1

2022/3/19 19:30:35

本文主要是介绍[极客大挑战 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假  返回真。验证通过。



这篇关于[极客大挑战 2019]EasySQL 1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程