2012-10 Archives
28-10-2012 19:39:35
[WTF] Euromillion et la sécurité
La blague du jour est issue du site Le Monde sur son article sur le hack du site de l'Euromillion :
La du coup je pense que tout le monde est rassuré sauf ceux qui savent ce qu'est la norme 27001 et ce que signifie son obtention :)
La Francaise des Jeux (FDJ) a précisé que "seule la page d'accueil du site d'information Euromillions.fr avait été touchée" par ce piratage. Le site fdj.fr "continue a fonctionner normalement sans aucune conséquence sur les prises de jeu et sur l'intégrité du jeu", a assuré la FDJ en rappelant qu'elle est le seul opérateur de jeux en France à détenir la norme ISO27001, "le plus haut standard en matière de sécurité informatique".
La du coup je pense que tout le monde est rassuré sauf ceux qui savent ce qu'est la norme 27001 et ce que signifie son obtention :)
01-10-2012 19:27:39
[PHP] Strcmp() bypass
Un article que j'ai beaucoup apprécié vu sur Twitter.
En gros quand on envoie en PHP un tableau à comparer avec une string via la fonction strcmp() ou strcasecmp() alors cela renvoie 0. Ok why not ...
Pour tester sur un cas plus "réel", j'ai testé avec une variable POST avec le code suivant :
Ce qui est assez étonnant c'est que selon la version de PHP ces fonctions renvoient une valeur différente. Ainsi en 5.2, strcmp(string, array) renvoie -1, en 5.3 cela renvoie 0 et en 5.4 cela renvoie un NULL + warning. Un langage hyper bien pensé pour la rétrocompatibilité ...
Bref de nouvelles fonctions à surveiller lors d'un audit de code ou d'un pentest pour bypasser des authentifications ou des sécurités :)
En gros quand on envoie en PHP un tableau à comparer avec une string via la fonction strcmp() ou strcasecmp() alors cela renvoie 0. Ok why not ...
Pour tester sur un cas plus "réel", j'ai testé avec une variable POST avec le code suivant :
<?php $key = "0wned"; $pass = "tata"; if (strcasecmp( $_POST['pass'], $pass) == 0) { echo($key); } ?> <form action="key.php" method="post" /"> <input type="text" name="pass[]" /> <input type="hidden" name="ok" value="OK" /> <input type="submit" value="GO" /> </form/>Bien sur cela marche parfaitement, quoi que l'on mette le echo s'effectue. Heureusement les sites ne gèrent pas l'authentification de cette manière en général mais on doit trouver quelques exceptions pour des cas particuliers.
Ce qui est assez étonnant c'est que selon la version de PHP ces fonctions renvoient une valeur différente. Ainsi en 5.2, strcmp(string, array) renvoie -1, en 5.3 cela renvoie 0 et en 5.4 cela renvoie un NULL + warning. Un langage hyper bien pensé pour la rétrocompatibilité ...
Bref de nouvelles fonctions à surveiller lors d'un audit de code ou d'un pentest pour bypasser des authentifications ou des sécurités :)