writeup_sploit.py
771 B
#pwn #kasperskyctf2025
Kaspersky{CTF} - Translator, 50 points от @tonysdx
💡 Идея задачи:
Бинарник читает 16 байт из
При этом у нас есть всего 10 попыток для ввода правильного ответа.
👹 Уязвимость:
1. В функции
2. Бинарник никогда не закрывает файловые дескрипторы, поэтому их можно открывать сколько угодно.
3. В функции
💉 Эксплуатация:
1. Сначала открываем 255 файловых дескрипторов, используя первые две уязвимости.
2. Когда бинарник откроет 256-й дескриптор, downcast превратит его индекс в
3. Теперь бинарник будет вычислять
4. Достаточно передать константную строку (например,
💬 Канал & Чат | 📺 RUTUBE | 📺 YouTube
Kaspersky{CTF} - Translator, 50 points от @tonysdx
Бинарник читает 16 байт из
/dev/random, вычисляет их хэш с помощью SHA512, затем XOR'ит байты флага с этим хэшем, выводит результат и предлагает угадать флаг. При этом у нас есть всего 10 попыток для ввода правильного ответа.
👹 Уязвимость:
1. В функции
main есть off-by-one уязвимость в scanf, что позволяет перезаписать счётчик попыток нулевым байтом и тем самым получить неограниченное количество попыток. 2. Бинарник никогда не закрывает файловые дескрипторы, поэтому их можно открывать сколько угодно.
3. В функции
read_file индекс файлового дескриптора приводится к типу int8. 💉 Эксплуатация:
1. Сначала открываем 255 файловых дескрипторов, используя первые две уязвимости.
2. Когда бинарник откроет 256-й дескриптор, downcast превратит его индекс в
0, и чтение произойдёт не из /dev/random, а из stdin. 3. Теперь бинарник будет вычислять
SHA512 не от случайных байтов, а от нашего ввода. 4. Достаточно передать константную строку (например,
b"A" * 16), вычислить её SHA512-хэш (или просто вынуть его из отладчика), а затем сделать XOR байтов вывода программы и байтов известного хэша — и мы получаем флаг.Please open Telegram to view this post
VIEW IN TELEGRAM
public-rock-n-rollback.tar.gz
953.6 KB
#pwn
rock-n-rollback 🪓
Теперь нет необходимости запоминать указатели и вызывать free!
Автор: @s41nt0l3xus
После получения шелла, помимо флага, можно забрать с сервера и intended решение в виде скрипта.
Зеркало тасков
Напоминаем, что флаг нужно сдавать боту @writeup_ctf_bot
#таск@writeup_ctf
💬 Канал & Чат & Бот с тасками| 📺 RUTUBE | 📺 YouTube
rock-n-rollback 🪓
Теперь нет необходимости запоминать указатели и вызывать free!
45.12.114.80:32002
Автор: @s41nt0l3xus
После получения шелла, помимо флага, можно забрать с сервера и intended решение в виде скрипта.
Зеркало тасков
Напоминаем, что флаг нужно сдавать боту @writeup_ctf_bot
#таск@writeup_ctf
Please open Telegram to view this post
VIEW IN TELEGRAM
public-undefined-pointer.tar.gz
952 KB
#pwn
undefined-pointer🧑💻
Один дед на курсах программирования всегда подчеркивал важность инициализации переменных при их объявлении. Думаю, ничего страшного не произойдет, если я сделаю это позже.
Автор: @s41nt0l3xus
После получения шелла, помимо флага, можно забрать с сервера и intended решение в виде скрипта.
Зеркало тасков
Напоминаем, что флаг нужно сдавать боту @writeup_ctf_bot
#таск@writeup_ctf
💬 Канал & Чат & Бот с тасками| 📺 RUTUBE | 📺 YouTube
undefined-pointer🧑💻
Один дед на курсах программирования всегда подчеркивал важность инициализации переменных при их объявлении. Думаю, ничего страшного не произойдет, если я сделаю это позже.
45.12.114.80:32000
Автор: @s41nt0l3xus
После получения шелла, помимо флага, можно забрать с сервера и intended решение в виде скрипта.
Зеркало тасков
Напоминаем, что флаг нужно сдавать боту @writeup_ctf_bot
#таск@writeup_ctf
Please open Telegram to view this post
VIEW IN TELEGRAM
Подборка райтапов с прошедшего AlfaCTF:
Задания кстати все еще доступны
https://alfactf.ru/tasks
🛡 Защита от спама
(https://t.iss.one/writeup_ctf/784)
#Easy #Infra #Web
🎶 Звуки ностальгии
(https://t.iss.one/writeup_ctf/783)
#Easy #Misc #OSINT
🌊 Цунами дедлайнов
(https://t.iss.one/writeup_ctf/793)
#Easy #Web
🌈🎛 Кислотный ретровейв
(https://t.iss.one/writeup_ctf/786)
#Easy #Web
🌴💰 Пальма с биткоинами
(https://t.iss.one/writeup_ctf/785)
#Easy #Web #JS
👨💻🏖 Разработчик на пляже
(https://t.iss.one/writeup_ctf/790)
#Medium #Infra #Dev #Pentest
🎵🌀 Вихрь рик-ролла
(https://t.iss.one/writeup_ctf/789)
#Medium #Web #Logic
🐺🌊 Шакализация волны
(https://t.iss.one/writeup_ctf/788)
#Medium #Web #OAuth #Client
📹🚁 Десант блогеров
(https://t.iss.one/writeup_ctf/787)
#Medium #Web #Logic
🌇🛠 Фиксы в лучах заката
(https://t.iss.one/writeup_ctf/792)
#Hard #Forensics #Linux #Infra #LPE
🥒😈 Дикий огурец
(https://t.iss.one/writeup_ctf/791)
#Hard #Pwn #Python
🏍⚡️ Непослушный мотоциклист
(https://t.iss.one/writeup_ctf/795)
#Hard #Coding #Reverse #Network
🧱🔙 Возвращение стены
(https://t.iss.one/writeup_ctf/794)
#Hard #Web #Client
💬 Канал & Чат & Бот с тасками| 📺 RUTUBE | 📺 YouTube
🛡 Защита от спама
(https://t.iss.one/writeup_ctf/784)
#Easy #Infra #Web
🎶 Звуки ностальгии
(https://t.iss.one/writeup_ctf/783)
#Easy #Misc #OSINT
🌊 Цунами дедлайнов
(https://t.iss.one/writeup_ctf/793)
#Easy #Web
🌈🎛 Кислотный ретровейв
(https://t.iss.one/writeup_ctf/786)
#Easy #Web
🌴💰 Пальма с биткоинами
(https://t.iss.one/writeup_ctf/785)
#Easy #Web #JS
👨💻🏖 Разработчик на пляже
(https://t.iss.one/writeup_ctf/790)
#Medium #Infra #Dev #Pentest
🎵🌀 Вихрь рик-ролла
(https://t.iss.one/writeup_ctf/789)
#Medium #Web #Logic
🐺🌊 Шакализация волны
(https://t.iss.one/writeup_ctf/788)
#Medium #Web #OAuth #Client
📹🚁 Десант блогеров
(https://t.iss.one/writeup_ctf/787)
#Medium #Web #Logic
🌇🛠 Фиксы в лучах заката
(https://t.iss.one/writeup_ctf/792)
#Hard #Forensics #Linux #Infra #LPE
🥒😈 Дикий огурец
(https://t.iss.one/writeup_ctf/791)
#Hard #Pwn #Python
🏍⚡️ Непослушный мотоциклист
(https://t.iss.one/writeup_ctf/795)
#Hard #Coding #Reverse #Network
🧱🔙 Возвращение стены
(https://t.iss.one/writeup_ctf/794)
#Hard #Web #Client
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤3 3