如何发现Json网页加密背后的原因?

问题描述 投票:0回答:1

这是我蒙着眼睛下载的一个登录系统的帖子数据(自己想研究ctf)。

{"jwe":"eyJraWQiOiJlNjY0NTg4ZS0yNjY1LTQzYmMtYjQ5Ny1mYmVmZGEzYTI2ZGYiLCJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0.bAYq1SfpOXpUALY8mQ_omfutvwB37se6xLw29NcSIkEyZVlERSbJpE1eX_kgU7jEW1FUNGgVeoabmMl-3C8MGk5rc4KAE9iod-zCRP46ylRSXFbYu3_kMXlNfM7-W1G2PGPmywgROMOMjsVarg1vj-gFm--88vUEM-ZL9kQI7gVTzZPB_jwrJzGAp0AeEQE1H9xkkHuU-41piWKcH2_X28F1TKJcMNkvaazl1th1fllAZH8P19xsA6eoD1PbCDIwhoJNzvhct2CG6uE1xY4jTZLPGxARn7fF-QubW0IZacxP9MYqZao9wuOH1iW8z-rGSm2CcNlsE_X9ntSjfatfxx7izDe5dSY1emMcDb9xcWrmGGlhkduAUxQv3BMlZ7SHCcM-MEYsg3FG8vMOrxHG4EWPhr4_aOaWg_EV8LD6VFJMRPF5bQEigv-XomheYtZF5KYkCJJ_6CQpzO3LQqa4xL14Nj3B9vj5yEXyY9YGYZQMVGZde5n3RGSGNfMdQa2oJxW9cs94zkafCF4he0qVxcEPiXYQVMESvAE_y3G8UOegwKmcttLIJQJ1mVIzhkAyWPzjTjEgwtQmdxu1Hkt37F30KpIvAGwkhjpcEsOqsf8eT5IZZh21wsrjs-isYsPBsH-fQoM1V8XZyEOi3LI6knPGMz_4bGYSNEfwUOq1-bw.dvuMp84sSnRb9--R.TVVrdqV_oluz54mSHdQNnxnhaJE4ULoJBr3LFFZcAJjEdWPlh97Q8VRd7uiWGsEiawaX6L2FsYaX39OImhddDhcYoHOOnEEAi7HBTlvw1RZHxcml_7LnznH7u53DzDHUesunoRPxT_99-5veBznlCXDiBufe40XRlVLYs1zIrQjxyMp4u6V0UM4EFzsO.LWik0fBAnGH1lX4N1m_2EQ"}

我发现它的第一部分(字符串的开始到第一个".")是一个base64加密代码,显示了这一点。

{"kid":"e664588e-2665-43bc-b497-fbefda3a26df","alg":"RSA-OAEP-256","enc":"A256GCM"}.

在网站的代码上搜索,我发现有一个目录,里面有一个文件,里面有这样的信息。

website data

我以为其他的数据都是用RSA-OAEP-256加密的,于是我试着把用". "隔开的字符串的其他参数反过来,但没有得到任何像样的结果。我完全不能理解。

json encryption hash jwt jwe
1个回答
0
投票

如果你想了解什么是JWE,你可以先从 宣读说明书.

你所拥有的数据是JWE下的 紧凑的序列化模式 适用于网络环境。

  • 5个部分用点分开
  • 部分内容均为base64安全网址编码
  • 部件可以是空字符串

与JWS(签名代币)类似,JWE的第一部分是它的头。它至少要有

  • 密钥加密算法 alg 对应于加密内容加密密钥(CEK)的算法。
  • 内容加密算法 enc 对应于用CEK对内容进行加密解密的算法。

kid 是一个可选的头参数,表示用于计算该令牌的密钥的ID。你找到的密钥是公钥。它可以用来创建其他令牌,比如这个令牌。你需要私钥来解密这些令牌。

令牌的第二部分是加密的CEK。它可以是空的,这取决于内容加密算法(如 dirECDH-ES). 为了得到CEK,你需要用以下的算法 alg (RSA-OAEP-256)和私钥。

第3、4、5部分是初始化向量(IV)、加密内容和认证标签。

通过该CEK,内容加密算法 enc (A256GCM),第3部分(IV)和第5部分(tag),你将能够解密令牌的内容(第4部分)。

如果没有RSA私钥,你将无法解密它(除非你知道RSA-OAEP-256算法的攻击,或者有大规模的黑客工具)。

© www.soinside.com 2019 - 2024. All rights reserved.