Pi Hediyem Vardı, Verdim, Gitti #2 :)

Ve 3 Nisan 2015 tarihinde ikincisi düzenlenen Pi Hediyem Var hacking oyununun çözüm yolu ile Raspberry Pi 2’yi kazanan talihli karşınızda!




KAYNAK KODU:


Hack 4 Career - Siber Güvenlik Blogu




  

  
< ?php
$username = 'misafir';
$secret = 'H4ck4C4r33r';
$pos = '';

if(isset($_GET['username'])){
    $username = $_GET['username'];
    $username = strtolower($username);
}

if(isset($_GET['hash'])){
  if (preg_match('#[0-9a-f]{32}#i', $_GET['hash'])) {
    $hash = $_GET['hash'];
    $hash = strtolower($hash);
  }
}

// Debug
//print "
" . (hash("md5",$secret.$username)); //exit; if(isset($username) and isset($hash)){ // print "
" . $username; // print "
" . $secret; if(hash("md5",$secret.$username) == $hash){ $pos = strpos($username, "admin"); if ($pos !== false) { print "Tebrikler $username , artık en yüksek yetkiye sahipsin :)"; print "

Pi Hediyem Var çekilişine katılmak için bu ekran görüntüsünü ve çözüm yolunu Mert SARICA ile paylaşabilirsin"; } else { print "Merhaba $username , hala sefil kullanıcı yetkisine sahipsin :("; print "

Raspberry Pi 2 çekilişine katılabilmek için admin yetkisi ile giriş yapabilmen lazım!"; print "
Referans: https://www.mertsarica.com/pi-hediyem-var-2/"; } } else { $username = 'misafir'; $loc = "Location: " . "https://www.mertsarica.com/ctf/ctf2.php?" . "username=" . $username . "&hash=" . hash("md5",$secret.$username); header($loc); exit; } } else { $username = 'misafir'; $loc = "Location: " . "https://www.mertsarica.com/ctf/ctf2.php?" . "username=" . $username . "&hash=" . hash("md5",$secret.$username); header($loc); exit; } ?>​

ÇÖZÜM:

https://www.mertsarica.com/ctf/ctf2.php sayfasının kaynak koduna bakılarak Et tu, Brute?
(Sen de mi Brütüs)
cümlesinden bunun Sezar‘a ait bir söz olduğundan yola çıkarak gizlenmiş mesajın Sezar’ın Şifrelemesi ile oluşturulduğunu (ROT-3 kullanılmıştır) tahmin edebilirdiniz. Çözmek için ise Google’dan faydalanabilirdiniz.

Hediye Pi
Hediye Pi

Ortaya çıkan aşağıdaki PHP kodundan, Merkle–Damgård hash fonksiyonunun MAC (mesaj doğrulama kodu) olarak kullanıldığının ve bunun da hash uzunluk genişletme zafiyetine yol açtığını anlayabilirdiniz.

  ...
  if(hash("md5",$secret.$username) == $hash){
    $pos = strpos($username, "admin");
    if ($pos !== false) {  
      print "Tebrikler $username , artık en yüksek yetkiye sahipsin :)";
  ...

strpos fonksiyonu ile username parametresinde admin karakter dizisi (string) kullanıldığında, kullanıcıya yönetici yetkisi (admin) verildiği için, hash uzunluk genişletme saldırısından faydalanarak username parametresine admin karakter dizisini manuel olarak veya hash_extender aracı ile (deneme yanılma yöntemi ile secret değişkeninin 11 hane olduğunu bulacaktınız) ekleyebilir, yeni üretilen hash değerini de hash parametresi ile birlikte sunucuya göndererek başarıyla admin yetkisine sahip olabilirdiniz.

Hediye Pi
Hediye Pi

https://www.mertsarica.com/ctf/ctf2.php?username=misafir%80%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%90%00%00%00%00%00%00%00admin&hash=373fb330afbc0b1a5688ff4a3ef1b2a6

OYUNU BAŞARIYLA TAMAMLAYANLAR: Halit Alptekin, Deniz Parlak, Mert Arısoy, Alper DÖM, Melih Burak SARI, Mert TAŞÇI, Harun GÜLEÇ, Ali AĞDENİZ, Selim YILDIZ, Ceylan BOZOĞULLARINDAN, Ertugrul BAŞARANOĞLU, Cihad ÖGE, Kürşat Oğuzhan AKINCI (geç bildirim), Sipke Mellema

ÇEKİLİŞ ve KAZANAN TALİHLİ:

Hediye Pi

Başta kazanan talihli Ceylan BOZOĞULLARINDAN olmak üzere oyunu başarıyla çözen, katılan, destekleyen, sponsor olan herkese teşekkür eder, yeni oyunlarda görüşmek dileğiyle herkese güvenli günler dilerim.

image_pdfShow this post in PDF formatimage_printPrint this page
14 comments
  1. Teşekkürler, çok güzeldi, sayende yeni şeyler öğrendik..
    Yanlız anlamadığım birşey var secret uzunluğu ne olursa olsun md5 değeri hep aynı çıkıyor, ben de bu yolu bulmuştum ama uzunluğu hesap etmedim hepsi aynı çıktığı için o ayrımın nasıl yapıldığını anlamadım.

    1. O ayrımın nasıl yapıldığını yeni yazımda anlayacaksın :)
      Resimde görünmeyen kısmı resimlerin altına kopyaladım.

  2. Hocam elinize sağlık böyle CTF\’ler oluşturup hediye veriyor olmanız işi gerçekten çok keyifli bi hale getiriyor. Ben CTF ile çok kısa bir süre uğraştım, çözdüm ama göndermedim. Onun dışında \”Et tu, Brute?\” gerçekten çok hoştu, bir gülümseme belirdi benim yüzümde, başka arkadaşlarda da olmuştur eminim. Uzun lafın kısası, elinize sağlık, umarım bir üçüncüsü daha gelir bu yarışmanın :) . İyi günler dilerim

  3. Hocam yaziyi gorunce($secret = ‘h4ck4C4r33r’;)
    gonderdigim crackme yi cozdugunuzu anlayabilirmiyiz :).Yoksa Daha bakmadiniz mi?

Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like
Read More

