Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
**Cross-Site Script Inclusion (XSSI)** je ranjivost koja proističe iz prirode `script` taga u HTML-u. Za razliku od većine resursa, koji podliježu **Same-Origin Policy (SOP)**, skripte se mogu uključivati iz različitih domena. Ovo ponašanje je zamišljeno da olakša korišćenje biblioteka i drugih resursa hostovanih na različitim serverima, ali takođe uvodi potencijalni sigurnosni rizik.
- **Zaobilaženje SOP**: Skripte su izuzete iz **Same-Origin Policy**, što im omogućava da se uključuju između domena.
- **Izloženost podataka**: Napadač može iskoristiti ovo ponašanje da pročita podatke učitane putem `script` taga.
- **Uticaj na dinamički JavaScript/JSONP**: **XSSI** je posebno relevantan za dinamički JavaScript ili **JSON with Padding (JSONP)**. Ove tehnologije često koriste informacije "ambient-authority" (kao što su kolačići) za autentifikaciju. Kada se zahteva skripta sa drugog hosta, ove akreditive (npr. kolačiće) automatski uključuju u zahtev.
- **Curjenje autentifikacionih tokena**: Ako napadač može da prevari korisnikov pretraživač da zatraži skriptu sa servera koji kontroliše, može imati pristup osetljivim informacijama sadržanim u tim zahtevima.
**The following information is a sumary of [https://www.scip.ch/en/?labs.20160414](https://www.scip.ch/en/?labs.20160414)**. Check it for further details.
U ovom pristupu, privatne informacije su ugrađene unutar globalno dostupne JavaScript datoteke. Napadači mogu identifikovati ove datoteke koristeći metode kao što su čitanje datoteka, pretrage ključnih reči ili regularne izraze. Kada se lociraju, skripta koja sadrži privatne informacije može se uključiti u zlonamerni sadržaj, omogućavajući neovlašćen pristup osetljivim podacima. Primer tehnike eksploatacije je prikazan u nastavku:
### Dynamic-JavaScript-based-XSSI and Authenticated-JavaScript-XSSI
Ove vrste XSSI napada uključuju poverljive informacije koje se dinamički dodaju u skriptu kao odgovor na korisnikov zahtev. Detekcija se može izvršiti slanjem zahteva sa i bez kolačića i upoređivanjem odgovora. Ako se informacije razlikuju, to može ukazivati na prisustvo poverljivih informacija. Ovaj proces se može automatizovati korišćenjem alata kao što je [DetectDynamicJS](https://github.com/luh2/DetectDynamicJS) Burp ekstenzija.
Ako su poverljivi podaci pohranjeni u globalnoj promenljivoj, mogu se iskoristiti slične metode kao u Regular XSSI. Međutim, ako su poverljivi podaci uključeni u JSONP odgovor, napadači mogu preuzeti funkciju povratnog poziva kako bi dobili informacije. To se može uraditi ili manipulisanjem globalnim objektima ili postavljanjem funkcije koja će biti izvršena od strane JSONP odgovora, kao što je prikazano u nastavku:
Za promenljive koje se ne nalaze u globalnom imenskom prostoru, *prototype tampering* se ponekad može iskoristiti. Ova tehnika koristi dizajn JavaScript-a, gde interpretacija koda uključuje prolazak kroz prototip lanac da bi se locirala pozvana svojstva. Predefinisanjem određenih funkcija, kao što je `Array`-ova `slice`, napadači mogu pristupiti i otkriti ne-globalne promenljive:
Dalje informacije o napadnim vektorima mogu se naći u radu istraživača bezbednosti [Sebastian Lekies](https://twitter.com/slekies), koji održava listu [vektora](http://sebastian-lekies.de/leak/).
Istraživanje Takeshija Terade uvodi još jedan oblik XSSI, gde se Non-Script datoteke, kao što su CSV, otkrivaju preko različitih domena tako što se uključuju kao izvori u `script` tag. Istorijski primeri XSSI, kao što su napad Jeremiah Grossmana iz 2006. godine za čitanje kompletnog Google adresara i curenje JSON podataka Joea Walkera iz 2007. godine, ističu ozbiljnost ovih pretnji. Pored toga, Gareth Heyes opisuje varijantu napada koja uključuje UTF-7 kodirani JSON kako bi se izbegao JSON format i izvršili skripti, što je efikasno u određenim pregledačima:
Učite i vežbajte AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Učite i vežbajte GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**