dimanche 24 novembre 2019

EXPLOITATION D'UNE VULNERABILITE PHP Type Juggling Authentication Bypass (La porte du couvent)

ÉNONCÉ DE L’ÉPREUVE

La porte du couvent

          Dans leur élan pour secourir les dernières victimes du célèbre Gayeman DJAKPATAGLO, les cyber-amazones font face à la porte d'un couvent impénétrable. http://hackerlab.bj:8001/web03/web03_frjofjzefzf.html
Point: 400
Type: Web

Qu'est ce qu'une vulnérabilité  PHP Type Juggling ?

        Type Juggling est d’abord une vulnérabilité présente dans d'autre langage mais en PHP spécialement.
- il a deux principaux modes de comparaison appeler loose (==) et strict (===).
- Les comparaisons loose (==) ont un ensemble de règles de conversion d’opérandes pour faciliter la tâche des développeurs. Certaines d’entre elles sont un peu étranges. 

         Le PHP Type Juggling est dû à un problème d'opérations loose (==) par rapport à des opérations strict (===).  
Dans cette épreuve nous somme confronté à une page web d'authentification basic.




 En entrant un nom d'utilisation et un mot de passe quelconque par exemple admin/admin on nous avons:


La présence de == à la fin de la chaîne de caractères nous indique qu'il pourait être un encodage base64.
Essayons de décoder. Nous disposons de deux options.

1-) le faire localement par exemple avec l’outil graphique de décodage de Zed Attaque Proxy d'OWASP




2-) Le faire en ligne sur le site https://www.dcode.fr/code-base-64 par exemple



Dans les deux cas, nous avons le même résultats: 

vous n'êtes plus loin du login: e7791ece9da5a6e3f0aa6ba77536fbc6b7780895
 
Il s’agit cette fois si d'un hash. Nous allons donc l'identifier et le décrypter. Nous avons préférer le faire en ligne respectivement sur les sites https://www.onlinehashcrack.com/hash-identification.php#results et https://www.dcode.fr/hash-sha1 .Il s'agit d'un Hash SHA-1.
 

Après décryptage nous avons : amazone 

Nous venons d'avoir le non d'utilisateur (amazone)
S’agissant de la vulnérabilité PHP Type Juggling, un exploit est disponible pour l'authentication Bypass:

PHP Juggling type and magic hashes :
https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Type%20Juggling




En mettant le “Magic” Number / String  240610708 comme mot de passe, nous avons notre CTF


1 commentaire: