• 欢迎访问安全专题网站,安全专题信息,安全专题教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入安全专题 QQ群
  • 安全专题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏安全专题吧

Web应用开发人员最易犯的九个安全错误(1)

安全经验 网络收集 2年前 (2016-12-24) 243次浏览 0个评论

Web 应用程序开发是一个很宽泛的话题。本文仅讨论 Web 应用开发者应当避免的安全错误。这些错误涉及到任何开发者都不应当忽视的基本安全原则。

Web 应用开发人员最易犯的九个安全错误(1)

开发者应当注意哪些基本的安全原则?应当避免哪些安全错误?为回答这些问题,下面的建议可以回答上述问题。

自以为是:开发自己的安全方法

有些开发者错误地认为自己的算法或认证方法更安全:毕竟黑客从未见识过这种方法,所以他们在破解时会更困难。果真如此吗?

答案是否定的。开发者自己开发认证或登录方法是一个错误,因为他会犯一个或一些黑客能够发现的错误。开发者应当依靠现有的经过完全测试的安全方法,原因在于它们已经被安全社团反复测试过了。因此,这些方法不太可能包含被开发者忽视的重大安全漏洞。有安全专家指出,任何人都可以发明一种他们自己无法破解的加密算法,但要开发一种别人无法破解的方法就困难多了。所以,开发者还是老老实实地用经认证或安全测试的方法吧。

粗心大意:直接使用用户提供的信息访问数据库

在开发应用程序特别是在开发 Web 应用程序时,许多开发者没有充分地验证从用户那儿接收到的输入数据。这种做法存在安全问题,因为它允许非法的数据进入客户的数据库,并且还有更大的安全隐患。不能对用户的输入进行验证(无论是来自 Web 还是来自 API)会导致 SQL 注入、跨站脚本攻击、命令劫持、缓冲区溢出,以及被攻击者利用的其它 Web 应用程序漏洞。

这种错误在 Web 应用程序的开发中是最常见的。如果没有保护这些程序,用户就有可能利用输入字段将恶意脚本注入到应用程序或者访问数据库的私密数据。当然,多数用户不会有什么恶意企图,但开发者必须用防御的心态和方法来处理用户输入。

开发者不应当轻易相信用户输入,而要在客户端和服务器端进行双重验证。否则,就有可能产生严重的漏洞,如:跨站脚本攻击和 SQL 注入等。

忽视全局:关注组件而非整个系统

大型的开发项目往往是由多个开发者开发应用程序的不同部分,因而开发人员就容易关注个别组件。当然,如此开发的应用程序,其每个小部分可能很安全,但开发者是否考虑过整体的安全性?

许多安全问题并非产生于组件自身,而是在数据和过程从业务进程的一部分流动到另一部分时才会出问题。开发者一般都承担着一项业务进程的一部分,并且一般不理解业务过程的其它部分。这种认知缺乏会导致不安全的数据传递,从而将数据暴露给各种攻击和威胁,如中间人攻击、数据完整性问题、信息泄露等。

开发者对企业的业务服务有一个系统的观点是至关重要的,只有这样才能理解所有的组件如何协作,以及如何保证合并后的应用程序的安全。
转载请注明:安全专题


Selinux 中国 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Web 应用开发人员最易犯的九个安全错误(1)
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址