Автор: @Vespii
Ссылка на таск Codeby:
https://codeby.games/categories/web/2ca75f41-8cd9-460e-89ec-bfdd38a57e65
Описание задания
Тайна всегда привлекательна
62.173.140.174:16045
Решение
Заходим на web-страницу. Нужно подождать завершение анимации.
Шучу, ждать не надо. На главной странице ничего нет. Поищем директории.
Скачиваем backup. В нем находятся исходники сайта.
index.php
В коде можно заметить 2 параметра action и secretKey, получаемые методом POST. Значение action нам известно, а у secretKey находится в отдельном файле.
<?php
include("secretKey.php");
if (isset($_POST['action']) && $_POST['action'] == 'confirmSecretKey' && isset($_POST['secretKey']) && strcmp($_POST['secretKey'], $secretKey) == 0) {
echo "<h1>Welcome! You're secret key <span style='color: red;'>".$secretKey."</span> has been accepted!</h1>";
exit; }
?>
secretKey.php
В переменной $secretKey
, скорее всего, находится флаг.
<?php
$secretKey = "{REDACTED}";
?>
При рассмотрении кода был замечен strcmp()
. Эта функция используется для проверки подлинности данных, однако она не учитывает их тип. Если отправить пустой массив secretKey[]=
, то strcmp()
вернет значение NULL, что приведет к выводу true.
На сайте расписан метод GET, но можно по аналогии сделать и для POST:
Tags: