* **Şirketinizi HackTricks'te reklam vermek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimizden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
**Cross-Site Script Inclusion (XSSI)**, HTML'deki `script` etiketinin doğasından kaynaklanan bir güvenlik açığıdır. Diğer kaynakların çoğunun aksine, **Aynı Köken Politikası (SOP)**'na tabi olmayan betikler, farklı etki alanlarından dahil edilebilir. Bu davranış, farklı sunucularda barındırılan kütüphanelerin ve diğer kaynakların kullanımını kolaylaştırmayı amaçlamaktadır, ancak aynı zamanda potansiyel bir güvenlik riski de oluşturur.
- **SOP'nin Atlatılması**: Betikler, etki alanları arasında dahil edilebilmelerine izin veren **Aynı Köken Politikası**'ndan muaf tutulur.
- **Veri Sızdırma**: Bir saldırgan, `script` etiketi aracılığıyla yüklenen verileri okumak için bu davranışı istismar edebilir.
- **Dinamik JavaScript/JSONP Üzerindeki Etkisi**: **XSSI**, özellikle dinamik JavaScript veya **JSON ile Dolgulu (JSONP)** için önemlidir. Bu teknolojiler genellikle kimlik doğrulaması için "ortam yetkisi" bilgilerini (örneğin çerezler) kullanır. Farklı bir sunucuya bir betik isteği yapıldığında, bu kimlik bilgileri (örneğin çerezler) otomatik olarak isteğe dahil edilir.
- **Kimlik Doğrulama Jetonu Sızıntısı**: Bir saldırgan, bir kullanıcının tarayıcısını kendi kontrol ettikleri bir sunucudan bir betik istemeye kandırabilirse, bu isteklerdeki hassas bilgilere erişebilir.
**Aşağıdaki bilgiler, [https://www.scip.ch/en/?labs.20160414](https://www.scip.ch/en/?labs.20160414) adresindeki özetidir. Daha fazla ayrıntı için kontrol edin.
Bu yaklaşımda, özel bilgiler küresel olarak erişilebilir bir JavaScript dosyasına gömülüdür. Saldırganlar, dosya okuma, anahtar kelime aramaları veya düzenli ifadeler gibi yöntemler kullanarak bu dosyaları tespit edebilir. Bulunan özel bilgileri içeren betik, yetkisiz erişime izin vererek kötü amaçlı içeriğe dahil edilebilir. Aşağıda bir örnek istismar tekniği gösterilmektedir:
### Dinamik-JavaScript-tabanlı-XSSI ve Kimlik Doğrulama-JavaScript-XSSI
Bu tür XSSI saldırıları, kullanıcının isteğine yanıt olarak betiğe dinamik olarak eklenen gizli bilgileri içerir. Algılama, çerezlerle ve çerezler olmadan istekler göndererek ve yanıtları karşılaştırarak gerçekleştirilebilir. Bilgiler farklılık gösteriyorsa, gizli bilgilerin varlığını gösterebilir. Bu işlem, [DetectDynamicJS](https://github.com/luh2/DetectDynamicJS) Burp eklentisi gibi araçlar kullanılarak otomatikleştirilebilir.
Gizli veriler bir global değişkende depolanıyorsa, Düzenli XSSI'de kullanılan yöntemlere benzer yöntemlerle istismar edilebilir. Ancak, gizli veriler bir JSONP yanıtında yer alıyorsa, saldırganlar geri çağırma işlevini ele geçirerek bilgileri alabilir. Bu, ya global nesneleri manipüle ederek ya da JSONP yanıtı tarafından yürütülecek bir işlevi kurarak yapılabilir, aşağıda gösterildiği gibi:
Değişkenlerin global ad alanında bulunmadığı durumlarda, bazen *prototype bozulması* istismar edilebilir. Bu teknik, JavaScript'in tasarımından yararlanır, burada kod yorumlaması, çağrılan özelliği bulmak için prototip zincirini gezme işlemi içerir. `Array`'ın `slice` gibi belirli fonksiyonları geçersiz kılarak, saldırganlar global olmayan değişkenlere erişebilir ve sızdırabilir:
Takeshi Terada'nın araştırması, CSV gibi Non-Script dosyalarının, bir `script` etiketi içinde kaynak olarak dahil edilerek cross-origin olarak sızdırıldığı başka bir XSSI formunu tanıtır. Google adres defterinin tamamını okumak için yapılan Jeremiah Grossman'ın 2006 saldırısı ve Joe Walker'ın 2007 JSON veri sızıntısı gibi tarihsel XSSI örnekleri, bu tehditlerin ciddiyetini vurgular. Ayrıca, Gareth Heyes, belirli tarayıcılarda etkili olan JSON formatından kaçmak ve komut dosyalarını çalıştırmak için UTF-7 kodlu JSON içeren bir saldırı varyantını açıklar:
* **Şirketinizi HackTricks'te reklamını görmek** veya **HackTricks'i PDF olarak indirmek** isterseniz, [**ABONELİK PLANLARINA**](https://github.com/sponsors/carlospolop) göz atın!