用户
搜索
  • TA的每日心情
    慵懒
    1 小时前
  • 签到天数: 859 天

    连续签到: 4 天

    [LV.10]以坛为家III

    i春秋-核心白帽

    Rank: 4

    12

    主题

    472

    帖子

    1万

    魔法币
    收听
    2
    粉丝
    3
    注册时间
    2017-8-17
    发表于 2020-1-19 19:05:50 14522
    本帖最后由 琴心丶剑胆 于 2020-1-20 19:03 编辑

    JWT tokens
    01.png


    本课简介

          这一课会讲授json web token(JWT)的原理等一些相关知识,以及一些攻击的方法和防御方法

    关卡-04

         这一关需要更改自己的JWT,使自己成为管理员用户,来重置投票,方可过关 02.png
    03.png
    04.png
    05.png
    06.png
    07.png

    关卡-05

          这一关,需要根据给出的jwt,来猜解出key的值,然后修改jwt中的username修改为webgoat,最后提交新的jwt,方可过关
          这里猜解key值用到的是jwt_tool,下载地址:https://github.com/ticarpi/jwt_tool,安装和使用方法:https://github.com/ticarpi/jwt_tool/wiki/Using-jwt_tool,猜解key使用到的字典,可以用webgoat提示中给出的:https://github.com/first20hours/google-10000-englis
    08.png
    09.png
    10.png
          注意,这里下载的是最新版本的jwt_tool,使用的是python3的环境,jwt_tool以往的老版本有能使用python2环境的,当然也可以同时安装python2和python3的环境,再安装最新版本的jwt_tool使用,具体的方法百度上很多,这里就不再赘述了
    11.png
    12.png

    关卡-07

          这一关需要使用tom的jwt来完成付款方可过关。
          方法一:按照webgoat原有的思路,通过刷新tom已经过期的jwt,得到新的tom的jwt来完成付款
    13.png
    14.png
    15.png
    16.png
    17.png
    18.png
    19.png
          方法二:直接使用第4关的tom的jwt,删除signature后,即可过关
    20.png
    21.png


    关卡-08

          本关给出了Jerry的jwt,需要修改Jerry的jwt,来删除Tom账号
          方法一,按照webgoat给出的提示,使用sql注入修改jwt的key,从而得到合法的jwt来过关
    22.png
    23.png
    24.png
    25.png
    26.png
    27.png


          方法二:将signature删除后,修改Jerry的jwt中的username为Tom,利用空signature来直接过关
    30.png
    28.png
    29.png







    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册