Решение задания с pwnable.kr 25 — otp. Ограничение рамера файла в Linux

Решение задания с pwnable.kr 25 — otp. Ограничение рамера файла в Linux
В данной статье решим 25-е задание с сайта pwnable.kr.

Informacion organizativNë veçanti për ata që dëshirojnë të mësojnë diçka të re dhe të zhvillohen në cilindo nga fushat e sigurisë informacionit dhe kompjuterike, unë do të shkruaj dhe tregoj për kategoritë e mëposhtme:

  • PWN;
  • kriptografia (Crypto);
  • teknologjitë rrjetore (Network);
  • riversimi (Reverse Engineering);
  • steganografia (Stegano);
  • kërkimi dhe shfrytëzimi i dobësive WEB.

Përveç kësaj, do të ndaj përvojën time në kriminalistikën informatike, analizën e malware dhe firmware, sulmet në rrjetet wireless dhe rrjetet lokale, kryerjen e testeve të penetrimit dhe shkruarjen e eksploiteve.

Që të mund të mësoni për artikuj të rinj, softuer dhe informacion tjetër, kam krijuar , ku rregullisht tregoj për fluturimet e mia dhe një grup për diskutimin e çdo pyetjeje në fushën e SiIK. Gjithashtu, kërkesat tuaja personale, pyetje, propozime dhe rekomandime do t'i shqyrtoj personalisht dhe do t'u përgjigjem të gjithëve.

Të gjitha informacionet janë paraqitur ekskluzivisht për qëllime edukative. Autori i këtij dokumenti nuk merr asnjë përgjegjësi për ndonjë dëm të shkaktuar dikujt si pasojë e përdorimit të njohurive dhe metodave që rezultojnë nga studimi i këtij dokumenti.

Решение задания otp

Продолжаем второй раздел. Скажу сразу, что сложнее первого, но в этот раз на предоставляют исходный код программы. Не забываем про обсуждение здесь(https://t.me/RalfHackerPublicChat) и здесь (https://t.me/RalfHackerChannel). Начнем.

Нажимаем на иконку с подписью otp. Нам дают адрес и порт для подключения.

Решение задания с pwnable.kr 25 — otp. Ограничение рамера файла в Linux

Подключаемся и осматриваемся на сервере.

Решение задания с pwnable.kr 25 — otp. Ограничение рамера файла в Linux

Флаг, который мы не можем прочитать, программа и ее исходный код. Давайте посмотрим исходник.

Решение задания с pwnable.kr 25 — otp. Ограничение рамера файла в Linux

Раберем его. Программа принимает в качестве аргумента пароль.

Решение задания с pwnable.kr 25 — otp. Ограничение рамера файла в Linux

Далее в переменную otp сохраняется рандомные 16 байт.

Решение задания с pwnable.kr 25 — otp. Ограничение рамера файла в Linux

В папке tmp создается файл со случайным именем (первые 8 байт otp) и в него записывается рандомные 8 байт (вторые 8 байт otp).

Решение задания с pwnable.kr 25 — otp. Ограничение рамера файла в Linux

Зачем-то и созданного файла считывается значение и сравнивается с введенным паролем.

Решение задания с pwnable.kr 25 — otp. Ограничение рамера файла в Linux

Здесь и присутствует уязвимость. Она заключается в промежуточном сохранении генерируемого числа в файл. Мы можем ограничить размер файла, к примеру до 0, тогда при записи и считывании с паролем будет сравниваться 0. Сделать это можно так.

# ulimit -f 0

Решение задания с pwnable.kr 25 — otp. Ограничение рамера файла в Linux

Теперь запустим программу.

Решение задания с pwnable.kr 25 — otp. Ограничение рамера файла в Linux

Получаем ошибку. Не беда, ведб ее можно обработать с помощью того же питона.

python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')" 

Решение задания с pwnable.kr 25 — otp. Ограничение рамера файла в Linux

Получаем флаг и свои легкие 100 очков. И мы продолжаем: в следующей статье затронем Web. Вы можете присоединиться к нам в Telegram.

Burimi: habr.com

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster