Don Reverso
Green Team
Название: [fd]
Категория: pwn
Платформа:
Ссылка скрыта от гостей
При подключении через 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
Последнее редактирование: