Bu yazıda saytdan 25-ci vəzifəni həll edəcəyik
təşkilati məlumatXüsusilə yeni bir şey öyrənmək və hər hansı bir informasiya və kompüter təhlükəsizliyi sahəsində inkişaf etmək istəyənlər üçün aşağıdakı kateqoriyalar haqqında yazıb danışacağam:
- PWN;
- kriptoqrafiya (kripto);
- şəbəkə texnologiyaları (Şəbəkə);
- tərs (Tərs mühəndislik);
- steqanoqrafiya (Steqano);
- WEB zəifliklərinin axtarışı və istismarı.
Bundan əlavə, mən kompüter ekspertizası, zərərli proqram və proqram təminatının təhlili, simsiz şəbəkələrə və yerli şəbəkələrə hücumlar, pentestlərin keçirilməsi və istismarların yazılması sahəsində təcrübəmi bölüşəcəyəm.
Yeni məqalələr, proqram təminatı və digər məlumatlar haqqında məlumat əldə edə bilməniz üçün mən yaratdım
Bütün məlumatlar yalnız təhsil məqsədləri üçün verilir. Bu sənədin müəllifi bu sənədin öyrənilməsi nəticəsində əldə edilmiş bilik və metodlardan istifadə nəticəsində heç kimə dəymiş zərərə görə məsuliyyət daşımır.
OTP tapşırığını həll etmək
İkinci hissəyə davam edək. Dərhal deyəcəyəm ki, bu, birincisindən daha mürəkkəbdir, lakin bu dəfə proqramın mənbə kodunu vermirlər. Burada (https://t.me/RalfHackerPublicChat) və burada (https://t.me/RalfHackerChannel) müzakirə haqqında unutmayın. Başlayaq.
İmza otp ilə işarəyə klikləyin. Bizə qoşulmaq üçün ünvan və port verilir.
Biz qoşulub serverə baxırıq.
Oxuya bilmədiyimiz bayraq, proqram və onun mənbə kodu. Mənbəyə baxaq.
Gəlin bunu həll edək. Proqram arqument kimi parol qəbul edir.
Sonra, təsadüfi 16 bayt otp dəyişənində saxlanılır.
tmp qovluğunda təsadüfi adda fayl yaradılır (ilk 8 bayt otp) və ona təsadüfi 8 bayt yazılır (ikinci 8 bayt otp).
Nədənsə yaradılan faylın dəyəri oxunur və daxil edilmiş parol ilə müqayisə edilir.
Zəifliyin gəldiyi yer budur. O, yaradılan nömrəni aralıq olaraq faylda saxlamaqdan ibarətdir. Biz faylın ölçüsünü məsələn 0-a qədər məhdudlaşdıra bilərik, sonra yazıb oxuyarkən parolla 0 müqayisə olunacaq.Bunu belə etmək olar.
# ulimit -f 0
İndi proqramı işə salaq.
Səhv alırıq. Fərqi yoxdur, eyni python ilə işlənə bilər.
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')"
Biz bayrağı və asan 100 xalımızı alırıq. Və davam edirik: növbəti məqalədə İnternetə toxunacağıq. Bizə qoşula bilərsiniz
Mənbə: www.habr.com