<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-repos.
In XML word die ondertekende gedeelte van die XML in die geheue gestoor, waarna enige enkodering/ontkodering uitgevoer word en die handtekening nagegaan word. Ideaal gesproke behoort daardie enkodering/ontkodering nie die data te verander nie, maar gebaseer op daardie scenario, **kan die data wat nagegaan word en die oorspronklike data verskil**.
In **XML-handtekeningverwikkelingsaanvalle (XSW)** maak aanvallers gebruik van 'n kwesbaarheid wat ontstaan wanneer XML-dokumente deur twee afsonderlike fases verwerk word: **handtekeningvalidering** en **funksie-aanroeping**. Hierdie aanvalle behels die verandering van die XML-dokumentstruktuur. Spesifiek **voeg die aanvaller vervalsde elemente in** wat nie die geldigheid van die XML-handtekening benadeel nie. Hierdie manipulasie het ten doel om 'n diskrepansie te skep tussen die elemente wat deur die **toepassingslogika** ontleed word en dié wat deur die **handtekeningverifikasiemodule** nagegaan word. As gevolg hiervan, terwyl die XML-handtekening tegnies geldig bly en verifikasie slaag, verwerk die toepassingslogika die **bedrieglike elemente**. Gevolglik omseil die aanvaller effektief die XML-handtekening se **integriteitsbeskerming** en **oorsprongverifikasie**, wat die **inspuiting van willekeurige inhoud** sonder opsporing moontlik maak.
Die volgende aanvalle is gebaseer op **[hierdie blogpos](https://epi052.gitlab.io/notes-to-self/blog/2019-03-13-how-to-test-saml-a-methodology-part-two/) en [hierdie artikel](https://www.usenix.org/system/files/conference/usenixsecurity12/sec12-final91.pdf)**. Kyk dus daarna vir verdere besonderhede.
- **Strategie**: 'n Nuwe hoofelement wat die handtekening bevat, word bygevoeg.
- **Impak**: Die validator kan verward raak tussen die wettige "Response -> Assertion -> Subject" en die aanvaller se "bose nuwe Response -> Assertion -> Subject", wat lei tot data-integriteitsprobleme.
- **Strategie**: 'n Extensions-element word ingevoeg met die gekopieerde Assertion as 'n kind.
- **Impak**: Dit maak gebruik van die minder beperkende skema van die Extensions-element om skemasvalidasie-teenvoeters te omseil, veral in biblioteke soos OpenSAML.
Jy kan die Burp-uitbreiding [**SAML Raider**](https://portswigger.net/bappstore/c61cfa893bb14db4b01775554f7b802e) gebruik om die versoek te ontleding, enige XSW-aanval wat jy kies toe te pas en dit te lanceer.
SAML-responsies is **gekomprimeerde en base64-geënkripteerde XML-dokumente** en kan vatbaar wees vir XML External Entity (XXE) aanvalle. Deur die XML-struktuur van die SAML-responsie te manipuleer, kan aanvallers probeer om XXE-kwesbaarhede uit te buit. Hier is hoe so 'n aanval gevisualiseer kan word:
Jy kan ook die Burp-uitbreiding [**SAML Raider**](https://portswigger.net/bappstore/c61cfa893bb14db4b01775554f7b802e) gebruik om die POC te genereer van 'n SAML-versoek om te toets vir moontlike XXE-gebreklikhede en SAML-gebreklikhede.
Extensible Stylesheet Language Transformations (XSLT) kan gebruik word om XML-dokumente in verskillende formate soos HTML, JSON of PDF te omskep. Dit is belangrik om daarop te let dat **XSLT-transformasies uitgevoer word voordat die digitale handtekening geverifieer word**. Dit beteken dat 'n aanval suksesvol kan wees selfs sonder 'n geldige handtekening; 'n self-ondertekende of ongeldige handtekening is voldoende om voort te gaan.
Hier kan jy 'n **POC** vind om vir hierdie soort kwesbaarhede te toets, in die hacktricks-bladsy wat aan die begin van hierdie afdeling genoem word, kan jy payloads vind.
Jy kan ook die Burp-uitbreiding [**SAML Raider**](https://portswigger.net/bappstore/c61cfa893bb14db4b01775554f7b802e) gebruik om die POC te genereer van 'n SAML-versoek om te toets vir moontlike XSLT-gevoelighede.
Die **Uitsluiting van XML-handtekening** neem kennis van die gedrag van SAML-implementasies wanneer die Handtekening-element nie teenwoordig is nie. As hierdie element ontbreek, kan **handtekeningvalidering nie plaasvind nie**, wat dit kwesbaar maak. Dit is moontlik om dit te toets deur die inhoud te verander wat gewoonlik deur die handtekening geverifieer word.
Jy kan ook die Burp-uitbreiding [**SAML Raider**](https://portswigger.net/bappstore/c61cfa893bb14db4b01775554f7b802e) gebruik. Onderbreek die SAML-reaksie en klik op `Verwyder Handtekeninge`. Deur dit te doen, word **alle** Handtekening-elemente verwyder.
Sertifikaatvervalsing is 'n tegniek om te toets of 'n **Diensverskaffer (SP) behoorlik verifieer dat 'n SAML-boodskap deur 'n vertroude Identiteitsverskaffer (IdP) onderteken** is. Dit behels die gebruik van 'n ***self-ondertekende sertifikaat** om die SAML-reaksie of -bewering te onderteken, wat help om die vertrouensvalideringsproses tussen SP en IdP te evalueer.
Die volgende stappe skets die proses met behulp van die [SAML Raider](https://portswigger.net/bappstore/c61cfa893bb14db4b01775554f7b802e) Burp-uitbreiding:
2. As die reaksie 'n handtekening bevat, stuur die sertifikaat na SAML Raider Certs deur die `Stuur Sertifikaat na SAML Raider Certs`-knoppie te gebruik.
3. Kies in die SAML Raider Sertifikate-tabblad die ingevoerde sertifikaat en klik op `Stoor en Skep Self-ondertekening` om 'n self-ondertekende kloon van die oorspronklike sertifikaat te skep.
4. Gaan terug na die onderskepte versoek in Burp se Proksi. Kies die nuwe self-ondertekende sertifikaat uit die XML-handtekening-keuslys.
5. Verwyder enige bestaande handtekeninge met die `Verwyder Handtekeninge`-knoppie.
6. Onderteken die boodskap of bewering met die nuwe sertifikaat deur die **`(Her-)Onderteken Boodskap`** of **`(Her-)Onderteken Bewering`**-knoppie, soos van toepassing.
7. Stuur die ondertekende boodskap voort. Suksesvolle outentifikasie dui daarop dat die SP boodskappe aanvaar wat deur jou self-ondertekende sertifikaat onderteken is, wat potensiële kwesbaarhede in die valideringsproses van die SAML-boodskappe blootstel.
Verwarring van Tokenontvanger en Verwarring van Diensverskaffersteiken behels die toets of die **Diensverskaffer die bedoelde ontvanger van 'n reaksie korrek valideer**. In beginsel moet 'n Diensverskaffer 'n outentiseringsreaksie verwerp as dit bedoel was vir 'n ander verskaffer. Die kritieke element hier is die **Ontvanger**-veld, wat binne die **SubjectConfirmationData**-element van 'n SAML-reaksie gevind word. Hierdie veld spesifiseer 'n URL wat aandui waar die Bewering gestuur moet word. As die werklike ontvanger nie ooreenstem met die bedoelde Diensverskaffer nie, moet die Bewering as ongeldig beskou word.
Om 'n SAML Tokenontvangerverwarring (SAML-TRC) aanval uitvoerbaar te maak, moet sekere voorwaardes voldoen word. Eerstens moet daar 'n geldige rekening wees by 'n Diensverskaffer (verwys as SP-Legit). Tweedens moet die geteikende Diensverskaffer (SP-Teiken) tokens van dieselfde Identiteitsverskaffer aanvaar wat SP-Legit bedien.
Die aanvalproses is eenvoudig onder hierdie voorwaardes. 'n Outentieke sessie word geïnisieer met SP-Legit via die gedeelde Identiteitsverskaffer. Die SAML-reaksie van die Identiteitsverskaffer na SP-Legit word onderskep. Hierdie onderskepte SAML-reaksie, oorspronklik bedoel vir SP-Legit, word dan na SP-Teiken omgelei. Sukses in hierdie aanval word gemeet deur SP-Teiken wat die Bewering aanvaar en toegang tot hulpbronne verleen onder dieselfde rekeningnaam wat vir SP-Legit gebruik is.
Die oorspronklike navorsing kan deur middel van [hierdie skakel](https://blog.fadyothman.com/how-i-discovered-xss-that-affects-over-20-uber-subdomains/) bereik word.
Dit het aan die lig gekom dat die `base` parameter 'n URL aanvaar. Met hierdie in gedagte het die idee ontstaan om die URL te vervang met `javascript:alert(123);` in 'n poging om 'n XSS (Cross-Site Scripting) aanval te begin.
Die [**SAMLExtractor**](https://github.com/fadyosman/SAMLExtractor) hulpmiddel is gebruik om subdomeine van `uberinternal.com` te analiseer vir domeine wat dieselfde biblioteek gebruik. Daarna is 'n skrips ontwikkel om die `oidauth/prompt` bladsy te teiken. Hierdie skrips toets vir XSS (Cross-Site Scripting) deur data in te voer en te kyk of dit weerspieël word in die uitset. In gevalle waar die inset wel weerspieël word, merk die skrips die bladsy as kwesbaar.
<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 hacktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-repos.