当前位置:  开发笔记 > 数据库 > 正文

发现SQL注入漏洞

如何解决《发现SQL注入漏洞》经验,为你挑选了1个好方法。

昨天我收到一封电子邮件,说我们的网站容易受到SQL注入攻击.电子邮件说:

我在你的服务器上尝试了一些经典的SQL注入.此URL包含结果:

http://www.mysite.com/ppreview.php?id=611111161%20and%201=0%20UNION%20all%20SELECT%201,2,3,4,password,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35, 36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60, 61,62,63,64,65,66,67,68,USER_ID,70,71%20%20from%20admin - &U = 10064&T = users_cars

请注意,在上面的URL中,我没有公开我的实际域名并将其替换为mysite.com.

任何人都可以解释上面的URL意味着什么,因为我的网站容易受到那种网址的攻击,也可能是你的网站.

如何解码该网址,那里发生了什么?



1> fyjham..:

问题是您将查询字符串上的SQL命令连接到SQL命令中.

大概你的代码就像是

"select * from preview where ID=" + Request.QueryString["id"]

一旦你使用了QueryString就变成了

select * from preview where ID=611111161 and 1=0
UNION ALL
SELECT 1,2,3,4,password,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,user=id,70,71
FROM admin

EG:他让您的管理员帐户登录显示在预览页面上.

您应该始终确保SQL转义从用户获得的任何输入,或者甚至更好地使用参数化查询,服务器将负责这一点.在不知道SQL服务器的语言或类型的情况下,我无法真正指出您需要执行哪些代码的方向.

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有