XSS 和 CSRF 原理和基本防御方式

目录

1.XSS是什么

2.XSS出现的常见原因 

3. XSS 攻击分类

 4.XSS 常见攻击方法

 5.XSS 如何防御?

1、使用 XSS Filter

2、html 实体

3、JavaScript编码 

2.CSRF

1.CSRF是什么

2.CSRF攻击攻击原理及过程如下:

3.  CSRF漏洞检测:

4.    防御CSRF攻击


1.XSS是什么


XSS攻击全称跨站脚本攻击(Cross Site Scripting).是一种常见于 Web 应用中的计算机安全漏洞。

2.XSS出现的常见原因 

大部分的 XSS 漏洞都是由于没有处理好用户的输入,导致恶意脚本在浏览器中执行。

3. XSS 攻击分类

反射型(常见于服务端没有对这些数据进行过滤、验证或者编码,直接将用户输入的数据呈现出来)、持久型(通常是因为服务器端将用户输入的恶意脚本没有经过验证就存储在数据库中,并且通过调用数据库的方式,将数据呈现在浏览器上,当页面被用户打开的时候执行,每当用户打开浏览器,恶意脚本就会执行。)、DOM 型( DOM Based XSS )通常使用script标签载入第三方恶意脚本


 4.XSS 常见攻击方法

1、绕过 XSS-Filter,利用 <> 标签注入 Html/JavaScript 代码;

2、利用 HTML 标签的属性值进行 XSS 攻击。例如:<img src=“javascript:alert(‘xss’)”/>;(当然并不是所有的 Web 浏览器都支持 Javascript 伪协议,所以此类 XSS 攻击具有一定的局限性)

3、空格、回车和 Tab。如果 XSS Filter 仅仅将敏感的输入字符列入黑名单,比如 javascript,用户可以利用空格、回车和 Tab 键来绕过过滤,例如:<img src=“javas cript:alert(/xss/);”/>;

4、利用事件来执行跨站脚本。例如:<img src=“#” οnerrοr= “alert(1)”/>,当 src 错误的视乎就会执行 onerror 事件;

5、利用 CSS 跨站。例如:body {backgrund-image: url(“javascript:alert(‘xss’)”)};

6、扰乱过滤规则。例如:<IMG SRC=“javaSCript: alert(/xss/);”/>;

7、利用字符编码,通过这种技巧,不仅能让 XSS 代码绕过服务端的过滤,还能更好地隐藏 Shellcode;( JS 支持 unicode、eacapes、十六进制、十进制等编码形式);

8、拆分跨站法,将 XSS 攻击的代码拆分开来,适用于应用程序没有过滤 XSS 关键字符(如<、>)却对输入字符长度有限制的情况下;

9、DOM 型的 XSS 主要是由客户端的脚本通过 DOM 动态地输出数据到页面上,它不依赖于提交数据到服务器,而是从客户端获得DOM中的数据在本地执行。容易导致 DOM 型的 XSS 的输入源包括:Document.URL、Location(.pathname|.href|.search|.hash)、Document.referrer、Window.name、Document.cookie、localStorage/globalStorage;
 


5.XSS 如何防御?

1、使用 XSS Filter

2、html 实体

3、JavaScript编码 

4、Http Only cookie


 

2.CSRF


1.CSRF是什么

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF


2.CSRF攻击攻击原理及过程如下:

 3.  CSRF漏洞检测:

       检测CSRF漏洞是一项比较繁琐的工作,最简单的方法就是抓取一个正常请求的数据包,去掉Referer字段后再重新提交,如果该提交还有效,那么基本上可以确定存在CSRF漏洞。

       随着对CSRF漏洞研究的不断深入,不断涌现出一些专门针对CSRF漏洞进行检测的工具,如CSRFTester,CSRF Request Builder等。
 


4.    防御CSRF攻击


 目前防御 CSRF 攻击主要有三种策略:

验证 HTTP Referer 字段;

在请求地址中添加 token 并验证;

在 HTTP 头中自定义属性并验证。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

接着奏乐接着舞。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值