Iframes in XSS, CSP and SOP
Iframes in XSS
Kuna njia 3 za kuonyesha maudhui ya ukurasa ulio kwenye iframe:
Kupitia
src
ikionyesha URL (URL inaweza kuwa ya asili tofauti au ya asili sawa)Kupitia
src
ikionyesha maudhui kwa kutumia itifaki yadata:
Kupitia
srcdoc
ikionyesha maudhui
Kufikia Parent & Child vars
Ikiwa unapata html ya awali kupitia seva ya http (kama python3 -m http.server
) utaona kwamba skripti zote zitatekelezwa (kama hakuna CSP inayozuia). mzazi hataweza kufikia secret
var ndani ya iframe yoyote na ni iframes if2 & if3 pekee (ambazo zinachukuliwa kuwa kwenye tovuti moja) zinaweza kufikia siri katika dirisha la asili.
Tazama jinsi if4 inachukuliwa kuwa na asili null
.
Iframes na CSP
Tafadhali, angalia jinsi katika bypasses zifuatazo jibu la ukurasa wa iframe halina kichwa chochote cha CSP kinachozuia utekelezaji wa JS.
Thamani ya self
ya script-src
haitaruhusu utekelezaji wa msimbo wa JS ukitumia protokali ya data:
au sifa ya srcdoc
.
Hata hivyo, hata thamani ya none
ya CSP itaruhusu utekelezaji wa iframes ambazo zinaweka URL (kamili au njia tu) katika sifa ya src
.
Kwa hivyo inawezekana kupita CSP ya ukurasa kwa:
Note how the previous CSP only permits the execution of the inline script.
However, only if1
and if2
scripts are going to be executed but only if1
will be able to access the parent secret.
Therefore, it’s possible to bypass a CSP if you can upload a JS file to the server and load it via iframe even with script-src 'none'
. This can potentially be also done abusing a same-site JSONP endpoint.
You can test this with the following scenario where a cookie is stolen even with script-src 'none'
. Just run the application and access it with your browser:
Mipango Mingine Ilipatikana Katika Porini
Iframe sandbox
Maudhui ndani ya iframe yanaweza kuwekwa chini ya vizuizi vya ziada kupitia matumizi ya sifa ya sandbox
. Kwa kawaida, sifa hii haitumiki, ikimaanisha hakuna vizuizi vilivyowekwa.
Wakati inapotumika, sifa ya sandbox
inaweka vizuizi kadhaa:
Maudhui yanachukuliwa kana kwamba yanatoka kwenye chanzo pekee.
Jaribio lolote la kuwasilisha fomu linazuiwa.
Utekelezaji wa scripts unakatazwa.
Upatikanaji wa APIs fulani unazuiliwa.
Inazuia viungo kuingiliana na muktadha mingine ya kuvinjari.
Matumizi ya plugins kupitia
<embed>
,<object>
,<applet>
, au lebo zinazofanana yanakatazwa.Usafiri wa muktadha wa juu wa kuvinjari wa maudhui yenyewe unazuiliwa.
Vipengele vinavyosababishwa kiotomatiki, kama vile upigaji video au kuzingatia kiotomatiki kwa udhibiti wa fomu, vinazuiwa.
Thamani ya sifa inaweza kuachwa kuwa tupu (sandbox=""
) ili kuweka vizuizi vyote vilivyotajwa hapo juu. Vinginevyo, inaweza kuwekwa kwenye orodha ya thamani maalum zilizotenganishwa kwa nafasi ambazo zinatoa msamaha kwa iframe kutoka kwa vizuizi fulani.
Iframes katika SOP
Angalia kurasa zifuatazo:
Last updated