e-Devlet Hacklendi mi?

If you are looking for an English version of this article, please visit here. Öncelikle yazının sonunda söyleyeceğimi başta söyleyeyim, “Hayır, hack-len-me-di!” Peki bu durumda vatandaş olarak rahat bir nefes alabilir misiniz ? Maalesef hayır. Bunun sebebini de yazının devamında okuyabilirsiniz. Zaman zaman hortlayan “e-Devlet Hacklendi!”, “e-Devlet verileri çalındı!”, “85…
Read More
Read More

WhatsApp Dolandırıcıları

If you are looking for an English version of this article, please visit here. Başlangıç Son günlerde hemen hemen WhatsApp uygulaması kullanan herkesi rahatsız eden yabancı cep telefonu numaralarından gelen çağrılardan, mesajlardan ben de yakın zamanda nasibimi aldım ve tabii ki diğer dolandırıcılıklarla ilgili yazılarımda (Kripto Para Dolandırıcıları, LinkedIn Dolandırıcıları,…
Read More
Read More

LinkedIn Dolandırıcıları

If you are looking for an English version of this article, please visit here. Uzun yıllardan beri sosyal ağları ve medyayı etkin kullanan bir siber güvenlik araştırmacısı olarak bağlantılarım arasında yer alanlarınız özellikle hafta içi LinkedIn ve Twitter üzerinden okuduğum ve beğendiğim siber güvenlik makalelerini, haberleri paylaştıklarımı farkediyorlardır. Twitter hesabımın…
Read More
Read More

e-Devlet Hesaplarımızı Nasıl Hackliyorlar?

If you are looking for an English version of this article, please visit here. Başlangıç 25 Ekim 2023 günü saat 11:46’da e-Devlet uygulamasından ve e-posta adresime gelen uyarılardan e-Devlet Kapısı hesabıma üst üste birden fazla defa yanlış parola ile giriş yapılmaya çalışıldığı için hesabımın bir saatliğine geçici olarak kullanıma kapatıldığını…
Read More