BrowExt - XSS Example
Kudukua Kupitia Cross-Site Scripting (XSS) kwa Kutumia Iframe
Katika hali hii, script ya maudhui imeanzishwa ili kuanzisha Iframe, ikijumuisha URL na vigezo vya utafutaji kama chanzo cha Iframe:
Ukurasa wa HTML unaopatikana kwa umma, message.html
, umebuniwa ili kuongeza maudhui kwa mwili wa hati kulingana na vigezo katika URL:
Kipande cha hatari kinatekelezwa kwenye ukurasa wa adui, kikibadilisha parameter ya content
ya chanzo cha Iframe ili kuingiza XSS payload. Hii inafanikiwa kwa kusasisha chanzo cha Iframe ili kiweke skripti yenye madhara:
Sera ya Usalama wa Yaliyomo yenye ruhusa kubwa sana kama:
inawezesha utekelezaji wa JavaScript, ikifanya mfumo kuwa hatarini kwa mashambulizi ya XSS.
Njia mbadala ya kusababisha XSS ni kwa kujenga kipengele cha Iframe na kuweka chanzo chake kujumuisha hatari ya script kama maudhui
parameter:
DOM-based XSS + ClickJacking
Mfano huu ulichukuliwa kutoka kwenye chapisho asili la kuandika.
Shida kuu inatokea kutokana na udhaifu wa DOM-based Cross-site Scripting (XSS) uliopo katika /html/bookmarks.html
. JavaScript tatizo, sehemu ya bookmarks.js
, imeelezewa hapa chini:
Hii sehemu inapata thamani kutoka kwa uga wa kuingiza txtName
na kutumia unyumbishaji wa herufi kuunda HTML, ambayo kisha inaongezwa kwenye DOM kwa kutumia kazi ya .append()
ya jQuery.
Kawaida, Sera ya Usalama ya Yaliyomo (CSP) ya kifaa cha Chrome ingezuia udhaifu kama huu. Walakini, kutokana na kuruhusu CSP na 'unsafe-eval' na matumizi ya njia za usanidi wa DOM za jQuery (ambazo hutumia globalEval()
kupeleka hati kwa eval()
wakati wa kuingiza DOM), unyanyasaji bado unawezekana.
Ingawa udhaifu huu ni muhimu, unyanyasaji wake kawaida unategemea ushirikiano wa mtumiaji: kutembelea ukurasa, kuingiza mzigo wa XSS, na kuamsha kifungo cha "Ongeza".
Ili kuimarisha udhaifu huu, udhaifu wa clickjacking wa sekondari unatumika. Sera ya kifaa cha Chrome inaonyesha sera kubwa ya web_accessible_resources
:
Hasa, ukurasa wa /html/bookmarks.html
una hatari ya kufungwa, hivyo ni rahisi kwa clickjacking. Udhaifu huu unatumika kuweka ukurasa ndani ya tovuti ya mshambuliaji, ukiufunika na vipengele vya DOM ili kubadilisha muundo wa interface kwa njia ya udanganyifu. Udanganyifu huu unawafanya waathirika kuingiliana na kipengele cha nyuma cha upanuzi bila kukusudia.
Marejeo
Last updated