<summary><strong>Leer AWS-hacking van nul tot held met</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hack-truuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
'n Aanvalstegniek wat bekend staan as XPath-inspuiting word gebruik om voordeel te trek uit toepassings wat XPath (XML Path Language) navrae vorm op grond van gebruikersinvoer om XML-dokumente te ondersoek of te navigeer.
- **boekwinkel**: Alle knooppunte met die naam "boekwinkel" word gekies.
- **/boekwinkel**: Die wortel-element boekwinkel word gekies. Dit moet opgemerk word dat 'n absolute pad na 'n element voorgestel word deur 'n pad wat begin met 'n sku
XPath-injeksie is 'n tegniek wat gebruik word om toegang tot inligting in 'n webtoepassing te verkry deur die manipulasie van XPath-uitdrukkings. Hierdie tegniek maak gebruik van spesiale karakters en operatore om die oorspronklike XPath-uitdrukking te verander en sodoende toegang tot verborge inligting te verkry.
Om toegang tot die inligting te verkry, moet jy eers die doelwit van die aanval identifiseer. Dit kan 'n soekveld, 'n URL-parameter of enige ander invoerveld wees waarin die toepassing 'n XPath-uitdrukking gebruik. Vervolgens moet jy die invoerveld toets deur spesiale karakters en operatore in te voer om te sien of dit vatbaar is vir XPath-injeksie.
As jy 'n vatbare invoerveld gevind het, kan jy dit gebruik om die XPath-uitdrukking te manipuleer en toegang tot die inligting te verkry. Jy kan byvoorbeeld die 'or' operateur gebruik om 'n valse voorwaarde in te voer en sodoende alle rekords in die databasis te verkry. Jy kan ook die 'union' operateur gebruik om data vanaf verskillende tabelle te kombineer en sodoende gevoelige inligting te ontsluit.
Dit is belangrik om te onthou dat XPath-injeksie 'n potensiële veiligheidsrisiko vir webtoepassings is. Dit kan lei tot die blootstelling van gevoelige inligting, soos gebruikersname, wagwoorde en kredietkaartinligting. Dit is dus noodsaaklik vir ontwikkelaars om behoorlike insetvalidasie en ontsmettingstegnieke te implementeer om XPath-injeksie-aanvalle te voorkom.
Dit is belangrik om te onthou dat die uitvoering van hierdie tegniek slegs toegelaat word op stelsels waar jy toestemming het om te pentest. Misbruik van hierdie tegniek sonder toestemming is onwettig en kan lei tot regsnakomings.
Null-injectie is een techniek die wordt gebruikt om XPath-injectieaanvallen uit te voeren op webapplicaties die XPath-query's gebruiken om gegevens uit een XML-bron te extraheren. Bij null-injectie wordt een speciale tekenreekswaarde, zoals 'null' of '0', ingevoegd in een XPath-query om de query te manipuleren en onbedoelde resultaten te verkrijgen.
Null-injectie kan worden gebruikt om verschillende soorten aanvallen uit te voeren, zoals het omzeilen van authenticatie, het verkrijgen van gevoelige informatie en het uitvoeren van ongeautoriseerde acties. Het kan ook worden gebruikt om fouten in de applicatie te veroorzaken, zoals het genereren van een foutmelding of het crashen van de applicatie.
Om null-injectie uit te voeren, moet je de XPath-query van de applicatie analyseren en de juiste plaats vinden om de null-waarde in te voegen. Dit kan worden gedaan door de invoer van de gebruiker te manipuleren of door de URL-parameters of formuliergegevens aan te passen.
Hier is een voorbeeld van een XPath-query met null-injectie:
In dit voorbeeld wordt de null-waarde ingevoegd tussen de enkele aanhalingstekens om de voorwaarde '1=1' waar te maken, waardoor de query altijd waar is en alle resultaten worden geretourneerd.
Het is belangrijk op te merken dat null-injectie alleen werkt als de applicatie onvoldoende validatie en sanitization uitvoert op de invoer van de gebruiker. Het is daarom essentieel om de applicatie grondig te testen en eventuele kwetsbaarheden te identificeren voordat null-injectie kan worden gebruikt.
```
Username: ' or 1]%00
```
### **Dubbele OF in Gebruikersnaam of in wagwoord** (is geldig met slegs 1 kwesbare veld)
In dit voorbeeld wordt de `exploit`-functie gebruikt om een XPath-injectieaanval uit te voeren op de opgegeven URL met de gegeven payload. De payload is zo geconstrueerd dat de query altijd waar is, waardoor alle resultaten worden teruggegeven. Het resultaat wordt vervolgens afgedrukt.
Het is belangrijk op te merken dat dit voorbeeld alleen bedoeld is voor educatieve doeleinden en dat het uitvoeren van een XPath-injectieaanval zonder toestemming illegaal is.
As ons 'n XPath-navraag soos die volgende gebruik: `//user[name/text()='Alice']/password/text()`, sal dit die wagwoord van die gebruiker "Alice" teruggee, wat in hierdie geval "123456" is.
Om 'n lêer te lees, kan ons die volgende XPath-navraag gebruik: `document('file:///etc/passwd')`. Hierdie navraag sal die inhoud van die `/etc/passwd`-lêer teruggee.
Dit is belangrik om te verstaan dat XPath-injeksie 'n ernstige veiligheidsrisiko is en dat dit gebruik kan word om gevoelige inligting te verkry. Dit is dus noodsaaklik om behoorlike maatreëls te tref om dit te voorkom.
Out-of-Band (OOB) uitbuiting is een techniek die wordt gebruikt bij XPath-injectie om gegevens uit het doelsysteem te extraheren via een ander communicatiekanaal dan de standaard HTTP-respons. Dit kan handig zijn in situaties waarin de uitvoer van de XPath-query niet direct beschikbaar is in de HTTP-respons.
- DNS: De aanvaller kan een DNS-query initiëren naar een door hem gecontroleerde DNS-server en de geëxtraheerde gegevens in het DNS-antwoord opnemen.
- HTTP: De aanvaller kan een HTTP-verzoek initiëren naar een door hem gecontroleerde webserver en de geëxtraheerde gegevens in het HTTP-verzoek opnemen.
- SMTP: De aanvaller kan een e-mailbericht verzenden naar een door hem gecontroleerde SMTP-server en de geëxtraheerde gegevens in het e-mailbericht opnemen.
- FTP: De aanvaller kan een FTP-verzoek initiëren naar een door hem gecontroleerde FTP-server en de geëxtraheerde gegevens in het FTP-verzoek opnemen.
### OOB-uitbuitingstechnieken
Er zijn verschillende technieken die kunnen worden gebruikt om OOB-uitbuiting uit te voeren bij XPath-injectie:
- Boolean-based: De aanvaller kan de XPath-query zo manipuleren dat deze een waarheidsgetal retourneert, wat kan worden gebruikt om gegevens te extraheren via OOB-kanalen.
- Error-based: De aanvaller kan de XPath-query zo manipuleren dat deze een fout veroorzaakt, waarvan de details kunnen worden geëxtraheerd via OOB-kanalen.
- Union-based: De aanvaller kan de XPath-query zo manipuleren dat deze meerdere resultaatsets combineert, waarvan de gegevens kunnen worden geëxtraheerd via OOB-kanalen.
- Time-based: De aanvaller kan de XPath-query zo manipuleren dat deze een vertraging veroorzaakt, waarvan de duur kan worden gebruikt om gegevens te extraheren via OOB-kanalen.
### OOB-uitbuitingshulpmiddelen
Er zijn verschillende hulpmiddelen beschikbaar die kunnen worden gebruikt om OOB-uitbuiting uit te voeren bij XPath-injectie:
- Burp Suite: Een populaire tool voor webbeveiliging die OOB-uitbuiting ondersteunt.
- SQLMap: Een geautomatiseerd pentesting-hulpmiddel dat ook OOB-uitbuiting ondersteunt.
- Xploit: Een open-source tool specifiek ontworpen voor OOB-uitbuiting bij XPath-injectie.
### OOB-uitbuitingsvoorbeelden
Hier zijn enkele voorbeelden van OOB-uitbuiting bij XPath-injectie:
- DNS-exfiltratie: De aanvaller kan een DNS-query initiëren met geëxtraheerde gegevens als subdomeinnaam, die vervolgens kan worden opgevangen door een door hem gecontroleerde DNS-server.
- HTTP-exfiltratie: De aanvaller kan een HTTP-verzoek initiëren met geëxtraheerde gegevens als queryparameters, die vervolgens kan worden opgevangen door een door hem gecontroleerde webserver.
- SMTP-exfiltratie: De aanvaller kan een e-mailbericht verzenden met geëxtraheerde gegevens als inhoud, die vervolgens kan worden opgevangen door een door hem gecontroleerde SMTP-server.
- FTP-exfiltratie: De aanvaller kan een FTP-verzoek initiëren met geëxtraheerde gegevens als bestandsinhoud, die vervolgens kan worden opgevangen door een door hem gecontroleerde FTP-server.
### OOB-uitbuitingsbeperkingen
Hoewel OOB-uitbuiting een krachtige techniek is bij XPath-injectie, heeft het ook enkele beperkingen:
- Afhankelijkheid van externe kanalen: OOB-uitbuiting vereist dat de aanvaller controle heeft over een extern communicatiekanaal, zoals een DNS-server, webserver, SMTP-server of FTP-server.
- Vertraging: OOB-uitbuiting kan vertraging veroorzaken in het uitvoeren van de aanval, omdat de geëxtraheerde gegevens via een ander communicatiekanaal moeten worden verzonden.
- Detectie: OOB-uitbuiting kan worden gedetecteerd door beveiligingsmechanismen die het verkeer naar externe kanalen controleren of beperken.
### Conclusie
OOB-uitbuiting is een waardevolle techniek bij XPath-injectie, omdat het de aanvaller in staat stelt gegevens uit het doelsysteem te extraheren via externe communicatiekanalen. Door gebruik te maken van verschillende OOB-kanalen en uitbuitingstechnieken, kan de aanvaller gevoelige informatie verkrijgen en de impact van de aanval vergroten. Het is echter belangrijk om rekening te houden met de beperkingen van OOB-uitbuiting en de mogelijke detectie ervan.
Sluit aan by die [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) bediener om met ervare hackers en foutbeloningsjagters te kommunikeer!
<summary><strong>Leer AWS-hacking van nul tot held met</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslagplekke.