首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发现SQL注入漏洞

发现SQL注入漏洞
EN

Stack Overflow用户
提问于 2009-11-25 06:52:52
回答 3查看 450关注 0票数 2

昨天,我收到一封电子邮件,说我们的网站容易受到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意味着什么,因为我的网站很容易受到那种网址的攻击,可能对你的网站也很脆弱。

如何破译那个网址,那里发生了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-11-25 06:59:21

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

想必你的代码是这样写的

代码语言:javascript
复制
"select * from preview where ID=" + Request.QueryString["id"]

一旦你使用了那个QueryString,它就变成

代码语言:javascript
复制
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

他让你的管理帐号登录出现在你的预览页面上。

您应该始终确保SQL转义从用户那里获得的任何输入,或者更好地使用参数化查询,服务器将处理这些问题。如果不知道SQL服务器的语言或类型,我就不能真正指出您需要做哪些代码。

票数 8
EN

Stack Overflow用户

发布于 2009-11-25 07:01:39

您可能有类似于(我不知道php语法)的代码:

string sql = "select * from mytable where customerid = " + Request.QueryString("id");

现在,由于向您发送邮件的人向页面的querystring添加了更多的id,您的sql语句会喜欢这样的:

select * from mytable where customerid = 6111111661 and union all the tables that you don't want.

始终在查询中使用参数并检查用户输入!如果可能的话,尽量避免动态sql。

票数 1
EN

Stack Overflow用户

发布于 2009-11-25 17:14:13

将您的代码更改为这样工作。

代码语言:javascript
复制
$id = $_GET['id'];
$user = mysql_real_escape_string($_GET['user']);

if( is_numeric($id) )
{
   mysql_query($query);
}

现在,您的代码不会接受无效的用户ID,只要您使用我描述的方法对所有字符串进行清理,就不会有SQL注入的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1795099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档