web常见攻击手段 XSS,CSRF

本文详细介绍了两种常见的Web安全攻击手段:XSS(跨站脚本)和CSRF(跨站请求伪造)。XSS攻击分为存储型、反射型及DOM注入三种形式,并给出了具体的实施案例与防御措施。CSRF则利用用户的登录状态发起恶意请求,文中也提供了相应的防范策略。

web常见攻击手段

XSS Cross Site Scripting 为了与“CSS”区分开来,故简称XSS,翻译过来就是“跨站脚本”
  1. 存储型

  ⾸先⿊客利⽤站点漏洞将⼀段恶意JavaScript代码提交到⽹站的数据库中;
    然后⽤⼾向⽹站请求包含了恶意JavaScript脚本的⻚⾯; 
    当⽤⼾浏览该⻚⾯的时候,恶意脚本就会将⽤⼾的Cookie信息等数据上传到服务器。

    eg:文章的标题输入<script>alert(1)</script> ---> 存入服务器 --->用户查看文章就会加载这个脚本

    解决方案:服务器脚本过滤

  2. 反射型
  
  首先服务端有一个接口的功能是把请求参数返回给前端页面显示(直接返回,不存储数据库)
  与存储型的区别就是是否存到数据库

  解决方案:服务器脚本过滤

  3. dom注入

  ⽐如通过⽹络劫持在⻚⾯传输过程中修改HTML⻚⾯的内容
  这种劫持类型很多,有通过WiFi路由器 劫持的,有通过本地恶意软件来劫持的,它们的共同点是在Web资源传输过程或者在⽤⼾使⽤⻚⾯的过程中 修改Web⻚⾯的数据。

  通常服务器可以将某些Cookie设置为HttpOnly标志,这样⽆法通过 document.cookie是来读取关键信息
CSRF Cross Site Request Forgery 跨站伪造请求
场景:
用户已登录A网站http://A.com-->引诱用户点击链接-->链接内通过资源地址,form表单的方式发起http://A.com/getMoney?num=200
根据同源策略,发起这个请求时会自动携带cookie信息

解决方案:
1. 利⽤好Cookie 的 SameSite 属性
    SameSite = Strict,那么浏览器会完全禁⽌第三⽅ Cookie;
    SameSite = Lax从第三⽅站点的链接打开和从第三⽅站点提交Get⽅式的表单这 两种⽅式都会携带Cookie。但如果在第三⽅站点中使⽤Post⽅法,或者通过img、iframe等标签加载的 URL,这些场景都不会携带Cookie;
    SameSite = None的话,在任何情况下都会发送Cookie;
    
2. CSRF Token
    通过程序在请求头设置一个登录凭证的字段,比如 Authorization
    Authorization 的值为在登录成功后返回的token 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值