sql注入问题

小白一枚,在学习黑客攻防技术宝典时,看到如何查明sql注入,有以下内容:1.提交一个单引号作为目标查询的数据。观察是否会造成错误或者结果是否与原始结果不同2.如果发现错误... 小白一枚,在学习黑客攻防技术宝典时,看到如何查明sql注入,有以下内容:
1. 提交一个单引号作为目标查询的数据。观察是否会造成错误或者结果是否与原始结果不同
2. 如果发现错误或者其它异常,同时提交2个单引号,看会出现什么情况。如果这个输入使错误或者异常消失,web程序可能易于受到sql注入
3. 为了进一步核实漏洞是否存在,可以使用sql连接符建立一个等同于“良性”输入的字符串。如果web程序以和处理“良性”输入相同的方式处理专门设计的输入,那么它可能易于受到攻击。在一个易于受到攻击的web程序中,可以注入以下等同于FOO的输入:
mysql:' 'FOO(注意两个引号之间有一个空格)

问题:
看作者的意思是通过以上3步来查明sql注入漏洞,那么什么情况下会出现1中的情况,而不出现2和3中的情况?什么情况下会出现1,2中的情况,而不出现3中的情况?即第2,3步的意义是?
望高手指点,谢谢!
展开
 我来答
sunkunjava
2018-01-30 · TA获得超过269个赞
知道小有建树答主
回答量:172
采纳率:83%
帮助的人:53.4万
展开全部
通过程序代码拼接的sql是动态构造的,由一个不变的基查询字符串和一个用户输入字符串连接而成。例如一个攻击者在前端文本框中输入字符串“name' OR 'a'='a”,那么构造的查询就会变成:SELECT * FROM XXX WHERE _file = 'name' OR 'a'='a';
可以见得附加条件 OR 'a'='a' 会使 where 从句永远评估为 true,因此该查询在逻辑上将等同于一个更为简化的查询:SELECT * FROM items;
你说的1、2、3步骤总结到最后就是输入上述的那种字符串
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
汇智知了堂
2021-04-27 · 百度认证:成都知了汇智科技有限公司官方账号
汇智知了堂
向TA提问
展开全部

8.26:web安全基础及手工判断sql注入漏洞点

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式