Bu yazımızda siteden 25. görevi çözeceğiz
organizasyon bilgisiÖzellikle bilgi ve bilgisayar güvenliğinin herhangi bir alanında yeni bir şeyler öğrenmek ve gelişmek isteyenler için aşağıdaki kategoriler hakkında yazıp konuşacağım:
- PWN;
- kriptografi (Kripto);
- ağ teknolojileri (Ağ);
- tersine (Tersine Mühendislik);
- steganografi (Stegano);
- WEB güvenlik açıklarının aranması ve kullanılması.
Ayrıca adli bilişim, malware ve firmware analizi, kablosuz ağlara ve yerel alan ağlarına yapılan saldırılar, sızma testi ve yazma açıkları konusundaki deneyimlerimi paylaşacağım.
Yeni makaleler, yazılımlar ve diğer bilgiler hakkında bilgi edinebilmeniz için oluşturdum
Tüm bilgiler yalnızca eğitim amaçlı verilmektedir. Bu belgenin yazarı, bu belgenin incelenmesi sonucunda elde edilen bilgi ve yöntemlerin kullanılması sonucunda herhangi bir kişiye verilen zararlardan sorumlu değildir.
otp görevini çözme
İkinci bölümle devam ediyoruz. İlkinden daha zor olduğunu hemen söyleyeceğim ama bu sefer programın kaynak kodunu vermiyorlar. Buradaki (https://t.me/RalfHackerPublicChat) ve buradaki (https://t.me/RalfHackerChannel) tartışmayı unutmayın. Hadi başlayalım.
Otp imzalı simgeye tıklayın. Bize bir adres ve bağlanmamız için bir port veriliyor.
Sunucuya bağlanıp etrafa bakıyoruz.
Okuyamadığımız bayrak, program ve onun kaynak kodudur. Kaynak görelim.
Hadi alalım. Program argüman olarak bir parola alır.
Ayrıca otp değişkeninde rasgele 16 bayt saklanır.
tmp klasöründe rasgele isimli bir dosya oluşturulur (ilk 8 bayt otp'dir) ve buna rastgele 8 bayt yazılır (ikinci 8 bayt otp'dir).
Nedense oluşturulan dosyanın değeri okunur ve girilen şifre ile karşılaştırılır.
Burada bir güvenlik açığı var. Oluşturulan numaranın bir dosyaya ara olarak kaydedilmesinden oluşur. Dosya boyutunu örneğin 0 olarak sınırlayabiliriz, sonra yazarken ve okurken 0 şifre ile karşılaştırılır, bu şekilde yapabilirsiniz.
# ulimit -f 0
Şimdi programı çalıştıralım.
Bir hata alıyoruz. Önemli değil, aynı python kullanılarak işlenebilir.
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')"
Bayrağı ve kolay 100 puanımızı alıyoruz. Ve devam ediyoruz: Bir sonraki makalede Web'e değineceğiz. bize katılabilirsiniz
Kaynak: habr.com