mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-16 22:18:27 +00:00
Translated ['pentesting-web/xss-cross-site-scripting/dom-xss.md'] to af
This commit is contained in:
parent
b660185056
commit
00c8aa9e16
1 changed files with 64 additions and 63 deletions
|
@ -2,27 +2,27 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks af in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* 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 hacking-truuks deur PR's in te dien by die** [**hacktricks-repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-repo**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
* 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)!
|
||||
* Ontdek [**Die PEASS-familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
|
||||
* Kry die [**amptelike PEASS & HackTricks-klere**](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).
|
||||
|
||||
</details>
|
||||
|
||||
## DOM Kwesbaarhede
|
||||
|
||||
DOM-kwesbaarhede kom voor wanneer data vanaf aanvaller-beheerde **bronne** (soos `location.search`, `document.referrer`, of `document.cookie`) onveilig oorgedra word na **sinks**. Sinks is funksies of objekte (bv. `eval()`, `document.body.innerHTML`) wat skadelike inhoud kan uitvoer of vertoon as dit kwaadwillige data ontvang.
|
||||
DOM-kwesbaarhede kom voor wanneer data vanaf aanvaller-beheerde **bronne** (soos `location.search`, `document.referrer`, of `document.cookie`) onveilig oorgedra word na **sinks**. Sinks is funksies of voorwerpe (bv., `eval()`, `document.body.innerHTML`) wat skadelike inhoud kan uitvoer of vertoon as dit kwaadwillige data ontvang.
|
||||
|
||||
- **Bronne** is insette wat deur aanvallers gemanipuleer kan word, insluitend URL's, koekies, en webboodskappe.
|
||||
- **Sinks** is potensieel gevaarlike eindpunte waar kwaadwillige data kan lei tot nadelige gevolge, soos skripsie-uitvoering.
|
||||
* **Bronne** is insette wat deur aanvallers gemanipuleer kan word, insluitend URL's, koekies, en webboodskappe.
|
||||
* **Sinks** is potensieel gevaarlike eindpunte waar kwaadwillige data kan lei tot nadelige gevolge, soos skripsie-uitvoering.
|
||||
|
||||
Die risiko ontstaan wanneer data vanaf 'n bron na 'n sink vloei sonder behoorlike validering of sanitisering, wat aanvalle soos XSS moontlik maak.
|
||||
Die risiko ontstaan wanneer data vloei vanaf 'n bron na 'n sink sonder behoorlike validering of sanitisering, wat aanvalle soos XSS moontlik maak.
|
||||
|
||||
{% hint style="info" %}
|
||||
**Jy kan 'n meer bygewerkte lys van bronne en sinks vind in** [**https://github.com/wisec/domxsswiki/wiki**](https://github.com/wisec/domxsswiki/wiki)
|
||||
**Jy kan 'n meer opgedateerde lys van bronne en sinks vind op** [**https://github.com/wisec/domxsswiki/wiki**](https://github.com/wisec/domxsswiki/wiki)
|
||||
{% endhint %}
|
||||
|
||||
**Gewone bronne:**
|
||||
|
@ -44,7 +44,7 @@ Database
|
|||
```
|
||||
**Gewone Sinks:**
|
||||
|
||||
| [**Oop Herlei**](dom-xss.md#open-redirect) | [**Javascript Injeksie**](dom-xss.md#javascript-injection) | [**DOM-data manipulasie**](dom-xss.md#dom-data-manipulation) | **jQuery** |
|
||||
| [**Oopverwysing**](dom-xss.md#open-redirect) | [**Javascript-inspuiting**](dom-xss.md#javascript-injection) | [**DOM-data manipulasie**](dom-xss.md#dom-data-manipulation) | **jQuery** |
|
||||
| -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------------------- | ---------------------------------------------------------------------- |
|
||||
| `location` | `eval()` | `scriptElement.src` | `add()` |
|
||||
| `location.host` | `Function() konstrukteur` | `scriptElement.text` | `after()` |
|
||||
|
@ -56,43 +56,44 @@ Database
|
|||
| `location.assign()` | `msSetImmediate()` | `someDOMElement.textContent` | `html()` |
|
||||
| `location.replace()` | `range.createContextualFragment()` | `someDOMElement.innerText` | `prepend()` |
|
||||
| `open()` | `crypto.generateCRMFRequest()` | `someDOMElement.outerText` | `replaceAll()` |
|
||||
| `domElem.srcdoc` | **\`\`**[**Plaaslike lêerpad manipulasie**](dom-xss.md#local-file-path-manipulation) | `someDOMElement.value` | `replaceWith()` |
|
||||
| `domElem.srcdoc` | **\`\`**[**Plaaslike lêerpad-manipulasie**](dom-xss.md#local-file-path-manipulation) | `someDOMElement.value` | `replaceWith()` |
|
||||
| `XMLHttpRequest.open()` | `FileReader.readAsArrayBuffer()` | `someDOMElement.name` | `wrap()` |
|
||||
| `XMLHttpRequest.send()` | `FileReader.readAsBinaryString()` | `someDOMElement.target` | `wrapInner()` |
|
||||
| `jQuery.ajax()` | `FileReader.readAsDataURL()` | `someDOMElement.method` | `wrapAll()` |
|
||||
| `$.ajax()` | `FileReader.readAsText()` | `someDOMElement.type` | `has()` |
|
||||
| **\`\`**[**Ajax versoek manipulasie**](dom-xss.md#ajax-request-manipulation) | `FileReader.readAsFile()` | `someDOMElement.backgroundImage` | `constructor()` |
|
||||
| **\`\`**[**Ajax versoek-manipulasie**](dom-xss.md#ajax-request-manipulation) | `FileReader.readAsFile()` | `someDOMElement.backgroundImage` | `constructor()` |
|
||||
| `XMLHttpRequest.setRequestHeader()` | `FileReader.root.getFile()` | `someDOMElement.cssText` | `init()` |
|
||||
| `XMLHttpRequest.open()` | `FileReader.root.getFile()` | `someDOMElement.codebase` | `index()` |
|
||||
| `XMLHttpRequest.send()` | [**Skakel manipulasie**](dom-xss.md#link-manipulation) | `someDOMElement.innerHTML` | `jQuery.parseHTML()` |
|
||||
| `XMLHttpRequest.send()` | [**Skakel-manipulasie**](dom-xss.md#link-manipulation) | `someDOMElement.innerHTML` | `jQuery.parseHTML()` |
|
||||
| `jQuery.globalEval()` | `someDOMElement.href` | `someDOMElement.outerHTML` | `$.parseHTML()` |
|
||||
| `$.globalEval()` | `someDOMElement.src` | `someDOMElement.insertAdjacentHTML` | [**Kliëntkant JSON injeksie**](dom-xss.md#client-side-sql-injection) |
|
||||
| **\`\`**[**HTML5-opberg manipulasie**](dom-xss.md#html-5-storage-manipulation) | `someDOMElement.action` | `someDOMElement.onevent` | `JSON.parse()` |
|
||||
| `sessionStorage.setItem()` | [**XPath injeksie**](dom-xss.md#xpath-injection) | `document.write()` | `jQuery.parseJSON()` |
|
||||
| `$.globalEval()` | `someDOMElement.src` | `someDOMElement.insertAdjacentHTML` | [**Kliëntkant JSON-inspuiting**](dom-xss.md#client-side-sql-injection) |
|
||||
| **\`\`**[**HTML5-opberging-manipulasie**](dom-xss.md#html-5-storage-manipulation) | `someDOMElement.action` | `someDOMElement.onevent` | `JSON.parse()` |
|
||||
| `sessionStorage.setItem()` | [**XPath-inspuiting**](dom-xss.md#xpath-injection) | `document.write()` | `jQuery.parseJSON()` |
|
||||
| `localStorage.setItem()` | `document.evaluate()` | `document.writeln()` | `$.parseJSON()` |
|
||||
| **``**[**`Dienste weier`**](dom-xss.md#denial-of-service)**``** | `someDOMElement.evaluate()` | `document.title` | **\`\`**[**Koekie manipulasie**](dom-xss.md#cookie-manipulation) |
|
||||
| `requestFileSystem()` | **\`\`**[**Dokument-domein manipulasie**](dom-xss.md#document-domain-manipulation) | `document.implementation.createHTMLDocument()` | `document.cookie` |
|
||||
| `RegExp()` | `document.domain` | `history.pushState()` | [**WebSocket-URL vergiftiging**](dom-xss.md#websocket-url-poisoning) |
|
||||
| [**Kliëntkant SQL injeksie**](dom-xss.md#client-side-sql-injection) | [**Web-boodskap manipulasie**](dom-xss.md#web-message-manipulation) | `history.replaceState()` | `WebSocket` |
|
||||
| **``**[**`Ontkenning van Diens`**](dom-xss.md#denial-of-service)**``** | `someDOMElement.evaluate()` | `document.title` | **\`\`**[**Koekie-manipulasie**](dom-xss.md#cookie-manipulation) |
|
||||
| `requestFileSystem()` | **\`\`**[**Dokument-domein-manipulasie**](dom-xss.md#document-domain-manipulation) | `document.implementation.createHTMLDocument()` | `document.cookie` |
|
||||
| `RegExp()` | `document.domain` | `history.pushState()` | [**WebSocket-URL-vergiftiging**](dom-xss.md#websocket-url-poisoning) |
|
||||
| [**Kliëntkant SQL-inspuiting**](dom-xss.md#client-side-sql-injection) | [**Web-boodskap-manipulasie**](dom-xss.md#web-message-manipulation) | `history.replaceState()` | `WebSocket` |
|
||||
| `executeSql()` | `postMessage()` | \`\` | \`\` |
|
||||
|
||||
Die **`innerHTML`** sink aanvaar nie `script` elemente op enige moderne blaaier nie, en `svg onload` gebeure sal ook nie plaasvind nie. Dit beteken dat jy alternatiewe elemente soos `img` of `iframe` sal moet gebruik.
|
||||
Die **`innerHTML`** sink aanvaar nie `script` elemente op enige moderne webblaaier nie, en ook nie sal `svg onload` gebeure plaasvind nie. Dit beteken dat jy alternatiewe elemente soos `img` of `iframe` sal moet gebruik.
|
||||
|
||||
Hierdie tipe XSS is waarskynlik die **moeilikste om te vind**, aangesien jy binne-in die JS-kode moet kyk, sien of dit enige objek gebruik waarvan jy die waarde beheer, en in daardie geval sien of daar enige manier is om dit te misbruik om willekeurige JS uit te voer.
|
||||
Hierdie tipe XSS is waarskynlik die **moeilikste om te vind**, aangesien jy binne-in die JS-kode moet kyk, sien of dit enige objek gebruik waarvan jy die **waarde beheer**, en in daardie geval sien of daar **enige manier is om** dit te misbruik om arbitêre JS uit te voer.
|
||||
|
||||
## Gereedskap om hulle te vind
|
||||
|
||||
* [https://github.com/mozilla/eslint-plugin-no-unsanitized](https://github.com/mozilla/eslint-plugin-no-unsanitized)
|
||||
* Webblaaier-uitbreiding om elke data te kontroleer wat 'n potensiële sink bereik: [https://github.com/kevin-mizu/domloggerpp](https://github.com/kevin-mizu/domloggerpp)
|
||||
|
||||
## Voorbeelde
|
||||
|
||||
### Oop Herlei
|
||||
### Oopverwysing
|
||||
|
||||
Van: [https://portswigger.net/web-security/dom-based/open-redirection](https://portswigger.net/web-security/dom-based/open-redirection)
|
||||
|
||||
**Oop herlei kwesbaarhede in die DOM** kom voor wanneer 'n skripsie data skryf, wat 'n aanvaller kan beheer, na 'n sink wat in staat is om navigasie oor domeine te begin.
|
||||
**Oopverwysbaarhede in die DOM** kom voor wanneer 'n skrips data skryf, wat 'n aanvaller kan beheer, na 'n sink wat in staat is om navigasie oor domeine te inisieer.
|
||||
|
||||
Dit is van kritieke belang om te verstaan dat die uitvoering van willekeurige kode, soos **`javascript:alert(1)`**, moontlik is as jy beheer het oor die begin van die URL waar die herleiding plaasvind.
|
||||
Dit is noodsaaklik om te verstaan dat die uitvoer van arbitêre kode, soos **`javascript:alert(1)`**, moontlik is as jy beheer het oor die begin van die URL waar die oorverwysing plaasvind.
|
||||
|
||||
Sinks:
|
||||
```javascript
|
||||
|
@ -114,9 +115,9 @@ $.ajax()
|
|||
```
|
||||
### Koekie manipulasie
|
||||
|
||||
Vanaf: [https://portswigger.net/web-security/dom-based/cookie-manipulation](https://portswigger.net/web-security/dom-based/cookie-manipulation)
|
||||
Van: [https://portswigger.net/web-security/dom-based/cookie-manipulation](https://portswigger.net/web-security/dom-based/cookie-manipulation)
|
||||
|
||||
DOM-gebaseerde koekie-manipulasie kwesbaarhede kom voor wanneer 'n skripsie data insluit, wat deur 'n aanvaller beheer kan word, in die waarde van 'n koekie. Hierdie kwesbaarheid kan lei tot onverwagte gedrag van die webbladsy as die koekie binne die webwerf gebruik word. Daarbenewens kan dit uitgebuit word om 'n sessie-fixatie-aanval uit te voer as die koekie betrokke is by die volg van gebruikersessies. Die primêre sink wat met hierdie kwesbaarheid geassosieer word, is:
|
||||
DOM-gebaseerde koekie-manipulasie kwesbaarhede kom voor wanneer 'n skriffie data insluit, wat deur 'n aanvaller beheer kan word, in die waarde van 'n koekie. Hierdie kwesbaarheid kan lei tot onverwagte gedrag van die webbladsy as die koekie binne die webwerf gebruik word. Daarbenewens kan dit uitgebuit word om 'n sessie-fixasie aanval uit te voer as die koekie betrokke is by die opsporing van gebruikersessies. Die primêre sink wat met hierdie kwesbaarheid geassosieer word, is:
|
||||
|
||||
Sinks:
|
||||
```javascript
|
||||
|
@ -124,9 +125,9 @@ document.cookie
|
|||
```
|
||||
### JavaScript Injeksie
|
||||
|
||||
Vanaf: [https://portswigger.net/web-security/dom-based/javascript-injection](https://portswigger.net/web-security/dom-based/javascript-injection)
|
||||
Van: [https://portswigger.net/web-security/dom-based/javascript-injection](https://portswigger.net/web-security/dom-based/javascript-injection)
|
||||
|
||||
DOM-gebaseerde JavaScript-injeksiekwesbaarhede word geskep wanneer 'n skrips data uitvoer, wat deur 'n aanvaller beheer kan word, as JavaScript-kode.
|
||||
DOM-gebaseerde JavaScript-injeksie kwetsbaarhede word geskep wanneer 'n skrip data uitvoer wat deur 'n aanvaller beheer kan word as JavaScript-kode.
|
||||
|
||||
Sinks:
|
||||
```javascript
|
||||
|
@ -143,11 +144,11 @@ crypto.generateCRMFRequest()
|
|||
```
|
||||
### Dokument-domein manipulasie
|
||||
|
||||
Vanaf: [https://portswigger.net/web-security/dom-based/document-domain-manipulation](https://portswigger.net/web-security/dom-based/document-domain-manipulation)
|
||||
Van: [https://portswigger.net/web-security/dom-based/document-domain-manipulation](https://portswigger.net/web-security/dom-based/document-domain-manipulation)
|
||||
|
||||
**Dokument-domein manipulasie kwesbaarhede** kom voor wanneer 'n skripsie die `document.domain` eienskap stel deur gebruik te maak van data wat 'n aanvaller kan beheer.
|
||||
**Dokument-domein manipulasie kwesbaarhede** kom voor wanneer 'n skriffie die `document.domain` eienskap instel met behulp van data wat 'n aanvaller kan beheer.
|
||||
|
||||
Die `document.domain` eienskap speel 'n **sleutelrol** in die **handhawing** van die **selfde-oorsprong beleid** deur webblaaier. Wanneer twee bladsye vanaf verskillende oorspronge hul `document.domain` na dieselfde waarde stel, kan hulle sonder beperkings met mekaar interaksie hê. Alhoewel webblaaier sekere **grense** opleg op die waardes wat toegewys kan word aan `document.domain`, om die toewysing van heeltemal onverwante waardes aan die werklike bladsy-oorsprong te voorkom, bestaan daar uitsonderings. Gewoonlik laat webblaaier die gebruik van **kind** of **ouer domeine** toe.
|
||||
Die `document.domain` eienskap speel 'n **sleutelrol** in die **afdwinging** van die **selfde-oorsprong beleid** deur webblaaier. Wanneer twee bladsye van verskillende oorsprong hul `document.domain` na dieselfde waarde instel, kan hulle sonder beperkings interaksie hê. Alhoewel webblaaier sekere **grense** afdwing op die waardes wat toewysbaar is aan `document.domain`, wat die toewysing van heeltemal onverwante waardes aan die werklike bladsy-oorsprong voorkom, bestaan daar uitsonderings. Tipies laat webblaaier die gebruik van **kind** of **ouer domeine** toe.
|
||||
|
||||
Sinks:
|
||||
```javascript
|
||||
|
@ -157,17 +158,17 @@ document.domain
|
|||
|
||||
Van: [https://portswigger.net/web-security/dom-based/websocket-url-poisoning](https://portswigger.net/web-security/dom-based/websocket-url-poisoning)
|
||||
|
||||
**WebSocket-URL vergiftiging** vind plaas wanneer 'n skrip **beheerbare data as die teiken-URL** vir 'n WebSocket-verbinding gebruik.
|
||||
**WebSocket-URL vergiftiging** gebeur wanneer 'n skriffie **beheerbare data as die teiken-URL** vir 'n WebSocket-verbinding gebruik.
|
||||
|
||||
Sinks:
|
||||
|
||||
Die `WebSocket` konstrukteur kan lei tot WebSocket-URL vergiftigingskwesbaarhede.
|
||||
Die `WebSocket` konstrukteur kan lei tot WebSocket-URL vergiftiging kwesbaarhede.
|
||||
|
||||
### Skakel manipulasie
|
||||
|
||||
Van: [https://portswigger.net/web-security/dom-based/link-manipulation](https://portswigger.net/web-security/dom-based/link-manipulation)
|
||||
|
||||
**DOM-gebaseerde skakel-manipulasiekwesbaarhede** ontstaan wanneer 'n skrip **aanvaller-beheerbare data na 'n navigasie-teiken** binne die huidige bladsy skryf, soos 'n kliekbare skakel of die indienings-URL van 'n vorm.
|
||||
**DOM-gebaseerde skakel-manipulasie kwesbaarhede** ontstaan wanneer 'n skriffie **aanvaller-beheerbare data na 'n navigasie teiken** binne die huidige bladsy skryf, soos 'n kliekbare skakel of die indienings-URL van 'n vorm.
|
||||
|
||||
Sinks:
|
||||
```javascript
|
||||
|
@ -177,9 +178,9 @@ someDOMElement.action
|
|||
```
|
||||
### Ajax versoek manipulasie
|
||||
|
||||
Vanaf: [https://portswigger.net/web-security/dom-based/ajax-request-header-manipulation](https://portswigger.net/web-security/dom-based/ajax-request-header-manipulation)
|
||||
Van: [https://portswigger.net/web-security/dom-based/ajax-request-header-manipulation](https://portswigger.net/web-security/dom-based/ajax-request-header-manipulation)
|
||||
|
||||
**Ajax versoek manipulasie kwesbaarhede** ontstaan wanneer 'n skripsie **aanvaller-beheerbare data in 'n Ajax versoek skryf** wat uitgereik word met behulp van 'n `XmlHttpRequest` objek.
|
||||
**Ajax versoek manipulasie kwesbaarhede** ontstaan wanneer 'n skriffie **aanvaller-beheerbare data in 'n Ajax versoek skryf** wat uitgereik word met behulp van 'n `XmlHttpRequest` objek.
|
||||
|
||||
Sinks:
|
||||
```javascript
|
||||
|
@ -189,11 +190,11 @@ XMLHttpRequest.send()
|
|||
jQuery.globalEval()
|
||||
$.globalEval()
|
||||
```
|
||||
### Plaaslike lêerpad-manipulasie
|
||||
### Plaaslike lêerpaadjie manipulasie
|
||||
|
||||
Van: [https://portswigger.net/web-security/dom-based/local-file-path-manipulation](https://portswigger.net/web-security/dom-based/local-file-path-manipulation)
|
||||
|
||||
**Plaaslike lêerpad-manipulasie kwesbaarhede** ontstaan wanneer 'n skripsie **aanvaller-beheerbare data aan 'n lêerhanterings-API** deurgee as die `filename` parameter. Hierdie kwesbaarheid kan deur 'n aanvaller uitgebuit word om 'n URL te konstrueer wat, as dit deur 'n ander gebruiker besoek word, kan lei tot die **gebruiker se blaaier wat 'n willekeurige plaaslike lêer oopmaak of skryf**.
|
||||
**Plaaslike lêerpaadjie manipulasie kwesbaarhede** ontstaan wanneer 'n skriffie **aanvaller-beheerbare data deurgee na 'n lêerhanterings-API** as die `filename` parameter. Hierdie kwesbaarheid kan deur 'n aanvaller uitgebuit word om 'n URL te konstrueer wat, indien besoek deur 'n ander gebruiker, kan lei tot die **gebruiker se blaaier wat 'n willekeurige plaaslike lêer oopmaak of skryf**.
|
||||
|
||||
Sinks:
|
||||
```javascript
|
||||
|
@ -209,39 +210,39 @@ FileReader.root.getFile()
|
|||
|
||||
Van: [https://portswigger.net/web-security/dom-based/client-side-sql-injection](https://portswigger.net/web-security/dom-based/client-side-sql-injection)
|
||||
|
||||
**Kliëntkant SQL-inspuitingskwetsbaarhede** kom voor wanneer 'n skripsie **aanvaller-beheerbare data op 'n onveilige manier in 'n kliëntkant SQL-navraag inkorporeer**.
|
||||
**Kliëntkant SQL-inspuitingskwetsbaarhede** kom voor wanneer 'n skriffie **aanvaller-beheerbare data op 'n onveilige manier in 'n kliëntkant SQL-navraag inkorporeer**.
|
||||
|
||||
Sinks:
|
||||
```javascript
|
||||
executeSql()
|
||||
```
|
||||
### HTML5-opbergingsmanipulasie
|
||||
### HTML5-opberging manipulasie
|
||||
|
||||
Van: [https://portswigger.net/web-security/dom-based/html5-storage-manipulation](https://portswigger.net/web-security/dom-based/html5-storage-manipulation)
|
||||
|
||||
**HTML5-opbergingsmanipulasie kwesbaarhede** ontstaan wanneer 'n skripsie **aanvaller-beheerbare data in die webblaaier se HTML5-opberging** (`localStorage` of `sessionStorage`) stoor. Alhoewel hierdie aksie nie inherent 'n sekuriteitskwesbaarheid is nie, word dit problematies as die toepassing vervolgens **die gestoorde data lees en dit onveilig verwerk**. Dit kan 'n aanvaller in staat stel om die opbergingsmeganisme te gebruik om ander DOM-gebaseerde aanvalle uit te voer, soos kruissite-skripsing en JavaScript-inspuiting.
|
||||
**HTML5-opberging manipulasie kwesbaarhede** ontstaan wanneer 'n skrip **aanvaller-beheerbare data in die webblaaier se HTML5-opberging** (`localStorage` of `sessionStorage`) stoor. Terwyl hierdie aksie nie inherent 'n sekuriteitskwesbaarheid is nie, word dit problematies as die aansoek daarna **die gestoorde data lees en dit onveilig verwerk**. Dit kan 'n aanvaller in staat stel om die opbergingsmeganisme te benut om ander DOM-gebaseerde aanvalle uit te voer, soos kruissite-skripsing en JavaScript-inspuiting.
|
||||
|
||||
Sinks:
|
||||
```javascript
|
||||
sessionStorage.setItem()
|
||||
localStorage.setItem()
|
||||
```
|
||||
### XPath-inspuiting
|
||||
### XPath inspuiting
|
||||
|
||||
Vanaf: [https://portswigger.net/web-security/dom-based/client-side-xpath-injection](https://portswigger.net/web-security/dom-based/client-side-xpath-injection)
|
||||
Van: [https://portswigger.net/web-security/dom-based/client-side-xpath-injection](https://portswigger.net/web-security/dom-based/client-side-xpath-injection)
|
||||
|
||||
**DOM-gebaseerde XPath-inspuitingskwetsbaarheden** kom voor wanneer 'n skripsie **aanvaller-beheerbare data in 'n XPath-navraag** inkorporeer.
|
||||
**DOM-gebaseerde XPath-inspuitingskwetsbaarhede** kom voor wanneer 'n skriffie **aanvaller-beheerbare data in 'n XPath-soektog** inkorporeer.
|
||||
|
||||
Sinks:
|
||||
```javascript
|
||||
document.evaluate()
|
||||
someDOMElement.evaluate()
|
||||
```
|
||||
### Kliëntkant JSON-injeksie
|
||||
### Kliëntkant JSON-inspuiting
|
||||
|
||||
Vanaf: [https://portswigger.net/web-security/dom-based/client-side-json-injection](https://portswigger.net/web-security/dom-based/client-side-json-injection)
|
||||
Van: [https://portswigger.net/web-security/dom-based/client-side-json-injection](https://portswigger.net/web-security/dom-based/client-side-json-injection)
|
||||
|
||||
**DOM-gebaseerde JSON-injeksie kwesbaarhede** kom voor wanneer 'n skripsie **aanvaller-beheerbare data inkorporeer in 'n string wat as 'n JSON-datastruktuur geïnterpreteer word en dan deur die toepassing verwerk word**.
|
||||
**DOM-gebaseerde JSON-inspuitingskwetsbaarhede** kom voor wanneer 'n skriffie **aanvaller-beheerbare data inkorporeer in 'n string wat as 'n JSON-datastruktuur geïnterpreteer word en dan deur die aansoek verwerk word**.
|
||||
|
||||
Sinks:
|
||||
```javascript
|
||||
|
@ -251,19 +252,19 @@ $.parseJSON()
|
|||
```
|
||||
### Web-boodskap manipulasie
|
||||
|
||||
Vanaf: [https://portswigger.net/web-security/dom-based/web-message-manipulation](https://portswigger.net/web-security/dom-based/web-message-manipulation)
|
||||
Van: [https://portswigger.net/web-security/dom-based/web-message-manipulation](https://portswigger.net/web-security/dom-based/web-message-manipulation)
|
||||
|
||||
**Web-boodskap kwesbaarhede** ontstaan wanneer 'n skripsie **aanvaller-beheerbare data as 'n web-boodskap na 'n ander dokument** binne die blaaier stuur. 'n **Voorbeeld** van 'n kwesbare Web-boodskap manipulasie kan gevind word by [PortSwigger se Web Security Academy](https://portswigger.net/web-security/dom-based/controlling-the-web-message-source).
|
||||
**Web-boodskap kwesbaarhede** ontstaan wanneer 'n skrip **aanvaller-beheerbare data as 'n web-boodskap na 'n ander dokument** binne die blaaier stuur. 'n **Voorbeeld** van 'n kwesbare Web-boodskap manipulasie kan gevind word by [PortSwigger se Web Security Academy](https://portswigger.net/web-security/dom-based/controlling-the-web-message-source).
|
||||
|
||||
Sinks:
|
||||
|
||||
Die `postMessage()` metode vir die stuur van web-boodskappe kan kwesbaarhede veroorsaak as die gebeurtenisluisteraar vir die ontvangs van boodskappe die inkomende data op 'n onveilige manier hanteer.
|
||||
Die `postMessage()` metode vir die stuur van web-boodskappe kan lei tot kwesbaarhede as die gebeurtenisluister vir die ontvangs van boodskappe die inkomende data op 'n onveilige manier hanteer.
|
||||
|
||||
### DOM-data manipulasie
|
||||
|
||||
Vanaf: [https://portswigger.net/web-security/dom-based/dom-data-manipulation](https://portswigger.net/web-security/dom-based/dom-data-manipulation)
|
||||
Van: [https://portswigger.net/web-security/dom-based/dom-data-manipulation](https://portswigger.net/web-security/dom-based/dom-data-manipulation)
|
||||
|
||||
**DOM-data manipulasie kwesbaarhede** ontstaan wanneer 'n skripsie **aanvaller-beheerbare data na 'n veld binne die DOM skryf** wat gebruik word binne die sigbare UI of kliëntkant-logika. Hierdie kwesbaarheid kan deur 'n aanvaller uitgebuit word om 'n URL te konstrueer wat, as dit deur 'n ander gebruiker besoek word, die voorkoms of gedrag van die kliëntkant UI kan verander.
|
||||
**DOM-data manipulasie kwesbaarhede** ontstaan wanneer 'n skrip **aanvaller-beheerbare data na 'n veld binne die DOM skryf** wat gebruik word binne die sigbare UI of kliëntkant-logika. Hierdie kwesbaarheid kan deur 'n aanvaller uitgebuit word om 'n URL te konstrueer wat, indien deur 'n ander gebruiker besoek, die voorkoms of gedrag van die kliëntkant UI kan verander.
|
||||
|
||||
Sinks:
|
||||
```javascript
|
||||
|
@ -290,11 +291,11 @@ document.implementation.createHTMLDocument()
|
|||
history.pushState()
|
||||
history.replaceState()
|
||||
```
|
||||
### Weiering van Diens
|
||||
### Ontkenning van Diens
|
||||
|
||||
Vanaf: [https://portswigger.net/web-security/dom-based/denial-of-service](https://portswigger.net/web-security/dom-based/denial-of-service)
|
||||
Van: [https://portswigger.net/web-security/dom-based/denial-of-service](https://portswigger.net/web-security/dom-based/denial-of-service)
|
||||
|
||||
**DOM-gebaseerde weiering van diens kwesbaarhede** kom voor wanneer 'n skripsie **aanvaller-beheerbare data onveilig deurgee na 'n problematiese platform API**. Dit sluit API's in wat, wanneer dit aangeroep word, kan lei tot die gebruiker se rekenaar wat **oormatige hoeveelhede CPU- of skyfspasie verbruik**. Sulke kwesbaarhede kan beduidende newe-effekte hê, soos die webblaaier wat die webwerf se funksionaliteit beperk deur pogings om data in `localStorage` te stoor te verwerp of besige skripsies te beëindig.
|
||||
**DOM-gebaseerde ontkenning-van-diens kwesbaarhede** gebeur wanneer 'n skriffie **aanvaller-beheerbare data onveilig deurgee na 'n problematiese platform API**. Dit sluit API's in wat, wanneer geaktiveer, kan lei tot die gebruiker se rekenaar wat **oormatige hoeveelhede CPU of skyfspasie verbruik**. Sulke kwesbaarhede kan beduidende newe-effekte hê, soos die webblaaier wat die webwerf se funksionaliteit beperk deur pogings om data in `localStorage` te stoor te verwerp of besige skripte te beëindig.
|
||||
|
||||
Sinks:
|
||||
```javascript
|
||||
|
@ -309,12 +310,12 @@ RegExp()
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks in PDF af**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Werk jy by 'n **cybersekuriteitsmaatskappy**? Wil jy hê dat jou **maatskappy geadverteer word in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks in PDF af**? Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
|
||||
* Ontdek [**Die PEASS-familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
|
||||
* 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 hacking-truuks deur PR's in te dien by die** [**hacktricks-repo**](https://github.com/carlospolop/hacktricks) **en** [**hacktricks-cloud-repo**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
* **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).
|
||||
|
||||
</details>
|
||||
|
|
Loading…
Add table
Reference in a new issue