JWT渗透与防御
前言:JWT相关漏洞对于渗透测试人员而言可能是一种非常吸引人的攻击途径,因为它们不仅是让你获得无限访问权限的关键,而且还被视为隐藏了通往以下特权的途径:特权升级,信息泄露,SQLi,XSS,SSRF,RCE,LFI等,在测试JWT时,通过对目标服务的Web请求中使用的Token进行读取,篡改和签名。
JWT漏洞介绍
什么是身份认证?
身份认证(Authentication)又称“身份验证”、“鉴权”,是指通过一定的手段,完成对用户身份的确认。Web服务目前认证的方式有:session++cookie、jwt、token。
Session认证机制需要配合Cookie才能实现。由于 Cookie默认不支持跨域访问 ,所以,当涉及到前端跨域请求后端接口的时候,需要做很多额外的配置,才能实现跨域Session认证。JWT(英文全称:JSON Web Token)是一个开放标准(RFC 7519),用于在双方之间安全地表示声明。一种无状态的认证机制,通常用于授权和信息交换。是目前 最流行的跨域认证解决方案。
如下图,图中的1对应的是Header部分的编码后的样子,2对应的是部分编码后的样子,3对应的是Signature编码后的样子。












JWT工具利用













CTF靶场演示
敏感信息泄露





无签名








修改签名算法






弱密钥








Last updated