CTF Codeby Games - Доступ запрещен [Writeup]

N1GGA

Codeby Team
Gold Team
16.07.2018
321
306
1688996551018.png

Салют, иллюзионисты! Хочу представить вам авторский врайтап к заданию "Доступ запрещен" с площадки Codeby Games.

Начнем...

Открываем в браузере URL адрес таска.

1688994396679.png



При заходе на сайт, нас перекидывает на /login.php, где якобы надо авторизоваться. Просто так к index.php нас не допустят)

После сотни попыток обойти авторизацию и сбрутить учетку, начинаем думать иначе и заходим как гость нажав на кнопку "LOGIN AS GUEST"

1688994522979.png


У нас есть минимальные привилегии - мы авторизованы. Но, весь функционал сайта доступен только админу. Что же делать?
Если мы авторизовались на сервере, на клиентской части это по идеи тоже должно быть где-нибудь зафиксировано. Смотрим кукисы

1688994647276.png


Декодируем кукисы url encoded > text

1688994736538.png


Хммм. Кажется сериализованный массив учетных данных гостя. Попробуем поискать, как это может сыграть в нашу выгоду.

1688994883603.png



Посмотрим, что говорят на всеми любимом гитабе

1688994943671.png


Предположим, что код нашего сайта схож с уязвимым кодом с гитаба. В остальном, думаю и объяснять не нужно.
Возьмем пейлоад, который позволяет обойти авторизацию в десериализации объекта. Выглядит пейлоад следующим образом:

a:2:{s:8:"username";b:1;s:8:"password";b:1;}

Закодируем его в URL

1688995100845.png


Пихаем пейлоад обратно в кукисы и обновляем страницу

1688995152136.png



PWNED! Мы обманули веб-приложение, а точнее, обошли авторизацию и зашли как админ. Забираем наш флаг и сдаём.

Благодарю всех за внимание! Надеюсь, вы извлекли что-нибудь полезное для себя из данной статьи) До скорых встреч!
 
Последнее редактирование модератором:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!