前端常见的攻击

Posted wenxuehai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端常见的攻击相关的知识,希望对你有一定的参考价值。

参考:https://segmentfault.com/a/1190000006672214?utm_source=weekly&utm_medium=email&utm_campaign=email_weekly#articleHeader14

1、XSS攻击

XSS攻击全称跨站脚本攻击,一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入页面中,这样当别人访问到该页面时也执行了嵌入的代码进行一些操作。

其实在web前端方面,可以简单的理解为一种 javascript 代码注入。详情例子请看上面的参考链接。

1.1、防范XSS攻击

1、编码,就是转义用户的输入,把用户的输入解读为数据而不是代码

2、校验,对用户的输入及请求都进行过滤检查,如对特殊字符进行过滤,设置输入域的匹配规则等。

3、使用cookie的HttpOnly属性,加上了这个属性的cookie字段,js就无法进行读写了。

 

2、CSRF攻击

CSRF(跨站请求伪造),是一种对网站的恶意利用。其实就是网站中的一些提交行为,被黑客利用,你在访问黑客的网站的时候,进行的操作,会被操作到其他网站上(如:你所使用的网络银行的网站)。

比如:CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任,以用户身份在攻击页面对目标网站发起伪造用户操作的请求,达到攻击目的。比如说你登录了一个普通网站,然后又打开另一个恶意网站,那个恶意网站就可能会冒充你的身份来进行一些操作。具体例子参考:https://segmentfault.com/a/1190000006672214?utm_source=weekly&utm_medium=email&utm_campaign=email_weekly#articleHeader14https://www.cnblogs.com/lovesong/p/5233195.html

2.1、防范CSRF攻击

1、重要数据交互采用POST进行接收,当然是用POST也不是万能的,伪造一个form表单即可破解

2、使用验证码,只要是涉及到数据交互就先进行验证码验证,这个方法可以完全解决CSRF。但是出于用户体验考虑,网站不能给所有的操作都加上验证码。因此验证码只能作为一种辅助手段,不能作为主要解决方案。

3、验证HTTP Referer字段,该字段记录了此次HTTP请求的来源地址

4、为每个表单添加令牌token并验证

 

3、DNS劫持

DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,只把在要劫持的域名请求名单之外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址。

很多的时候,我们的网站不是直接就访问到我们的服务器上的,中间会经过很多层代理。如果在某一个环节,数据被中间代理层的劫持者所截获,他们就能获取到使用你网站的用户的密码等保密数据。比如说,我们经常会在各种饭馆里面连一些wifi,此时WiFi就是中间代理,如果这个wifi是黑客所建立的热点wifi,那么黑客就可以截获该用户收发的所有数据。所以建议网站都使用https进行加密,这样就算网站的数据能被拿到,黑客也无法解开。

以上是关于前端常见的攻击的主要内容,如果未能解决你的问题,请参考以下文章

前端常见的攻击

前端常见攻击以及安全措施

常见前端安全问题总结

前端攻击防御

前端安全之XSS攻击

前端安全之XSS攻击