<返回更多

一次信息泄露引发的越权

2020-07-24    
加入收藏

概述

登录逻辑

系统开放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 全文搜索 encrypt , login.min.js 文件中发现 key 与 iv

一次信息泄露引发的越权

 


一次信息泄露引发的越权

 

修复思路

前端:

后端:

作者:Ainrm

转载自:https://xz.aliyun.com/t/8022

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>