# Iframes katika XSS, CSP na SOP
Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! * Je! Unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikitangazwa kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) * **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **fuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwa** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
## Iframes katika XSS Kuna njia 3 za kuonyesha maudhui ya ukurasa ulio na iframe: * Kupitia `src` ikionyesha URL (URL inaweza kuwa ya asili tofauti au sawa) * Kupitia `src` ikionyesha maudhui kwa kutumia itifaki ya `data:` * Kupitia `srcdoc` ikionyesha maudhui **Kupata Vipimo vya Mzazi na Mtoto** ```html ``` ```html ``` Ikiwa utapata html iliyopita kupitia seva ya http (kama `python3 -m http.server`) utaona kwamba scripts zote zitatekelezwa (kwa kuwa hakuna CSP inayozuia hilo). **Mzazi hataweza kupata upatikanaji wa `secret` var ndani ya kifungu chochote** na **iframes if2 & if3 (ambazo zinafikiriwa kuwa tovuti moja) pekee ndizo zinaweza kupata upatikanaji wa siri** kwenye dirisha la awali.\ Tafadhali angalia jinsi if4 inavyochukuliwa kuwa na asili ya `null`. ### Iframes na CSP {% hint style="info" %} Tafadhali, angalia jinsi katika kuzidi kwa ifuatayo, jibu kwa ukurasa ulio na iframe haina kichwa cha CSP kinachozuia utekelezaji wa JS. {% endhint %} Thamani ya `self` ya `script-src` haitaruhusu utekelezaji wa msimbo wa JS ukitumia itifaki ya `data:` au sifa ya `srcdoc`.\ Hata hivyo, hata thamani ya `none` ya CSP itaruhusu utekelezaji wa iframes ambazo huweka URL (kamili au tu njia) kwenye sifa ya `src`.\ Hivyo ni rahisi kuzidi CSP ya ukurasa na: ```html ``` Tafadhali angalia jinsi **CSP ya awali inaruhusu utekelezaji wa skripti ya ndani**.\ Hata hivyo, **tu skripti za `if1` na `if2` zitatekelezwa lakini `if1` pekee itaweza kufikia siri ya mzazi**. ![](<../../.gitbook/assets/image (369).png>) Hivyo basi, ni **rahisi kukiuka CSP ikiwa unaweza kupakia faili ya JS kwenye seva na kuipakia kupitia fremu hata na `script-src 'none'`**. Hii inaweza **pia kufanywa kwa kudhuru kituo cha JSONP cha tovuti ile ile**. Unaweza kufanya majaribio haya na hali ifuatayo ambapo kuki inaibiwa hata na `script-src 'none'`. Fanya programu iende na ufikie kwa kutumia kivinjari chako: ```python import flask from flask import Flask app = Flask(__name__) @app.route("/") def index(): resp = flask.Response('') resp.headers['Content-Security-Policy'] = "script-src 'self'" resp.headers['Set-Cookie'] = 'secret=THISISMYSECRET' return resp @app.route("/cookie_s.html") def cookie_s(): return "" if __name__ == "__main__": app.run() ``` ### Malipo Mengine Yaliyopatikana kwenye Mbuga ```html ``` ### Iframe sandbox Maudhui ndani ya iframe inaweza kuwekwa chini ya vizuizi zaidi kupitia matumizi ya sifa ya `sandbox`. Kwa chaguo-msingi, sifa hii haitekelezwi, maana hakuna vizuizi vilivyowekwa. Inapotumiwa, sifa ya `sandbox` inaweka vizuizi kadhaa: * Maudhui yanachukuliwa kama yanatoka kwenye chanzo kimoja. * Jaribio lolote la kuwasilisha fomu linazuiliwa. * Utekelezaji wa scripts unakatazwa. * Upatikanaji wa APIs fulani unalemazwa. * Inazuia viungo kutokana na kuingiliana na muktadha mwingine wa kuvinjari. * Matumizi ya programu-jalizi kupitia ``, ``, ``, au vitambulisho vinavyofanana haviruhusiwi. * Uvinjari wa muktadha wa kuvinjari wa kiwango cha juu cha maudhui na maudhui yenyewe unazuiliwa. * Vipengele ambavyo vinachochea moja kwa moja, kama vile kucheza video au kufanya fomu zifanye kazi, vinazuiliwa. Thamani ya sifa inaweza kuachwa tupu (`sandbox=""`) ili kuweka vizuizi vyote vilivyotajwa hapo juu. Vinginevyo, inaweza kuwekwa kama orodha ya thamani maalum zinazotenganishwa na nafasi ambazo zinatoa msamaha kwa iframe kutoka kwa vizuizi fulani. ```html ``` ## Iframes katika SOP Angalia kurasa zifuatazo: {% content-ref url="../postmessage-vulnerabilities/bypassing-sop-with-iframes-1.md" %} [bypassing-sop-with-iframes-1.md](../postmessage-vulnerabilities/bypassing-sop-with-iframes-1.md) {% endcontent-ref %} {% content-ref url="../postmessage-vulnerabilities/bypassing-sop-with-iframes-2.md" %} [bypassing-sop-with-iframes-2.md](../postmessage-vulnerabilities/bypassing-sop-with-iframes-2.md) {% endcontent-ref %} {% content-ref url="../postmessage-vulnerabilities/blocking-main-page-to-steal-postmessage.md" %} [blocking-main-page-to-steal-postmessage.md](../postmessage-vulnerabilities/blocking-main-page-to-steal-postmessage.md) {% endcontent-ref %} {% content-ref url="../postmessage-vulnerabilities/steal-postmessage-modifying-iframe-location.md" %} [steal-postmessage-modifying-iframe-location.md](../postmessage-vulnerabilities/steal-postmessage-modifying-iframe-location.md) {% endcontent-ref %}
Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! * Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Je, ungependa kuona **kampuni yako ikionyeshwa kwenye HackTricks**? au ungependa kupata ufikiaji wa **toleo jipya la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA USAJILI**](https://github.com/sponsors/carlospolop)! * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **nifuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwenye** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).