前端预防XSS攻击全攻略

如何防止XSS攻击

一、是撒子

XSS攻击(跨站点脚本攻击),就是黑客恶意篡改你网页的前端代码,在里面注入一些恶意的 html+javascript的脚本,并在你的浏览器内运行,获取你的信息,或者进行一些恶意操作。

二、xss攻击的两种方式

1、反射型攻击

黑客在钓鱼网站设置其URL链接,URL链接可为色情动图、诱惑小视频,此URL链接内嵌有其恶意脚本,你点后 ,恶意脚本被返回至你的浏览器里。此时脚本就会运行,一旦控制了浏览器可得到大量东西,浏览器内包含cookie,可利用cookie伪造你的用户登录的session 状态,去以你这个用户的名义干一些事儿。

2、持久性攻击

持久型攻击,论坛、社交网站之类的系统,可发布一些帖子,评论。黑客可在里面写一段恶意脚本, 然后把恶意脚本混杂在评论内容里提交到网站的数据库里去 。然后其他用户在社交网站里浏览到了黑客的这个评论,评论内容会被返回到其浏览器里去,此时评论内容是包含恶意js脚本的,马上恶意脚本运行,可利用cookie伪造你的用户登录的session 状态,去以你这个用户的名义干一些事儿。

三、如何防止XSS攻击

如果要防止XSS攻击,一般来说手段有如下3种:

  1. 包含恶意URL链接的图片、视频、动图、flash动画,少点,尽量使用正规的网站 ;

  2. 消毒机制,代码里必须对内容进行消毒,就是进行一些转义,比 如说把>转义为>之类的,这样就可以把恶意脚本里的html标签、js代码之类的东西,都给转义掉,让这些恶意脚本失效 -> ,这种东西在浏览器里是不会运行的 这样的话,转义以后的脚本被其他用户看到的时候也不会在浏览器里运行了;

  3. HttpOnly方式,这个意思是说如果你在浏览器里存放cookie的时候,可以设置一个HttpOnly属性,比如说存放用户加密认证信息的 cookie,这样的话,在浏览器里运行的js脚本是被禁止访问这些HttpOnly cookie的,他就无法窃取你在浏览器里存储的cookie了。

四、XSS攻击要做什么坏事?

  1. 窃取cookie,然后借刀杀人,借用户的身份伪造数据请求;
  2. 劫持流量,后导流到他的私域网站上去;
  3. 插入广告;
  4. 置入木马;
  5. 获取用户信息;

五、预防xss攻击方法:

作用在一切用户可以输入的地方

前端预防XSS攻击全攻略_第1张图片

你可能感兴趣的:(前端,javascript,前端,xss)