PDA

Просмотр полной версии : Writeup: "[fd]" (pwnable.kr)


Don Reverso
05.07.2024, 17:33
Название: [fd]

Категория: pwn

Платформа: pwnable.kr

При подключении через sshнас встречают несколько интересующих нас файлов:

https://forum.antichat.xyz/attachments/29112605/1720186176647.png

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

https://forum.antichat.xyz/attachments/29112605/1720186211589.png

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

https://forum.antichat.xyz/attachments/29112605/1720186234192.png

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

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

https://forum.antichat.xyz/attachments/29112605/1720186271496.png

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

made 4@rev_with_da_boys