Page 1 sur 1

Faille trop évidente

Posté : 24 janv. 2014, 23:28
par Gorbi
Bonjour à tous,
Cela fait un moment que je ne suis pas venu sur le forum et c'est un peu honteux que je me tourne vers vous car je suis confronté à un problème qui me trouble. J'ai un exercice dans un TP de sécurité des applications WEB qui consiste à trouver un moyen de faire apparaître en clair le mot de passe attendu. Voici le code serveur :
<p>
Quel est le mot de passe ?
</p>
<?php
// Le bon mot de passe est donné :
if ($_POST['password'] == "trop simple") {
?>
<b>Gagné.</b>
<br /><i>L'important est de le trouver autrement qu'en le devinant.
Vous devez le voir écrit ailleurs que dans la page web qui dit « perdu ».</i>
<br />
<a href="./index.php">retour</a>
<?php
// Un mauvais mot de passe est donné :
} else if ($_POST['password'] != "") {
?>
<b>Perdu.</b>
<br />
<i>Il est pourtant « trop simple » ce mot de passe !</i>
<br />
<a href="./index.php">retour</a>
<?php
// Aucun mot de passe n'est donné
} else {
?>
<form method='post' action='index.php'>
Votre mot de passe :
<input type='text' size='30' name='password' />
<input type='submit' value='tester' />
</form>
<?php
}
?>
</body>
</html>

Merci d'avance de l'aide :)

Re: Faille trop évidente

Posté : 25 janv. 2014, 11:23
par xTG
A part en utilisant des failles du serveur qui permettraient d'afficher le code source plutôt que de l'exécuter je ne vois pas.
Sauf que tout serveur digne de ce nom a appliqué ce genre de mise à jour de sécurité...

Re: Faille trop évidente

Posté : 25 janv. 2014, 11:26
par moogli
De toute façon ce sçript commence par afficher une erreur donc il doit pas servir a grand chose ;)
Un file_get_contents sur le fichier ?

Injection d'entente ? (Mais la c'est pb serveur)

Va falloir que l'on mette xtg ;)

@+

Re: Faille trop évidente

Posté : 25 janv. 2014, 12:09
par xTG
De toute façon ce sçript commence par afficher une erreur donc il doit pas servir a grand chose ;)
Un file_get_contents sur le fichier ?
Un warning n'est pas une erreur dans mon vocabulaire. :P

Pour le file_get_contents cela implique que le serveur est déjà corrompu.

Re: Faille trop évidente

Posté : 25 janv. 2014, 12:11
par sirakawa
C'est le jeu du pendu, ce problème-là, avec un nombre illimité d'essais... :P

A moins qu'il faille passer par une injection dans un select; mais les mots de passe sont codés dans les tables mysql...

Re: Faille trop évidente

Posté : 25 janv. 2014, 14:50
par moogli
Un warning n'est pas une erreur dans mon vocabulaire. :P

Pour le file_get_contents cela implique que le serveur est déjà corrompu.
Laisser un warning comme ça pour moi c'est code comme un cochon n'a :lol:

Sinon oui cela laisse supposer des soucis cite serveur.
La juste en php je vois pas mais la sécurité c'est pas trop mon domaine d'expertise :D

@+

Re: Faille trop évidente

Posté : 25 janv. 2014, 18:13
par sirakawa

Re: Faille trop évidente

Posté : 25 janv. 2014, 18:24
par xTG
Il n'y a pas de requête SQL dans son code. :^o

Re: Faille trop évidente

Posté : 26 janv. 2014, 16:13
par Gorbi
Merci de vos tentatives de réponse mais effectivement il n'y a aucun code SQL et encore moins de notion de base de données. Le but est simple, le serveur attend une valeur sur une variable php, à nous de lui faire cracher ce qu'il attend.
J'aime l'idée de faire afficher le code source plutôt que de l’exécuter, peux-tu développer la procédure ?

Re: Faille trop évidente

Posté : 26 janv. 2014, 18:11
par xTG
Un exemple de faille qui a été patché il y a deux ans : http://www.php.net/archive/2012.php#id2012-05-03-1

Re: Faille trop évidente

Posté : 26 janv. 2014, 21:09
par momox
Et un bon vieux brute force ? Vu la tête du mot de passe ça ne doit pas mettre longtemps non ?

Re: Faille trop évidente

Posté : 26 janv. 2014, 21:37
par xTG
Et un bon vieux brute force ? Vu la tête du mot de passe ça ne doit pas mettre longtemps non ?
Certes mais je suis pas sûr que cela coïncide avec l'énoncé qui veut "faire apparaître en clair" le mot de passe.
Après 11 caractères... Va falloir faire tourner la machine un bon moment tout de même. ;)
Et puis le bruteforce étant l'arme la plus simple mais pas la plus maligne je ne pense pas que cela soit la réponse attendue.

Re: Faille trop évidente

Posté : 27 janv. 2014, 11:35
par sirakawa
La force brute représenterait quelque chose comme : 419?430.400.000.000.000 possibilistés en utilisant 40 caractères. Non compris la lourdeur de l'algorithme copmbinatoire.

Ce qui serait intéressant, ce serait de connaître la correction