首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以通过整数进行SQL注入?

是否可以通过整数进行SQL注入?
EN

Security用户
提问于 2016-11-11 12:33:05
回答 2查看 12.5K关注 0票数 8

下面是以下伪代码:

代码语言:javascript
复制
public  updated(int id) {

  // Note that variable **id** is not surrounded by single/double quotes. 

  sql = "Update table user set status=2 where user_id=**id** ";  

  // execute command
}

这是否容易受到SQL注入(可能是算术SQL注入)的攻击?

EN

回答 2

Security用户

发布于 2016-11-11 13:03:30

不,您的查询需要一个整数,并且保证得到一个整数。只有当攻击者能够提供可能更改查询的意外数据时,才会出现SQL注入漏洞。不同的整数不影响语法。但一旦您停止强制执行该类型,它就会变得不安全。

正如@CodesInChaos所指出的,如果您是这个片段的作者,您应该考虑使用参数化查询。这样,所提供的类型就变得不相关了,这更容易审计,也更难意外地打破。

票数 9
EN

Security用户

发布于 2016-11-12 02:09:06

没有已知的通过整数执行SQL注入的技术。但是请注意,在某些情况下,通过横向SQL注入,非整数容易受到SQL注入的影响。不清楚整数是否会永远保持安全。

正如其他答案所提到的-使用参数化查询,甚至对数字和日期。

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

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

复制
相关文章

相似问题

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