<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Werk jy by 'n **cybersekuriteitsmaatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**hacktricks-opslag**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-opslag**](https://github.com/carlospolop/hacktricks-cloud).
'n **Dienswerker** is 'n skrip wat deur jou blaaier in die agtergrond uitgevoer word, afsonderlik van enige webbladsy, wat funksies moontlik maak wat nie 'n webbladsy of gebruikerinteraksie benodig nie, en sodoende **aflyn- en agtergrondverwerking**-vermoëns verbeter. Gedetailleerde inligting oor dienswerkers is beskikbaar [hier](https://developers.google.com/web/fundamentals/primers/service-workers). Deur dienswerkers binne 'n kwesbare webdomein te misbruik, kan aanvallers beheer verkry oor die slagoffers se interaksies met alle bladsye binne daardie domein.
Bestaande dienswerkers kan nagegaan word in die **Dienswerkers**-afdeling van die **Aansoek**-tabblad in die **Ontwikkelaarhulpmiddels**. 'n Ander metode is om [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) te besoek vir 'n meer gedetailleerde aansig.
**Duw kennisgewings-toestemmings** het direk 'n impak op 'n **dienswerker** se vermoë om met die bediener te kommunikeer sonder direkte gebruikerinteraksie. As toestemmings ontken word, beperk dit die dienswerker se potensiaal om 'n voortdurende bedreiging te vorm. Daarteenoor verhoog die toekenning van toestemmings die veiligheidsrisiko deur die ontvangs en uitvoering van potensiële aanvalle moontlik te maak.
* 'n manier om **willekeurige JS-lêers na die bediener te laai** en 'n **XSS om die dienswerker van die gelaai JS-lêer** te laai
* 'n **kwesbare JSONP-versoek** waar jy die uitset kan **manipuleer (met willekeurige JS-kode)** en 'n **XSS** om die **JSONP met 'n lading** te **laai wat 'n skadelike dienswerker sal laai**.
In die volgende voorbeeld gaan ek 'n kode voorstel om 'n nuwe dienswerker te **registreer** wat na die `fetch`-gebeurtenis sal luister en sal **elke opgehaalde URL na die aanvallers se bediener stuur** (dit is die kode wat jy nodig het om na die **bediener te laai** of te laai via 'n **kwesbare JSONP**-antwoord):
En hierdie is die kode wat die werker sal **registreer** (die kode wat jy moet kan uitvoer deur 'n **XSS** te misbruik). In hierdie geval sal 'n **GET** versoek gestuur word na die **aanvallers** bediener om te **meld** of die **registrasie** van die dienswerker suksesvol was of nie:
Daar is 'n **C2** toegewy aan die **uitbuiting van Dienswerkers** genaamd [**Shadow Workers**](https://shadow-workers.github.io) wat baie nuttig sal wees om hierdie kwesbaarhede te misbruik.
Die **24-uur cache riglyn** beperk die leeftyd van 'n skadelike of gekompromitteerde **dienswerker (SW)** tot hoogstens 24 uur na 'n XSS kwesbaarheidsherstel, mits die kliënt aanlyn is. Om die kwesbaarheid te verminder, kan webwerf-operateurs die SW-skrips se Tyd-Tot-Leef (TTL) verlaag. Ontwikkelaars word ook aangeraai om 'n [**dienswerker-kill-schakelaar**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) te skep vir vinnige deaktivering.
Die funksie **`importScripts`** wat vanaf 'n Dienswerker geroep word, kan 'n skrips van 'n ander domein **importe**. As hierdie funksie geroep word met 'n **parameter wat 'n aanvaller sou kon** wysig, sou hy in staat wees om 'n JS-skrips van sy domein te **importe** en XSS te kry.
As die URL/domein waar die SW gebruik om **`importScripts`** te roep **binne 'n HTML-element** is, is dit **moontlik om dit te wysig deur middel van DOM Clobbering** om die SW **'n skrip van jou eie domein te laat laai**.
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Werk jy in 'n **cybersekuriteitsmaatskappy**? Wil jy jou **maatskappy geadverteer sien in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die** [**hacktricks-opslag**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-opslag**](https://github.com/carlospolop/hacktricks-cloud).