CSRF和XSS

1、CSRF

基本概念和缩写:
CSRF,通常称为跨站请求伪造,英文名Cross-site request forgery 缩写CSRF

攻击原理
在这里插入图片描述
攻击前提条件:

  • 在注册网站登录过
  • 网站某个接口有漏洞

防御措施

  • Token验证(访问接口时带上token)
  • Referer验证(服务器判断页面来源是否是该网站下的)
  • 隐藏令牌

2、XSS

基本概念和缩写:
XSS(cross-site scripting 跨域脚本攻击)

攻击原理
向页面注入脚本并运行

攻击方式:

  • 反射型
  • 存储型

反射型
两点条件:
发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回浏览器,最后浏览器解析执行XSS代码。

触发方式
自动触发:通过img标签如: http://localhost:3000/?xss=<img src="null" onerror="alert(111)"/>
引诱触发:http://localhost:3000/?xss=<p onclick="alert(点我啊)">点我啊</p>
iframe方式:http://localhost:3000/?xss=<iframe src=" baidu.com/1.html"></iframe>常用来插入广告之类的。

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

防御措施:

  • 第一步:编码
    对用户输入的数据进行HTML Entity编码
  • 第二步:过滤
    移除用户上传的DOM属性,如onerrror等
    移除style节点、script节点、iframe节点等
  • 第三步:校正
    避免直接对HTML Entity解码 使用DOM
    Parse转化,校对不配对的DOM标签

3、区别:

CSRF是依赖于登录该网站并且利用该网站接口的漏洞去执行接口,XSS是通过注入脚本的方式去执行相应的js操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值