XSS 和 CSRF

感谢《码农翻身》的文章让我深刻记住这两种攻击方式。

1、《浏览器家族的安全反击战

2、 《黑客三兄弟

3、  《黑客三兄弟续

 下面是我的整理内容:

目录

矛与盾教量:

矛:利用js获取其他网站的cookie 

盾:JS 同源策略 {protocol, host, port}

矛:JS 注入

盾:cookie 添加 HttpOnly 属性 禁止js 读取

矛:JS 假造登录框  获取账号密码(登录页面咋注入js呢?)

盾:过滤,转义

矛:跨站请求伪造CSRF

 盾: from 请求加入随机数(token)


矛与盾教量:

矛:利用js获取其他网站的cookie 

盾:JS 同源策略 {protocol, host, port}

      所谓的 同源 是指域名、协议、端口号 相同。不同的客户端脚本(javascript,ActionScript)在没有授权的情况下,不能读取对方资源。简单来说,浏览器允许包含在页面A的脚本访问第二个页面B的数据资源,这一切是建立在A和B页面是同源的基础上。

  •        html 嵌入式也是同源(<img>   <script>)
  •        一级域名相同(www.shanjun.wang与code.shanjun.wang 同源)

  不过cookie的domain一定要设置为那个一级域名才可以,例如:”

document.cookie = 'test=true;path=/;domain=store.com'

  •       AJAX 白名单  跨域请求  需要服务端配合

      

码农翻身
// 指定允许其他域名访问
response.setHeader("Access-Control-Allow-Origin", "*");

矛:JS 注入

    例如: 在文本输入框中注入js (存储型XSS

码农翻身​​​​​

盾:cookie 添加 HttpOnly 属性 禁止js 读取

response.setHeader("Set-Cookie", "cookiename=value;

Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");

矛:JS 假造登录框  获取账号密码(登录页面咋注入js呢?

盾:过滤,转义

  •      对输入内容过滤 将特定字符去掉 :给Servlet加Filter。
  •       对输出内容编码转义
码农翻身

矛:跨站请求伪造CSRF

   假网站伪造一个真网站的请求。在假网站做一个图片链接,不用用户点击自动请求转账链接

码农翻身

  盾: from 请求加入随机数(token)

        (现在Gmail支持多个tab同时持有多个SessionID) 后台对参数进行校验,实际操作看这个:SpringMVC如何防御CSRF

        HTTP Referer字段验证: 验证referer和当前网站(request.getScheme())+”://”+request.getServerName())是不是一个网站。

        有时间我会做一个模拟实验。有时间。。。。。。  

XSS(跨站脚本攻击)和 CSRF(跨站请求伪造)是两种常见的网络安全攻击方式,它们的目标和实现方式不同。 XSS攻击主要针对的是网页应用中存在的漏洞,攻击者通过注入恶意的脚本代码到网页中,使得用户在浏览网页时执行该恶意代码,从而达到攻击的目的。XSS攻击可以分为存储型、反射型和DOM型三种形式。存储型XSS攻击是将恶意代码存储到服务器端,当用户访问包含恶意代码的页面时,恶意代码会从服务器端获取并执行;反射型XSS攻击是将恶意代码作为URL参数或表单提交到服务器端,服务器端将恶意代码返回给浏览器并执行;DOM型XSS攻击则是通过修改网页的DOM结构来实现攻击。 CSRF攻击则是利用用户已经登录认证的状态下,诱使用户点击恶意链接或访问恶意网页,从而触发已登录用户的操作。攻击者通过伪造请求,使用户在不知情的情况下执行了非自愿的操作。例如,攻击者可以通过发送包含恶意请求的图片链接或者钓鱼网站来实施CSRF攻击。CSRF攻击的关键在于利用了用户的身份认证信息。 综上所述,XSSCSRF的主要区别在于攻击的目标和实现方式。XSS攻击主要针对网页应用中的漏洞,注入恶意脚本代码;而CSRF攻击则利用用户已登录认证的状态下,伪造请求进行非自愿的操作。为了防范这两种攻击,开发者需要在编写代码时注意输入验证、输出编码以及限制权限等安全措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值