HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг > Задания/Квесты/CTF/Конкурсы
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 05.07.2024, 17:33
Don Reverso
Новичок
Регистрация: 17.05.2025
Сообщений: 0
С нами: 524585

Репутация: 0
По умолчанию

  • Название: [fd]
  • Категория: pwn
  • Платформа: pwnable.kr
При подключении через sshнас встречают несколько интересующих нас файлов:



Очевидно, из доступного нам остаётся только fd -скомпилированный fd.c- только лишь с его помощью мы и можем прочитать flag:



Смотрим сурсы fd.c:



Единственный вызов readобезопасили ограничением в 32 символа, поэтому переполнить ничего не получится. А вот уже из интересного: программе нужен дополнительный аргумент, какое-то число. Это число переводится в int через atoi(), от него отнимается 0x1234, а затем, оно используется как файловый дескриптор, из которого хотят прочитать "LETMEWIN\n". Всё, что от нас зависит - это как раз-таки тот самый дескриптор.

Но что забавно: статья на Вики гласит, что по умолчанию, 2 в качестве дескриптора указывает на stderr, 1 - на stdout, а 0 - на stdin. Поэтому, если в качестве fd в read попадёт 0, то нам лишь останется ввести с клавиатуры то, что нас и просят. Единственное - нам нужно указать не просто 0, а 0 + 0x1234 = 4660, чтобы подать корректное число:



Таск решён, удачного пывына!

made 4@rev_with_da_boys
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.