<button id="ei02c"><ol id="ei02c"></ol></button>
            1. <div id="ei02c"></div>

                    1. 安基网 首页 安全 安全学院 查看内容

                      前端基础面试:常见web安全及防护原理,说说XSS和CSRF的区别

                      2019-3-28 01:05| 投稿: xiaotiger |来自: 互联网


                      免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和?#35745;?#29256;权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

                      摘要: 1、XSS的基本概念XSS(Cross Site Scripting):跨域脚本攻击。XSS的攻击原理XSS攻击的核心原理是:不需要你做任何的登录认证,它会通过合法的操作(比如在url中输入、在评论框中输入),向你的页面注入脚本(可能是js、hmtl代码块等)。最后导致的结果可能是:盗用Cookie破坏页面的正常结构,插入广告 ...

                      1、XSS的基本概念

                      XSS(Cross Site Scripting):跨域脚本攻击。

                      XSS的攻击原理

                      XSS攻击的核心原理是:不需要你做任何的登录认证,它会通过合法的操作(比如在url中输入、在评论框中输入),向你的页面注入脚本(可能是js、hmtl代码块等)。

                      最后导致的结果可能是:

                      盗用Cookie

                      破坏页面的正常结构,插入广告等恶意内容

                      D-doss攻击

                      XSS的攻击方式

                      1、反射型

                      发出请求时,XSS代码出现在url中,作为输入提?#22351;?#26381;务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,所以叫反射型XSS。

                      2、存储型

                      存储型XSS和反射型XSS的差别在于,提交的代码会存储在服务器端(数据库、内存、文件系统等),下次请求时目标页面时不用再提交XSS代码。

                      XSS的防?#27934;?#26045;(encode + 过滤)

                      XSS的防?#27934;?#26045;主要有三个:

                      1、编码:

                      对用户输入的数据进行 HTML Entity 编码。

                      Encode的作用是将等一些字符进行转化,使得浏览器在最终输出结果上是一样的。

                      2、过滤:

                      移除用户输入的和?#24405;?#30456;关的属性。如onerror可以自动触发攻击,还有onclick等。移除用户输入的Style节点、Script节点、Iframe节点。(尤其是Script节点,它可是支持跨域的呀,一定要移除)。

                      3、校正

                      避免直接对HTML Entity进行解码。使用DOM Parse转换,校正不配对的DOM标签。


                      CSRF

                      1、CSRF的基本概念、缩?#30784;?#20840;称

                      CSRF(Cross-site request forgery):跨站请求伪造

                      2、CSRF的攻击原理

                      用户是网站A的注册用户,且登录进去,于是网站A?#36879;?#29992;户下发cookie。

                      ?#30001;?#22270;可以看出,要完成一次CSRF攻击,受害者必须满足两个必要的条件:

                      (1)登录受信任网站A,并在本地生成Cookie。(如果用户没有登录网站A,那么网站B在诱导的时候,请求网站A的api接口时,会提示你登录)

                      (2)在不登出A的情况下,访问危险网站B(其实是利用了网站A的漏洞)。

                      温馨提示一下,cookie保证了用户可以处于登录状态,但网站B其?#30340;?#19981;到 cookie。

                      3、CSRF如何防御

                      方法一、Token 验证:(用的最多)

                      (1)服务器发?#36879;突?#31471;一个token;

                      (2)?#31361;?#31471;提交的表单中带着这个token。

                      (3)如果这个 token 不合法,那么服务器拒绝这个请求。

                      方法二:隐藏令牌:

                      把 token 隐藏在 http 的 head头中。

                      方法二和方法一有点像,本质上没有太大区别,只是使用方式上有区别。

                      方法三、Referer 验证:

                      Referer 指的是页面请求来?#30784;?#24847;思是,只接受本站的请求,服务器才做响应;如果不是,就拦截。


                      CSRF 和 XSS 的区别

                      区别一:

                      CSRF:需要用户先登录网站A,获取 cookie。

                      XSS:不需要登录。

                      区别二:(原理的区别)

                      CSRF:是利用网站A本身的漏洞,去请求网站A的api。

                      XSS:是向网站 A 注入 JS代码,然后执行 JS 里的代码,篡改网站A的内容。



                      小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职?#26377;劍?/font>

                      本文出自:https://www.toutiao.com/a6672632157946511885/

                      免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和?#35745;?#29256;权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!


                      鲜花

                      ?#24080;?/a>

                      雷人

                      路过

                      鸡蛋

                      相关阅读

                      最新评论

                       最新
                      返回顶部
                      新疆11选5计算公式 重庆幸运农场进来聊 北京单场7串1命中6个 二肖中特精准老管家 重庆时时彩后一不定位 泳坛夺金 体彩江苏7位数开奖直播 彩票黑龙江11选5 多乐彩怎么看冷热号 老11选5多久开奖 四不像奇人透码资料图 pc蛋蛋app预测 ag真人荷官平台 香港白小姐透码 139期快乐双彩开奖结果 老快3投注预测