Перейти к основному содержанию

CTF — HTTP Improper redirect

CTF

Продолжаем решать задачки по информационной безопасности web-серверов. Сегодня задачка с портала root-me.org, называется "HTTP - Improper redirect". За решение задачки дают 15 баллов, чуть посложнее начального уровня.

ctf

Задача: получить доступ к индексной странице. Get access to index.

Уязвимость будет связана с неправильным редиректом в PHP.

В PHP код http_redirect() или header('Location: ...') не выполняет остановку выполнения кода. В результате вместе со статусом 301 или 302 клиенту отправляется полное содержимое HTML страницы. Да, браузер клиента выполняет редирект, но можно же не пользоваться браузером!

Ссылки

https://www.root-me.org

http://cwe.mitre.org/data/definitions/698.html

Решение

Переходим на страницу задания:

http://challenge01.root-me.org/web-serveur/ch32

И попадаем на login.php.

ctf

А нам требуется index.php.

ctf

Но зайти не получается.

ctf

Браузер на странице index.php получает код "302 Found" и и выполняет редирект на "./login.php?redirect".

Как отключить редирект?

Можно, конечно, установить специализированное ПО для безопасников типа Burp Suite.

ctf

Минут 20 и вы разберётесь как поймать index.pxp и отобразить полное содержимое страницы. Флаг подсветил.

ctf

Но есть решение проще, запускаем командную строку или bash и используем curl:

curl http://challenge01.root-me.org/web-serveur/ch32/index.php

ctf

Флаг: ExecutionAfterRedirectIsBad.

Валидируем.

ctf

Флаг подходит, зарабатываем 15 очков.

Безопасность

  • Помните о том, что следует вручную прекращать выполнение PHP кода после выполнения редиректа. Без exit() после заголовка header('Location: ...') PHP продолжает выполнение и отправляет вместе с заголовком содержимое страницы.

Теги

 

Похожие материалы

CTF — PHP - Filters

Всем привет, сегодня Рождество, поэтому займёмся чем-нибудь интересным. Например, порешаем задачки на информационную безопасность web-серверов. Сегодня задачка с портала root-me.org, называется "PHP - Filters". За решение задачки дают 25 баллов, ближе к среднему уровню.

Теги