CTF. Курс молодого бойца. Начальные задания категории WEB #3.

CTF. Курс молодого бойца. Начальные задания категории WEB #3.

https://t.me/hacker_sanctuary

Данный пост будет носить практический характер. В нём мы рассмотрим задания начального уровня в категории WEB. Данные задания часто встречаются в простых CTF'ах и иногда, как разминочные, в более крупных.

Задания будут взяты с известного сайта с различными задачами (CTF и не только) - https://www.root-me.org/

Будем решать задачи из категории: Web - Server

Прямая ссылка: https://www.root-me.org/en/Challenges/Web-Server/

Предыдущие задания из данной категории вы можете найти на канале.

Часть 1 - https://telegra.ph/CTF-Kurs-molodogo-bojca-Nachalnye-zadaniya-kategorii-WEB-08-17

Ссылка на пост - https://t.me/hacker_sanctuary/92

Часть 2 - https://telegra.ph/CTF-Kurs-molodogo-bojca-Nachalnye-zadaniya-kategorii-WEB-08-31

Ссылка на пост - https://t.me/hacker_sanctuary/99

Пример 1.

Решим задание "Command injection".

Ссылка на задание - https://www.root-me.org/en/Challenges/Web-Server/Command-injection

Из описания и названия берём самое важно и получаем, что речь пойдёт об "внедрении команд", пароль хранится в файле index.php

Заходим на сайт и видим следующую форму.

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

Теория

Практика

Прочитайте данные посты, чтобы понять смысл данной уязвимости и порядок действий.

Подаём на вход следующую строку "; cat index.php", суть которой заключается в том, что мы закрываем команду ping и добавляем ещё одну команду, которая прочитает файл index.php и отобразит его.

После выполнения будет отображено 2 формы ввода - это нормально, так как мы прочитали файл и отобразили его, а он содержит не только php-код но и html-код, который повторно отображается. Нам нужно открыть исходный код.

Видим серверную часть кода, в которой и расположен наш флаг/пароль для решения задания.

Заключение.

Такие уязвимости раньше встречались достаточно часто в различных веб-интерфейсах роутеров и другого сетевого оборудования, часто построенного на базе Linux. Сейчас такие уязвимости имеют место быть, но уже реже.



Report Page