当前位置: 首页 > news >正文

网安-JWT

认证的方式:

session+cookie、jwt、token

Session认证机制

需要配合Cookie才能实现。由于 Cookie默认不支持跨域访问 ,所以,当涉及到前端跨域请求后端接口的时候,需要做 很多额外的配置,才能实现跨域Session认证。

JWT(英文全称:JSON Web Token)

是一个开放标准(RFC 7519),用于在双方之间安全地表示声明。一种无状态的认证机制,通常用于授权和信息交换。是目前最流行的跨域认证解决方案。

authlab-Leaky JWT

Header:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.

Payload:

eyJsZXZlbCI6ImFkbWluIiwicGFzc3dvcmQiOiIyYWM5Y2I3ZGMwMmIzYzAwODNlYjcwODk4ZTU0OWI2MyIsInVzZXJuYW1lIjoiam9lIn0.

Signature:

6j3NrK-0C7K8gmaWeB9CCyZuQKfvVEAl4KhitRN2p5k 

解密后,得到账号和MD5加密的密码:

 解密得,为Password1 

从安全性的角度来看,至少存在两个潜在的问题。

1.缺乏机密性-我们能够轻松解码有效载荷payload(和报头header)。
2.用户插入另一个操作(例如删除)并绕过授权 ,Signature可以设为none。

具体实现方式

1.算法为none
2.算法修改
3.签名失败问题
4.暴力破解
5.密钥泄露
6.令牌刷新

攻击思路

首先找到需要JWT鉴权后才能访问的页面,如个人资料页面,将该请求包重放测试:

1.未授权访问:删除Token后仍然可以正常响应对应页面
2.敏感信息泄露:通过JWt.io解密出Payload后查看其中是否包含敏感信息,如弱加密的密码等
3.破解密钥+越权访问:通过JWT.io解密出Payload部分内容,通过空加密算法或密钥爆破等方式实现重新签发Token并修改Payload部分内容,重放请求包,观察响应包是否能够越权查看其他用户资料
4.检查Token时效性:解密查看payload中是否有exp字段键值对(Token过期时间),等待过期时间后再次使用该Token发送请求,若正常响应则存在Token不过期
5.通过页面回显进行探测:如修改Payload中键值对后页面报错信息是否存在注入,payload中kid字段的目录遍历问题与sql注入问题

authlab-JWT None Algorithm

看到一个存在的用户成功登录

抓包修改header中alog值为none,尝试用不存在的用户登录

成功访问,实现越权访问

ctfhub

弱密钥

尝试用admin和admin登录,得到token

 alg设为none,role中guest换成管理员admin

http://www.dtcms.com/a/294680.html

相关文章:

  • LLM 中的 温度怎么控制随机性的?
  • Hyperledger Fabric 中的安全性与隐私保护实现指南
  • uni-app动态获取屏幕边界到安全区域距离的完整教程
  • 【Node.js】使用ts-node运行ts文件时报错: TypeError: Unknown file extension “.ts“ for ts 文件
  • PBR策略路由
  • LeetCode二叉树的公共祖先
  • #Linux内存管理# 详细介绍使用mmap函数创立共享文件映射的工作原理
  • 篇四 tcp,udp客户端服务器编程模型
  • [Linux入门] Linux 文件系统与日志分析入门指南
  • 欢迎咨询年度规划2025
  • 第二阶段-第二章—8天Python从入门到精通【itheima】-136节(Python操作MySQL的基础使用)
  • C++ 多态全解析:静态多态与动态多态详解
  • Packmol聚合物通道模型建模方法
  • OpenCV 图像预处理:颜色操作与灰度、二值化处理详解
  • 最长递增子序列(LIS)问题详解
  • 0723 单项链表
  • FreeRTOS学习笔记之调度机制
  • MySQL 8.0 OCP 1Z0-908 题目解析(34)
  • 打造你的AI助手:Sim Studio 开源工作流构建工具
  • 鸿蒙应用开发:使用Navigation组件和Tab组件实现首页tab选项卡及子页跳转功能
  • 第一次实习经历
  • Java——Spring中Bean配置核心规则:id、name、ref的用法与区别
  • freqtrade在docker运行一个dryrun实例
  • 内容梳理|新手体会大模型AI接口调用
  • EDoF-ToF: extended depth of field time-of-flight imaging解读, OE 2021
  • 《WebGL打造高性能3D粒子特效系统:从0到1的技术探秘》
  • AR维修辅助系统UI设计:虚实融合界面中的故障标注与操作引导
  • nginx.conf配置文件以及指令详解
  • 暑期自学嵌入式——Day06(C语言阶段)
  • 红松推出国内首个银发AI播客产品,首创“边听边问”交互体验