CTF bukgu JWT

0x01 решения проблем идеи

1, мы сначала открыть веб - сайт, просматривать исходный код , чтобы получить подсказку <!--hint:NNVTU23LGEZDG===-->, здесь мысль непосредственно base64расшифровывает, но решение еще не вышло, а затем попытались base32декодирование успеха! (Мышление слишком ограничено).
2, после того, как успешно декодированного номер счета и пароль , чтобы получить kk:kk123
3, мы будет предложено войти в
Here Вставка рисунка Описание
diaryупомянутый vim, наша первая мысль о том , что утечка исходного кода, так что мы непосредственно dirsearchсценарий развертки , чтобы получить /src, скачать .swpфайлы, а затем vim -rполучить восстановление исходного кода файла.

<?php
    error_reporting(0);
    require_once 'src/JWT.php';

    const KEY = 'L3yx----++++----';

    function loginkk()
    {
        $time = time();
        $token = [
          'iss'=>'L3yx',
          'iat'=>$time,
          'exp'=>$time+5,
          'account'=>'kk'
        ];
        $jwt = \Firebase\JWT\JWT::encode($token,KEY);
        setcookie("token",$jwt);
        header("location:user.php");
    }

    if(isset($_POST['username']) && isset($_POST['password']) && $_POST['username']!='' && $_POST['password']!='')
    {
        if($_POST['username']=='kk' && $_POST['password']=='kk123')
        {
            loginkk();
        }
        else
        {
            echo "账号或密码错误";
        }
    }
?>

Мы можем видеть из исходного кода , cookieиспользуемого jwt, и мы получили KEY = 'L3yx----++++----';то построить JWT заменить маркер браузера.
Я здесь в URL кодирования и декодирования JWTs
Here Вставка рисунка Описание мы первые ввели оригинал JWT Stringи Signing Keyзатем модифицируют account, то JWT Stringизменение будет происходить, а затем скопировать выше JWT Stringзамены браузера token. Вы можете получить флаг.

резюме 0x02

1, иногда мы не можем видеть исходный код не может быть получен Signing Key, мы можем взорвать, успех также зависит от удачи, вставьте инструмент GitHub адрес JWT crack-
2, JWT состоит из:

  	Header(头部)
    Payload(负载)
    Signature(签名)

Середина с .связи, иногда нам нужно base64декодировать.

Опубликовано 47 оригинальных статей · вона похвала 2 · Просмотров 3147

рекомендация

отblog.csdn.net/a3320315/article/details/102810981
рекомендация