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

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

[[128984]]

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

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

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

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

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

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

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

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

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

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

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

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

后期修补:在开发后期增加安全功能

有的网站或Web应用在构建时并没有内建安全性。记住:安全并不是以后增加的东西,它应当是整个应用架构的整体功能的一部分。架构是应用开发的最重要的方面,因为它会影响应用程序的所有其它方面,其中就包括安全性。

这种错误的表现(如漏洞和错误配置)可以追溯到开发阶段:开发者最后将安全作为一种额外增加的特性或功能。如有的开发团队有这样的认识:不错,所有的功能都正常运行,现在开始解决安全性问题吧。这种思想会带来应用程序架构上的安全漏洞从而增加风险。在应用程序完全部署后,任何人都很难去解决跨站请求伪造(CSRF)及大量的SQL注入漏洞了。所以,开发者应当在开发和构建Web应用程序的整个生命周期中构建安全性。

放任用户:允许用户生成弱口令

每当有攻击者破解网站或Web应用并暴露用户口令时,一个明确的事实都会随之浮出水面:用户们的安全习惯太差。例如,用户们的最常用的口令是“abcde”或“12345678”之类。Web应用的开发者不应当允许用户创建弱口令。开发者应当要求用户的口令达到足够的长度,确保其易于记忆但又难以猜测(例如,强口令至少应当包含字母、数字及特殊字符,长度达10个字符以上)。最好的口令未必是最复杂的。强迫用户使用过度复杂的口令往往导致用户一些不安全的做法,例如把口令写下来然后再贴到电脑的一个地方。

忽视加密:以纯文本存储用户口令和数据

Web应用开发者最常犯的错误是没有保证用户认证凭据的安全。用户们想当然地认为网站或Web应用会做得很安全,但不幸的是,太多的网站或Web应用没有做好。从总体上说, Web应用或网站在处理和保存口令方式上往往存在漏洞。

问题是:怎样才能正确地保存口令?这里重点谈一个最常见却很不安全的做法:以明文保存口令。许多大公司也有可能犯这样的错误。对企业数据库的任何损害都不应当使用户数据遭受风险,尤其是用户们使用的口令。因而,企业的应用程序应当对用户的口令和其它细节进行加密,然后才将其保存在一个数据库中。

企业应用的开发者必须思考,在黑客取得企业数据库的访问权时,他们能怎样轻易地窃取数据?如果开发者加密数据,就会导致个人和企业信息的大量泄露。

仅仅因为数据库引擎要求用户名和口令并不意味着黑客无法窃取数据文件和获取其中的信息。数据的安全性依赖于数据库引擎的安全性,如果黑客利用了数据库引擎的漏洞,就可以轻松地访问数据库。这正是许多大型游戏和电子商务网站遭受破解的原因,也是包含信用卡数据在内的所有个人信息失窃的原因。#p#

“明修栈道”:通过URL路径名传递变量

还有一种危险但常见的做法:许多开发者把变量放在URL中,这会为黑客打开利用其它应用或数据的大门。这种错误的风险非常巨大。

开发者绝对不能允许用户与之交互的变量成为文件路径的一部分。如果URL中包含下载文件的路径,攻击者就可以修改URL,使其引用另一个文件,从而可能下载包含用户口令的文件。由此,攻击者用一个链接(例如,该链接允许用户下载应用程序的免费版)就达到了利用漏洞的目的。

正所谓开发者“明修”了“栈道”,却被攻击者“暗渡”了“陈仓”。

顾此失彼:仅在客户端执行授权

如今,越来越多的开发者日渐重视客户端。这种趋势会使应用程序更快更强大,但如果开发者不能正确地解决程序的授权问题,就会带来安全隐患。

很多Web应用的开发者依赖客户端的浏览器去完成以前在服务器完成的任务。从安全的观点看,这种做法缺少了许多控制,因为开发者并不了解客户端的种类。客户端甚至有可能并非浏览器。开发者不应当轻易地相信发生在客户端的操作,不应当仅依赖JavaScript或客户端代码来实现关键功能,对于涉及到付款信息和其它敏感信息的功能,尤其要注意。

盲目乐观:认为自己不可能出问题

在开发Web应用程序时,开发人员容易犯的错误是:想当然地认为自己的应用程序不会遭到攻击,或者认为自己不会犯错误。这些想法都会导致安全问题。开发者应当总是设想自己的程序会遭受攻击,而且自己也会犯安全方面的错误。这种思想有助于开发者避免或减少安全风险,从而避免公司遭受损失。

谁都会犯错。如果开发者在黑客找到漏洞之前自己先找到了问题,问题还不算大。在开发者和软件测试者测试和审计Web应用程序时,或在企业投入使用程序之前,开发者或测试者不妨使用著名的开源工具OWASP ZAP来扫描企业的应用程序,查找一些常见的漏洞和错误。

结束语

此文谈到了一些最基本的却是很重要的一些安全错误。希望开发者在此基础上能够进一步发现和总结在Web应用开发过程中的其它问题,构建更坚实的安全保障。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/145860.html<

(0)
管理的头像管理
上一篇2025-03-10 19:57
下一篇 2025-03-10 19:58

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注