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

可能的SQL注入漏洞?
EN

Security用户
提问于 2018-06-12 10:11:29
回答 1查看 660关注 0票数 4

我是一个开发人员,我正在创建一个脚本,与游戏服务器接口,以更新玩家的统计数据。我发送了一个带有多部分表单数据的POST请求,在最后一个边界上意外地出现了错误的边界。

Content-Type: multipart/form-data; boundary=--------484554302

但是缺少了一个字符----------48455430--,它从服务器上触发了这个响应:

代码语言:javascript
复制
MySQL error 1064 (You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\r\n----------48455430-- = '' WHERE id = '463413'' at line 1)

我对SQL不太了解,但这似乎是一个潜在的漏洞。有什么建议吗?

EN

回答 1

Security用户

回答已采纳

发布于 2018-06-12 10:32:53

看起来,在没有适当的编码或使用预先准备好的语句的情况下,您正在将前面一组数据中应该包含的内容传递给MySQL。因此,MySQL将边界解释为SQL代码,并抛出一个错误,说明它是无效的。

至少,您需要对SQL查询中包含的任何数据进行编码。更好的是,将数据强制为特定类型--如果需要一个整数,请确保只允许整数通过,在数据到达数据库之前拒绝任何不是整数的数据。更好的是,这样做,并使用预先准备的语句。

准备好的语句强制您在SQL中使用可执行SQL和数据之间的分离,因此即使意外数据通过,数据库也不会将其视为SQL语句的一部分,而是尝试将其用作数据。它们可用于最常用的web语言和最常见的数据库。它们并不完美(参见准备好的语句对SQL注入是否100%安全?),但它们比包含原始数据要好得多。

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

https://security.stackexchange.com/questions/187602

复制
相关文章

相似问题

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