2024腾龙杯web签到题-初识jwt(签到:这是一个登录页面)

什么是 jwt?

它是 JSON Web Token 的缩写,是一个开放标准,定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息,该信息可以被验证和信任,因为它是数字签名的。它就是一种认证机制,让后台知道该请求是来自于受信的客户端。

jwt 由三部分组成,它们之间用圆点(.)连接,这三部分分别是:Header、Payload、Signature

 

附上 jwt 的编码解码网站:https://jwt.io/

访问题目环境,给了一个路径

访问 /login 

给了我们一个 payload

{"account":"wuxidixi","mima":"makamaka"}

这个是 json 的数据格式 

以 json 数据的格式进行 post 提交 

回显得到一个 token ,也是 json 的格式

{
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoibGluZ2h1bnpoaXppIn0.nRNZM_7dcxDoa-lKkrhFnNNxVNZD88xiwI1-QYqioSg"
}

尝试直接提交,发现不行

说实话这个题目的描述有点误解人,可能担心请求太多服务器吃不消吧

其实它这里是存在 robots.txt 的

访问 robots.txt 得到路径 /fulage

继续访问 /fulage

提示无法 get ,那么下面我们换用 post 请求

回到最初请求的 login , post 传入 json 格式的 tooken 

使用 burpsuite 抓包,发到重发器

修改 post 请求内容为 /fulage

重发提示不是 admin 无法获取 flag

对 token 进行 jwt 解码 

对账户进行伪造,修改为 admin

得到 token 编码的值

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiYWRtaW4ifQ.XaW_ca6uIVjJ4diX9a_mxlerUFg3LcQJvg-n6ToPBZ8

再次传入 token

回显得到 flag:

flag{now_you_are_jwt_BigHacker}

相关推荐

  1. 2023SICTF-web-白猫-[签到]Include

    2024-03-19 12:12:02       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-19 12:12:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-19 12:12:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-19 12:12:02       87 阅读
  4. Python语言-面向对象

    2024-03-19 12:12:02       96 阅读

热门阅读

  1. 将VSCode添加至右键的菜单栏

    2024-03-19 12:12:02       58 阅读
  2. 【安全类书籍-6】僵尸网络:网络程序杀手

    2024-03-19 12:12:02       42 阅读
  3. Bash Shell中双引号中的感叹号问题详解

    2024-03-19 12:12:02       37 阅读
  4. MongoDB聚合运算符:$filter

    2024-03-19 12:12:02       41 阅读
  5. 找出字符串中第一个匹配项的下标-力扣

    2024-03-19 12:12:02       42 阅读
  6. C#-用于Excel处理的程序集

    2024-03-19 12:12:02       44 阅读
  7. 网络安全进入AI赋能时代

    2024-03-19 12:12:02       44 阅读