在编程过程中,我正在努力思考应该优先考虑哪些安全问题。让我们以MySQL和PHP的关系为例。
为了防止讨厌的人做跨站脚本,SQL注入等;从我读过的一堆文章中,似乎清理源(用户输入数据等)就足以应对大多数攻击。然而,相比之下,在静态源代码扫描器应用程序社区中,Sink似乎更专注于而不是源代码。(正在写入的数据池/数据库/文件)。为什么会这样呢?
我猜在完美的世界里,很多攻击,如果不是大多数攻击,都可以通过源代码处理来处理,对吧?有了正确的消毒方法,许多攻击都可以被阻止。
如何才能补救Sink而不是sources中的安全问题呢?
发布于 2013-09-18 04:42:11
有了正确的杀毒方法,很多攻击都可以被阻止…
如果你有一个所有可能的接收器的完整列表,那么你只能在源上阻止攻击,所以你可以删除这些格式中可能是“特殊”的字符。这是不切实际的,因为几乎所有的标点符号在某些上下文中都是“特殊的”,而且通常人们在大多数应用程序中确实需要能够使用标点符号。即使这样,过滤标点符号也不能防止未引用的SQL注入( OR 1攻击)。
输入验证充其量是一种深度防御措施,本身不足以抵御注入攻击。(当然,除了安全性之外,它还有其他好处。)
如何才能补救汇点而不是源代码中的安全问题呢?
;在cookie值中,但一些应用程序决定将cookie视为URL编码的);我希望“消毒”这个词永远消失。rant
https://stackoverflow.com/questions/18851578
复制相似问题