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.

HTML Injection
HTML Injection

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.

HTML Injection

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.

Burp Suite

Decoder menüsüne giderek h1 tagimize iki kere encode işlemi gerçekleştiriyoruz.

Burp Suite

Encode işlemi yaptığımız kodumuzu firstname alanına yazıyoruz. Forward butonuna basıyoruz.

Burp Suite
HTML Injection

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.