美文网首页
前端javascript防止xss攻击

前端javascript防止xss攻击

作者: 不退则进_笑 | 来源:发表于2020-06-28 17:13 被阅读0次

背景:同事的项目受到了xss攻击,组长要求我把之前的项目都加入xss攻击,但是我本人对这个很不了解。所以花了一下午的时间,查阅了一些资料,稍微明白了一点,所以记录下来

什么是xss:

XSS(Cross Site Scripting),跨站脚本攻击,是一种允许攻击者在另外一个用户的浏览器中执行恶意代码脚本的脚本注入式攻击。本来缩小应该是CSS,但是因为和层叠样式表重名,所以改为XSS

对于攻击者来说,能够让受害者浏览器执行恶意代码的唯一方式,就是把代码注入到受害者从网站下载的网页中。

类型:

1,持续型xss攻击

攻击者通过评论,表单提交的方式将<script>alert('xss')</script>提交到网站

服务端假如没有做任何处理,直接把数据返回给前端,前端展示在页面中,所有的的用户打开页面,也会弹出这个弹窗

这种攻击恶意代码会被存储在数据库中,其他用户访问也会被攻击,影响比较大

所以项目中有输入框和富文本编辑的需要注意下

2,反射型xss攻击

用户点开了带攻击的url,比如http://xxx?key=<script></script>

服务端给这个用户返回的内容包含这个恶意文本

用户的浏览器受到文本后,如果前端在代码中,正好用到这个key,那么就会出现弹窗

这种攻击方式是诱导用户去点击带攻击的链接才会出现

3,基于dom的反射型xss攻击:

用户点击带攻击的url,但是正好js中用了被攻击的这个参数,那么网页中就会弹出弹窗

这个攻击发生在js执行中,服务器无法检测我们的请求是否有被攻击的危险

危害:

比如一个h5购物页面,当用户正在浏览时,突然出现一个不合时宜的关于赌博的广告图片,那么这个时候可能就是被攻击了,这样就会严重影响用户的体验。或者是攻击者通过修改DOM在页面上插入假的登录框。或者是把表单的action属性指向他自己的服务器地址。这样都可以获取用户的敏感信息(所以,一般的小网站,或者是看着感觉有问题的网站,最好不要输入自己的个人信息或银行卡密码)

如何防止攻击:

看了一圈资料,感觉校验是最好的方式,对用户的输入和请求都进行检查,设置输入的规则,比如电话号码输入框,那就是尽量做到只允许输入数字。

对于持续型和反射型攻击,服务端是必须要验证的

对于DOM的反射型攻击,客户端是一定要检查的。

总结:对于各种攻击,最好客户端和服务端都要做处理。

举例:

同事的项目遇到了的攻击就属于反射型xss攻击,

他请求了一个接口,这个接口返回了一个HTML文档,文档内容如下

name等于returnUrl的标签里的value就是被攻击的。这个value是请求的接口传的一个入参返回的,入参:

http://baidu.com'><ScRiPt>alert(document.cookie)</ScRiPt>

服务端返回的html 里没有对他做处理,直接返回给了客户端,当用户打开这个页面,就会弹出这个弹窗

相关文章

  • 前端javascript防止xss攻击

    背景:同事的项目受到了xss攻击,组长要求我把之前的项目都加入xss攻击,但是我本人对这个很不了解。所以花了一下午...

  • 01 Web 前端安全相关

    01 前端安全系列(一):如何防止XSS攻击?02 前端安全系列(二):如何防止CSRF攻击?03 AJAX请求真...

  • 防止XSS脚本注入-前端vue、后端springboot

    防止XSS脚本注入-前端、后端 作者时间雨中星辰2020-09-10 xss是什么 跨站脚本攻击(XSS),是目前...

  • Vue | xss的使用与配置

    首先可以看一下xss的定义与基础思路 前端安全系列(一):如何防止XSS攻击?[https://tech.meit...

  • 开发安全问题

    1.XSS攻击 1.1什么是XSS攻击手段 XSS攻击使用Javascript脚本注入进行攻击 例如在提交表...

  • 请求头cookie 的 httpOnly 问题

    httpOnly 的最常见应用场景,即防止网站被 XSS 攻击攻破后,利用 javascript 获取 cooki...

  • xss攻击

    前端安全之XSS攻击 XSS(cross-site scripting跨域脚本攻击)攻击是最常见的Web攻击,其重...

  • 防止XSS攻击

    关于什么是XSS攻击这里就不说明了,百度一下有很多解释,这里只是做一个自己的修补记录,仅供参考。这里主要参考了公司...

  • PHP如何防止XSS攻击

    PHP如何防止XSS攻击 - OldBoy~ - 博客园

  • XSS攻击

    什么是XSS XSS(Cross Site Scripting):跨站式脚本攻击,为防止和CSS混淆简称为XSS,...

网友评论

      本文标题:前端javascript防止xss攻击

      本文链接:https://www.haomeiwen.com/subject/goewfktx.html