Решавање на задачата со pwnable.kr 25 - отп. Ограничување на големината на датотеката Linux

Решавање на задачата со pwnable.kr 25 - отп. Ограничување на големината на датотеката Linux
Во оваа статија ќе ја решиме 25-тата задача од страницата pwnable.kr.

организациски информацииОсобено за оние кои сакаат да научат нешто ново и да се развиваат во која било од областите на информациската и компјутерската безбедност, ќе напишам и зборувам за следните категории:

  • PWN;
  • криптографија (Крипто);
  • мрежни технологии (Мрежа);
  • обратна страна (Обратно инженерство);
  • стеганографија (Стегано);
  • пребарување и искористување на пропусти на ВЕБ.

Дополнително, ќе го споделам моето искуство во компјутерска форензика, анализа на малициозен софтвер и фирмвер, напади на безжични мрежи и локални мрежи, проверување и пишување експлоати.

За да можете да дознаете за нови статии, софтвер и други информации, создадов Телеграмски канал и група да разговара за какви било прашања во областа на ИИКБ. Исто така, вашите лични барања, прашања, предлози и препораки Ќе погледнам и ќе одговорам на сите..

Сите информации се дадени само за едукативни цели. Авторот на овој документ не презема никаква одговорност за каква било штета предизвикана некому како резултат на користење на знаењето и методите добиени како резултат на проучувањето на овој документ.

Решавање на задачата otp

Продолжуваме со вториот дел. Веднаш ќе кажам дека е потешко од првото, но овој пат не го даваат изворниот код на програмата. Не ја заборавајте дискусијата овде (https://t.me/RalfHackerPublicChat) и овде (https://t.me/RalfHackerChannel). Да почнеме.

Кликнете на иконата со потпис otp. Ни се дава адреса и порта за поврзување.

Решавање на задачата со pwnable.kr 25 - отп. Ограничување на големината на датотеката Linux

Се поврзуваме и гледаме наоколу на серверот.

Решавање на задачата со pwnable.kr 25 - отп. Ограничување на големината на датотеката Linux

Знамето што не можеме да го прочитаме е програмата и нејзиниот изворен код. Ајде да го видиме изворот.

Решавање на задачата со pwnable.kr 25 - отп. Ограничување на големината на датотеката Linux

Ајде да го земеме. Програмата зема лозинка како аргумент.

Решавање на задачата со pwnable.kr 25 - отп. Ограничување на големината на датотеката Linux

Понатаму, случајните 16 бајти се зачувани во променливата otp.

Решавање на задачата со pwnable.kr 25 - отп. Ограничување на големината на датотеката Linux

Во папката tmp се креира датотека со случајно име (првите 8 бајти се otp) и се запишуваат случајни 8 бајти во неа (вторите 8 бајти се otp).

Решавање на задачата со pwnable.kr 25 - отп. Ограничување на големината на датотеката Linux

Поради некоја причина, вредноста на креираната датотека се чита и се споредува со внесената лозинка.

Решавање на задачата со pwnable.kr 25 - отп. Ограничување на големината на датотеката Linux

Тука има ранливост. Се состои во средно зачувување на генерираниот број во датотека. Можеме да ја ограничиме големината на датотеката, на пример, на 0, а потоа при пишување и читање, 0 ќе се спореди со лозинката. Можете да го направите вака.

# ulimit -f 0

Решавање на задачата со pwnable.kr 25 - отп. Ограничување на големината на датотеката Linux

Сега да ја извршиме програмата.

Решавање на задачата со pwnable.kr 25 - отп. Ограничување на големината на датотеката Linux

Добиваме грешка. Не е важно, може да се обработи со користење на истиот питон.

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

Решавање на задачата со pwnable.kr 25 - отп. Ограничување на големината на датотеката Linux

Го добиваме знамето и нашите лесни 100 поени. И продолжуваме: во следната статија ќе ја допреме мрежата. Можете да ни се придружите на Телеграма.

Извор: www.habr.com

Додадете коментар