首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在安全性方面,接收器比源更重要吗?

在安全性方面,接收器比源更重要吗?
EN

Stack Overflow用户
提问于 2013-09-17 21:41:41
回答 1查看 212关注 0票数 1

在编程过程中,我正在努力思考应该优先考虑哪些安全问题。让我们以MySQL和PHP的关系为例。

为了防止讨厌的人做跨站脚本,SQL注入等;从我读过的一堆文章中,似乎清理源(用户输入数据等)就足以应对大多数攻击。然而,相比之下,在静态源代码扫描器应用程序社区中,Sink似乎更专注于而不是源代码。(正在写入的数据池/数据库/文件)。为什么会这样呢?

我猜在完美的世界里,很多攻击,如果不是大多数攻击,都可以通过源代码处理来处理,对吧?有了正确的消毒方法,许多攻击都可以被阻止。

如何才能补救Sink而不是sources中的安全问题呢?

EN

回答 1

Stack Overflow用户

发布于 2013-09-18 04:42:11

有了正确的杀毒方法,很多攻击都可以被阻止…

如果你有一个所有可能的接收器的完整列表,那么你只能在源上阻止攻击,所以你可以删除这些格式中可能是“特殊”的字符。这是不切实际的,因为几乎所有的标点符号在某些上下文中都是“特殊的”,而且通常人们在大多数应用程序中确实需要能够使用标点符号。即使这样,过滤标点符号也不能防止未引用的SQL注入( OR 1攻击)。

输入验证充其量是一种深度防御措施,本身不足以抵御注入攻击。(当然,除了安全性之外,它还有其他好处。)

如何才能补救汇点而不是源代码中的安全问题呢?

  1. 上下文的正确输出转义形式;
  2. 没有标准形式的转义、带外字符过滤或特殊转义(例如,没有标准的方式来包含;在cookie值中,但一些应用程序决定将cookie视为URL编码的);
  3. 最棒的是,尤其是在上下文嵌套的情况下,因为很难正确使用抽象出转义需要的接口,例如参数化SQL查询和自动转义的模板语言

我希望“消毒”这个词永远消失。rant

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

https://stackoverflow.com/questions/18851578

复制
相关文章

相似问题

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