HTML Enjeksiyonu Nedir?
HTML Injection, bir web sitesinin kullanıcı giriş noktasını kontrol edebildiği ve savunmasız web sayfasına HTML kodu enjekte edebildiği bir tür güvenlik açığıdır. Bu tür saldırılar genellikle güvenlik açıklarından yararlanarak gerçekleştirilmektedir.
Reflected GET enjeksiyonu, bir web sitesinde bir kullanıcı tarafından gönderilen verilerin doğrudan bir URL’de görüntülenmesi sonucu ortaya çıkan bir tür saldırıdır. Bu tür bir enjeksiyon, bir web sitesinde kullanıcı tarafından gönderilen verilerin bir URL’de görüntülenmesi sırasında oluşabilecek bir güvenlik açığından yararlanarak gerçekleştirilmektedir. Reflected HTML GET enjeksiyonu saldırısı, bir web sitesine zarar veren veya kullanıcılara zarar veren kodların web sayfasına eklenmesini sağlar. Bu tür saldırıların önlenmesi için, web sitelerinin güvenlik duvarlarının güçlendirilmesi veya kullanıcı tarafından gönderilen verilerin doğru bir şekilde doğrulanması gerekir.
bWAPP için Bee Box makinesini buradan kurabilirsiniz.
Uygulama
Seviye: Low
First name ve Last name alanlarına h1 tagi ile birlikte HTML kodu enjekte etmeye çalışıyoruz.
Uygulamanın başka bir kullanıcısı saldırganın URL’sine ulaşırsa, zararlı kod kurbanın tarayıcısında çalışmaktadır. Bununla birlikte bir saldırgan, sosyal mühendisliğini kullanıp kötü amaçlı URL’yi kurbanın tarayıcısında çalıştırabilme ihtimali bulunmaktadır.
Seviye: Medium
Bu seviyede h1 etiketini tekrar deniyoruz, ancak buraya kodumuzu enjekte edemiyoruz.
Bunun sebebini öğrenmek için sitenin kaynak kodunu inceliyoruz.
Kaynak kodunu gördüğümüzde “<” ve ”>” karakterleri kodlanmış HTML varlıklarıyla değiştirilmiş. Buna biz HTML Entity Encoding adını veririz. XSS saldırılarını ve HTML enjeksiyonunu azaltmak için kullanılan bir tekniktir. Saldırıyı gerçekleştirmek için HTML kodumuza iki adet URL encoding gerçekleştireceğiz.
Bu teknikte, birinci kod çözme işlemi HTTP protokolü sayesine gerçekleştirilmektedir. Ortaya çıkan URL ile HTML/XSS filtresini atlayacaktır.
Burp Suite ile Proxy menüsünden Intercept seçeneğini açıyoruz ve alanlara birer yazı yazarak isteğimizi yakalıyoruz.
Decoder menüsüne giderek h1 tagimize iki kere encode işlemi gerçekleştiriyoruz.
Encode işlemi yaptığımız kodumuzu firstname alanına yazıyoruz. Forward butonuna basıyoruz.
Yukarıdaki fotoğrafta da görebileceğimiz üzere h1 tagimiz çalışmış bulunmaktadır.
bWAPP çözümleri hakkında daha fazla makale için buraya tıklayınız.