前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一次信息泄露引发的越权

一次信息泄露引发的越权

作者头像
HACK学习
发布2020-07-28 15:39:23
9640
发布2020-07-28 15:39:23
举报
文章被收录于专栏:HACK学习HACK学习

概述

登录逻辑

系统开放3012、12017两个端口,前者为身份认证接口,以json形式返回token与权限参数,后者为业务系统,前端调用js-aes对json加密得到cookie

漏洞成因

业务系统与接口彼此独立,仅验证token真实性,未检测cookie完整性,攻击者能解密cookie则可修改参数实现越权,而系统采用不安全的前端加密,导致漏洞产生

过程

js信息泄露

settingService.js,泄露aes密钥 1234567812345678 与偏移向量 1234567812345678

漏洞验证

对cookie解密得到json数据流

发现role等关键参数,默认1为真

使用全0与全1测试,验证漏洞存在

其他

登录名受cookie控制

写入js弹窗,可行

复测

已修复后端验证逻辑,但前端AES加密过程依然可见 Ctrl+shift+f 全文搜索 encryptlogin.min.js 文件中发现 key 与 iv

修复思路

前端:

  • 使用对称加密方法,避免明文存放关键数据,提高数据获取门槛
  • 采用非对称加密方式,前端使用公钥对数据加密,后端使用私钥对数据解密

后端:

  • 验证数据完整性

疑问解答: 1、文中提到的加密不就是对称加密吗,为啥修复思路说建议使用对称加密 2、网站的cookie是在前端生成的吗?那不就可以拿到加密方式伪造了吗?

  1. 使用对称加密方法的情况下,建议提高key、iv等关键数据的获取门槛,而不是明文写在js中,这样写更容易理解一点
  2. 后端通过token验证身份有效性,cookie中其他数据控制权限,前端即使拿到加密方式但是无法在3012端口获取token,伪造的cookie也是无效的

文章来自:先知社区

作者:Ainrm

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 HACK学习呀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
    • 登录逻辑
      • 漏洞成因
      • 过程
        • js信息泄露
          • 漏洞验证
            • 其他
            • 复测
            • 修复思路
            相关产品与服务
            Elasticsearch Service
            腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档