Во оваа статија ќе ја решиме 25-тата задача од страницата
организациски информацииОсобено за оние кои сакаат да научат нешто ново и да се развиваат во која било од областите на информациската и компјутерската безбедност, ќе напишам и зборувам за следните категории:
- PWN;
- криптографија (Крипто);
- мрежни технологии (Мрежа);
- обратна страна (Обратно инженерство);
- стеганографија (Стегано);
- пребарување и искористување на пропусти на ВЕБ.
Дополнително, ќе го споделам моето искуство во компјутерска форензика, анализа на малициозен софтвер и фирмвер, напади на безжични мрежи и локални мрежи, проверување и пишување експлоати.
За да можете да дознаете за нови статии, софтвер и други информации, создадов
Сите информации се дадени само за едукативни цели. Авторот на овој документ не презема никаква одговорност за каква било штета предизвикана некому како резултат на користење на знаењето и методите добиени како резултат на проучувањето на овој документ.
Решавање на задачата otp
Продолжуваме со вториот дел. Веднаш ќе кажам дека е потешко од првото, но овој пат не го даваат изворниот код на програмата. Не ја заборавајте дискусијата овде (https://t.me/RalfHackerPublicChat) и овде (https://t.me/RalfHackerChannel). Да почнеме.
Кликнете на иконата со потпис otp. Ни се дава адреса и порта за поврзување.
Се поврзуваме и гледаме наоколу на серверот.
Знамето што не можеме да го прочитаме е програмата и нејзиниот изворен код. Ајде да го видиме изворот.
Ајде да го земеме. Програмата зема лозинка како аргумент.
Понатаму, случајните 16 бајти се зачувани во променливата otp.
Во папката tmp се креира датотека со случајно име (првите 8 бајти се otp) и се запишуваат случајни 8 бајти во неа (вторите 8 бајти се otp).
Поради некоја причина, вредноста на креираната датотека се чита и се споредува со внесената лозинка.
Тука има ранливост. Се состои во средно зачувување на генерираниот број во датотека. Можеме да ја ограничиме големината на датотеката, на пример, на 0, а потоа при пишување и читање, 0 ќе се спореди со лозинката. Можете да го направите вака.
# ulimit -f 0
Сега да ја извршиме програмата.
Добиваме грешка. Не е важно, може да се обработи со користење на истиот питон.
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')"
Го добиваме знамето и нашите лесни 100 поени. И продолжуваме: во следната статија ќе ја допреме мрежата. Можете да ни се придружите на
Извор: www.habr.com