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编码后的样子。
image-20241116203849252
image-20241117234440190
image-20241117234841921
image-20241117234726282
image-20241117234907363
image-20241118000217337
image-20241118000608923
image-20241118000919615
image-20241118001012194
image-20241118001048707
image-20241118001340392
image-20241118001442748
image-20241118001609501

JWT工具利用

image-20241118002433185
image-20241118002454064
image-20241118002526898
image-20241118002907185
image-20241118131958581
image-20241118003151218
image-20241118003246037
image-20241118004051753
image-20241118004253889
image-20241118010710037
image-20241118011910544
image-20241118131351188
image-20241118131423896

CTF靶场演示

敏感信息泄露

image-20241118134900209
image-20241118135039887
image-20241118135119405
image-20241118135231960
image-20241118135247756

无签名

image-20241118135528547
image-20241118135611474
image-20241118135634333
image-20241118135917159
image-20241118140002916
image-20241118141440484
image-20241118140307890
image-20241118141248003

修改签名算法

image-20241118144405741
image-20241118144454228
image-20241118144556751
image-20241118144704414
image-20241118144813245
image-20241118152350334

弱密钥

image-20241118161103394
image-20241118161509514
image-20241118161557781
image-20241118161630568
image-20241118161712830
image-20241118161848965
image-20241118162437787
image-20241118162401931

Last updated