文章总结: 本文发布了一个关于JWT认证功能的代码审计挑战。文章首先介绍了JWT的结构,包括header、payload和signature三部分及其签名原理。随后,展示了一段具体的登录认证代码,并邀请读者分析其中存在的安全漏洞,思考如何利用以及如何进行修复。该内容旨在通过实战练习提升读者的代码审计和Web安全能力。 综合评分: 66 文章分类: 代码审计,WEB安全,漏洞分析
挑战 | 一起来审计一个认证部分的代码漏洞
原创
xazlsec
信安之路
2025年9月15日 09:23 山西
今天继续来看一段代码,如图:
这是一个使用 jwt 登录认证的功能,从代码中是否可以看出问题,如果存在漏洞,那么如何利用,并且如何修复。
这里有个知识点,关于 jwt 认证的,JWT 全称为 JSON Web Token, 将 json 对象作为载体来传输信息。通常用于身份认证和信息交换。JWT 可以使用密钥(HMAC 算法)或使用 RSA 或 ECDSA 的公钥/私钥对自身进行签名。
一个完整的 JWT 认证 Token 包含三个部分,分别是 header 部分,如图:
还有一个是 payload 部分,如图:
最后一个是签名部分,Signature 需要使用编码后的 header 和 payload 以及我们提供的一个密钥,然后使用 header 中指定的签名算法通常是RS256(RSA非对称加密和私钥签名)和HS256(HMAC SHA256对称加密)算法进行签名。签名的作用是保证 JWT 没有被篡改过。
好啦,接下来就看大家的了,分析代码中存在的问题,欢迎留言讨论!
查看原文:《挑战 | 一起来审计一个认证部分的代码漏洞》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论