国内领先的IT技术网站 |  | 地图 | 公众号

初越公众号

软件开发过程中安全代码的七大实践

本文从加密、编码、白名单、最小特权、以及转义不可信的用户输入等方面,为您罗列了日常软件开发过程中的七种安全编码的实践示例。

作者: 来源: | 2021-04-24 16:15:40

众所周知,软件的安全性如今已得到了前所未有的重视程度。许多企业会将安全性嵌入到应用程序的开发阶段。这样既能有利于整体安全性的遵守,又可以在软件的不同层面上创建多个安全性检查点。本文将通过如下图所示的各种方面,以实例的形式,向您展示各种安全代码的实践。虽然主要是以Java为例,但是它们也可以被运用到任何其他编程语言上。



1.转义/逃逸输入(Escape the Input)

所谓转义攻击是指攻击者将执行命令/查询,伪装并嵌入到普通的文字输入中,通过欺骗应用程序的执行引擎,而让其能够向攻击者提供各种信息与控制权。可见,为避免此类攻击的发生,我们需要对用户的输入进行转义,将其解释为文字,而非某些命令。同理,我们也需要对存储在数据库中的数据进行转义。


试想,如果某用户在其回帖的文字输入中带有JavaScript,那么他就可以试图从浏览器中窃取到Cookie。例如,当该回帖的内容被呈现在其他用户的浏览器屏幕上时,一旦我们的程序代码不去转义帖子中的包含的恶意代码。那么该JavaScript代码将被执行,并为攻击者提取各种所需的信息与控制权。以下是带有潜在风险的数据库查询代码,和相应的采取了转义措施的Java代码。

TOP