实战某项目SQL注入引发的思考
Posted peterpan0707007
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实战某项目SQL注入引发的思考相关的知识,希望对你有一定的参考价值。
数据包:
测试参数:username,测试payload:
‘
‘ or ‘1‘=‘1
‘ or ‘1‘=‘2
响应结果都未发生任何变化,借助sqlmap测试,结果一样:
尝试在or前面进行简单的fuzz,结果为:
发现‘ or 1=1 or ‘1‘=‘1可以直接登录系统,也就是说此处是存在sql注入的,构造payload,借助sqlmap检测
进一步分析,or 1=1 为true,说明后边or ‘1‘=‘1语句在数据库中执行结果为false,猜测也许在or ‘1‘=‘1后边还有其它未知的字符,尝试用burp测试了下,未找到。那既然这样,当时就想到直接后边and ‘1‘=‘1应该也行吧(无脑image),结果发现是错误的,查了下资料,and的优先级大于or,所以如果‘ or 1=1 and ‘1‘=‘1,会先执行 1=1 and ‘1‘=‘1 ,显然这个结果是false,然后or false,结果也是个false喽。
最后贴个sql运算符的优先级顺序图吧:
以上是关于实战某项目SQL注入引发的思考的主要内容,如果未能解决你的问题,请参考以下文章