vendredi 26 octobre 2012

Logique / Eléments manquants 3

Titre de l'épreuve : Eléments manquants 3

Description :
La réponse devra être mise sous la forme : réponse1-réponse2 (la réponse1 étant celle à gauche)

Epreuve :

2X3 - 7
4XX5 - 31
7XXX8 - 97
11XL12 - 241
?? - ??



Logique / Eléments manquants 1

Titre de l'épreuve : Eléments manquants 1

Description :
Ici il vous faudra trouver les deux termes manquants. La réponse devra être mise sous la forme : rep1-rep2, où rep1 est la réponse du haut et rep2 celle du bas.

Epreuve :

45 - ??
32 - 13
21 - 6
13 - 3
6 - ??

Explication :
Si on fait les soustractions telle que montré dans l'épreuve on obtient :

45 - ?? = ??
32 - 13 = 19
21 - 6 = 15
13 - 3 = 10
6 - ?? = ??

On voit que pour passer de 10 à 15, on ajoute 5.
Pour passer de 15 à 19, on ajoute 4.

Donc pour passer de 19 à ??, on ajoute 3 et pour passer de ?? à 10, on ajoute 6.


Logique / Suite alphabétique 1

Titre de l'épreuve : Suite alphabétique 1

Description :
La réponse sera sous la forme : réponse1-réponse2 (la réponse1 étant celle de gauche)

Epreuve :
?? - MU - ME - JH - VR - SA - ??

Explication :
Les lettres de gauches correspondent à la première lettre du jour de la semaine :
L (Lundi)
M (Mardi)
M (Mercredi)
etc
Les lettres de droites correspondent à la deuxième lettre du jour de la semaine en anglais :
O (mOnday)
U (tUesday)


mardi 20 mars 2012

Hacking / Sam' suffit

Titre de l'épreuve : Sam' suffit


Description :
Aidez samy à casser le mot de passe du pc qu'il a trouvé dans la rue.

Explication :
L'objectif est de trouver le mot de passe windows, pour cela on va utiliser ophcrack + une rainbow table.
Ophcrack permet de tester toutes les possibilités possible pour trouver les mots de passe, or cette opération peut-être très longue si le mot de passe est complexe. Pour cela on utilise une rainbow table qui est une table avec des millions de mot de passe déjà crackés, l'utilisation de cette table réduit drastiquement la recherche d'un mot de passe.


Logique / Suite alphanumérique 1

Titre de l'épreuve : Suite alphanumérique 1


Description :
Trouvez le terme manquant de cette suite logique :

Epreuve :
1a1w- 1e1s - 1i0o - 0m1k - ????

Explication :
On peut remarquer que les premières lettres dans chaque groupe de mots sont espacés de 4 dans l'alphabet : a, e, i, m donc le suivant est q.

Pour la deuxième lettre des groupes de mots, elle recule de 4 dans l'alphabet : w, s, o, k, dont le suivant est g.

Concernant les chiffres, ce sont des "booléens" le premier est à 1 si la première lettre est une voyelle et le deuxième à 1 si la deuxième lettre est une consonne.


samedi 17 mars 2012

Cryptographie / Fromage

Titre de l'épreuve : Fromage


Description :
L'algorithme aime le fromage...

Type de chiffrement : Chiffre de Beaufort

Explication :
Le chiffrement est celui du "Chiffre de Beaufort" qui est une variante du chiffre de Vigenère.
Plus d'explication sur ce lien : http://www.apprendre-en-ligne.net/crypto/vigenere/beaufort.html
Il permet de trouver la clé de chiffrement à partir du texte crypté et du texte clair que l'on peut deviner ("Le mot de passe est").


vendredi 16 mars 2012

Cryptographie / A perpétuité

Titre de l'épreuve : A perpétuité


Epreuve :
Dans la gloire la plus ephémère, nous sommes condamnés à perpétuité à vivre dans un monde sans fin, toujours...
En une infinité de points nos corps se perdront a perpétuité dans son règne.
A perpétuité, c'est le mot qu'il convient dans la félicité et dans les cieux pour caractériser un monde sans fin.
Dans les cieux, dans la félicité en paradis, sont irrévocablement les symboles la vie dans la béatitude, toujours...
Dans la félicité et a perpétuité, voici les maîtres mots de ton régne Seigneur.

Amen

Type de chiffrement : Substitution

Explication :
Cette méthode de chiffrement provient de l'abbé Jean Trithème, le principe est que pour certain mots ou groupe de mots correspondent à une lettre. 
Par exemple "Toujours" équivaut à 'o', "Dans la gloire" à 'l', etc...

Sténographie / Guillotine

Titre de l'épreuve : Guillotine


Description :
Démontez lui la tête !

Explication :
En ouvrant le fichier stega4.exe avec notepad++, on peut remarquer qu'au milieu de caractères non imprimables il y a une suite de nombres hexadécimaux :

59:65:61:68:4c:65:50:61:73:73:77:6f:72:64:45:73:74:47:72:6f:75:6D:70:66
On trouve le mot de passe en convertissant de l’hexadécimal vers les lettres.

Cryptographie / Mer Morte

Titre de l'épreuve : Mer Morte


Épreuve :
yizel gf ervmg wv gilfevi oz hlofgrlm jfr vhg zgyzhs

Explication :
L'épreuve fait référence au chiffre d'Atbash. Un tour sur dcode.fr permet de résoudre l'énigme.


Cryptographie / Chimique

Titre de l'épreuve : Chimique


Description :
Entrer la solution en minuscule pour valider

Epreuve :
57/16-8-71-22-8-7/34-88/31-57-6-22-19

Explication :
La solution de cette épreuve se trouve dans le tableau périodique des éléments de Mendeleïev :
A chaque chiffre correspond un nom d'élément chimique qui mit bout à bout forme le mot de passe à rentré pour valider l'épreuve.

Cryptographie / Dans le cube

Titre de l'épreuve : Dans le cube


Description :
Indice : pour les cinéphiles, la réponse est dans le cube...

Épreuve :
29-2-41-2-23-67 79-47-73-67 43-11 71-61-47-73-79-11-61-11-101 37-11 53-2-67-67-11 59-73-23 11-67-71 41-2-43-17-47-73-67-71-11

Explication :
Deux moyens pour résoudre cette énigme : Remarquer que tous les nombres de l'épreuve sont des nombres premiers ou se souvenir que une allusion aux nombres premiers est présente dans le film Cube.

Pour résoudre l'énigme, on attribue les 26 lettres de l'alphabet aux 26 premiers nombres premiers :

Cryptographie / Elémentaire

Titre de l'épreuve : Elémentaire


Description :
Elémentaire mon cher...

Type de chiffrement : Substitution

Explication :
Cette énigme provient d'un livre mettant en scène Sherlock Holms. Le code est simplement une substitution alphabétique, à chaque personnage correspond une lettre.


Cryptographie / Vivement la fin !

Titre de l'épreuve : Vivement la fin !


Épreuve :
8 88 0 33 7777 0 7777 88 777 0 555 2 0 22 666 66 66 33 0 7444 7777 8 33 0 555 33 0 6 666 8 0 3 33 0 7 2 7777 7777 33 0 33 7777 80 55 444 55 666 88

Explication :
On appelle cette épreuve "l'énigme du téléphone" : pour passer des chiffres aux lettres il faut regarder un clavier de téléphone.
Par exemple, 8 est T, 88 est U, 7777 est S...


dimanche 11 mars 2012

Logique / Clair...

Titre de l'épreuve : Clair...


Description :
C'est pourtant clair...

Explication :
Pour cette épreuve on nous demande de télécharger un fichier ep17.txt qui contient des signes étranges. Le premier réflexe est de modifier l’extension du fichier en .jpg et on obtient une image blanche. En ouvrant le fichier sous paint et en colorisant le fond avec du noir, un code apparaît :
47476D616E2E747874. 
Mais ce n'est pas encore la solution finale, il est nécessaire de le transformer en chaîne de caractère, de passer de l’hexadécimale à des lettres. On obtient alors le mot suivant :
GGman.txt qui est le fichier à télécharger au même endroit que l'on a obtenu le fichier de l'épreuve.





Logique / Eléments manquants 5

Titre de l'épreuve : Eléments manquants 5


Description :
Trouvez les quatre termes manquants de la suite logique:(réponse sous forme : réponse1-réponse2-réponse3-réponse4)

Epreuve :
??????=?????? LXXII=SD LXXXVII=HS CII=UZD CXVII=UUS ??????=??????

Explications :
Il faut dans un premier temps convertir les chiffres en lettre romains vers des chiffres en base 10 :

72 = SD
87 = HS
102 = UZD
117 = UUS

On cherche maintenant à quoi correspond les lettres de droite. On peut voir que S est la première de sept et D la première lettre de deux : on a trouvé la table de correspondance !
Enfin pour passer d'une ligne à l'autre on ajoute 15 : on peut maintenant trouver la réponse très facilement.


samedi 10 mars 2012

Sténographie / Zèbre

Titre de l'épreuve : Zèbre


Description :
Illusion d'optique, ou la manière de se cacher comme un zèbre

Epreuve :



Explication :
On peut remarquer que le nombre de lignes est 26, chaque ligne correspond à une lettre. Il s'agit alors de reporter les lettres pour chaque extrémitées de segment.


Logique / Régions dans un cercle

Titre de l'épreuve : Régions dans un cercle


Description :
Nombre maximum de régions que l'on détermine dans un cercle en reliant n points de sa circonférence.

Epreuve :
Donner la suite de 1,2,4,8,16

Explications :
Il faut tracer un cercle, y placer 16 points et compter le nombre de "régions" (zone) qu'il y a dans le cercle une fois tous les points reliés.


Logique / Eléments manquants 2

Titre de l'épreuve : Eléments manquants 2


Description :
La réponse devra être mise sous la forme : réponse1-réponse2 (la réponse1 étant celle devant le 2)

Epreuve :
3-S
7-T
8-T
2-??
?? - N


Explications :
Considérons la première ligne de l'épreuve : 3-S.
En lettres, 3 s'écrit TROIS, d'où le S.


lundi 27 février 2012

Logique / Retour en primaire ?

Titre de l'épreuve : Retour en primaire ?


Description :
Qu'y a-t-il de compliqué ? Vous faisiez ça en CE1 !

Epreuve :
http://www.newbiecontest.org/index.php?page=epreuve&no=201

Pour valider, entrez le produit des restes des divisions euclidiennes de :

2^10 par 3
54^2003 par 7
2003^444002 par 149
1000000^184651 par 36931

Explication :
La résolution de l'épreuve peut se faire avec un programme très simple, voici un exemple en javascript :

Cliquez pour agrandir


samedi 25 février 2012

Logique / Caramels, sucettes et berlingots

Titre de l'épreuve : Caramels, sucettes et berlingots


Description :
Entrez la solution avec une virgule, formatée comme les prix dans l'énoncé sans le symbole €.

Épreuve :
http://www.newbiecontest.org/index.php?page=epreuve&no=127

Deux caramels, cinq sucettes et quatres berlingots coûtent ensemble 1,94€.
Trois caramels, cinq sucettes et un berlingot coûtent ensemble 1,66€.

Combien coûte un lot formé de deux caramels, sept sucettes et huit berlingots ?

Explication :
Pour résoudre ce système, on utilise le pivot de gauss, voici les étapes à suivre :

On a comme équations :
2c + 5s + 4b = 1.94             [L1]
3c + 5s + b = 1.66               [L2]
2c + 7s + 8b = x                  [L3]

On élimine les 5s dans L1 et L2 :
5s = - 2c - 4b + 1.94
5s = -3c - b + 1.66

d'où - 2c - 4b + 1.94 = -3c - b + 1.66 et on obtient c = 3b - 0.28

On remplace dans la première équation L1 :

2*( 3b - 0.28) + 5s + 4b = 1.94
6b - 0.56 + 5s + 4b = 1.94
5s + 10b = 2.5

5s = 2.5 - 10c
s  = 0.5 - 2c

Résolution en remplaçant s et c dans l'équation : 2c+7s+8b=x


jeudi 23 février 2012

Programmation / Apprenons à lire

Titre de l'épreuve : Apprenons à lire


Description :
Voilà la première épreuve d'un groupe de deux sur le travail d'image.
Celle-ci consiste à lire la chaîne de caractères sur l'image ci-dessous.Elle est composée seulement de caractères alphanumériques.
Une fois trouvée, vous devez la renvoyer à la page verifpr10.php en moins d'une seconde sous la forme : verifpr10.php?chaine=xxx.Notes : la chaîne est sensible à la case et il est nécessaire de coder un programme en local pour réussir cette épreuve.

Explication :
Il est nécessaire de récupérer le texte écrit sur l'image puis de renvoyer la réponse sur la page de réponse.
Pour cela on utilise un OCR (Optical character recognition) qui va s'occuper de récupérer directement les caractères visibles sur l'image.

Voici un code en php qui exploite un logiciel d'OCR :

Cliquez pour agrandir



dimanche 19 février 2012

Programmation / Second degré

Titre de l'épreuve : Second degré


Description :
Ouvrez la page prog6.php.
Elle vous attribue alors une équation que vous devez résoudre. Cette équation a été conçue pour avoir toujours deux solutions distinctes. Le but du jeu sera de renvoyer la plus grande des deux solutions (tronquée à 2 chiffres après la virgule, par exemple : 5.26) à la page verifpr6.php, le tout en moins de 1 seconde, sous la forme verifpr6.php?solution=resultat.
Il est nécessaire de coder un programme en local pour réussir cette épreuve.

Explication :
Voici un exemple de code fonctionnel pour résoudre cette épreuve :

Cliquez pour agrandir

Programmation / Quand le jazz est là

Titre de l'épreuve : Quand le jazz est là


Description :
Un newbie est passé sur ton PC et a touché à ton code Java. Malheur!, ce dernier ne compile plus. 3 erreurs de compilation s'y sont glissées. Retrouve les et exécute ce petit programme pour valider. Soit e1, e2 et e3 les lignes comprenant une erreur et r le résultat affiché par le programme, le passe pour valider est : e1² * e2² * e3² * r².

Explication :
Il y a donc trois erreurs dans ce code, voici les corrections

ligne 4 : for (int k= 0 ; k<128 ; k++) {
ligne 7 : System.out.println(" i : " + i);
ligne 10 : for (int k = 0;k<str.length()/3;k++) {


samedi 18 février 2012

Logique / Suite numérique 2

Titre de l'épreuve : Suite numérique 2


Description :
Le but de cette épreuve est de trouver l'élément suivant de cette suite logique :

Epreuve :
1
2
12
264
22704
??

Explication :
Dans un premier temps on décompose les termes en multiplications logique :

1
2 = 1*2
12 = 2*6
264 = 12*22
22704 = 264 * 86

On obtient la suite : 2 6 22 86. En faisant des soustractions entre les termes on obtient :

6 - 2 = 4 = 2²
22 - 6 = 16 = 4²
86 - 22 = 64 = 8²

Le prochain terme devrait donc être 16²=256.
On additionne donc 256 avec 86 pour avoir le chiffre multiplicateur qui va nous faire passer au terme suivant pour la suite de l'épreuve : 256 + 86 = 342


Logique / Nombre de carrés

Titre de l'épreuve : Nombre de carrés


Description :
Combien de carrés peut-on faire ?

Epreuve :
Explication :
Il faut compter les carrés de côtés : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 et additionner l'ensemble pour obtenir le nombre de carrés final.


Logique / Suite numérique 3

Titre de l'épreuve : Suite numérique 3


Description :
Trouvez le terme suivant de cette suite :

Epreuve :
2,5,15,18,54,57,??

Explication :
On ajoute 3 au premier terme pour obtenir le deuxième terme puis on multiplie par 3 ce terme obtenu.


Logique / Suite numérique 1

Titre de l'épreuve : Suite numérique 1


Description :
Bienvenu(e) sur la toute première épreuve de logique.Rien de très compliqué : vous devez trouver l'élément suivant de la suite logique.

Epreuve :
221
2211
2221
3211
??

Explication :
C'est la suite de Conway dit suite "audioactive", c'est-à-dire que pour trouver le terme suivant, il suffit de décrire à l'oral les chiffres qui constitue le précédent terme.

exemple : 221 - ??
il y a 2 deux et 1 un : 2211


Crackme / Are you the number one ?

Titre de l'épreuve : Are you the number one ?


Description :
Crakme n°4

Explication :
Importer le fichier dans WinDasm, dans la liste des StringsReferences on voit que le programme nous demande de rentrer le mot de passe. En regardant sous l'instruction qui demande le pass, on a une instruction assembleur de comparaison :

CMP DWORD PTR DS:[405040],163B37

On peut déduire que la valeur entré par l'utilisateur sera comparé avec la valeur "163B37". Or cette valeur est en hexadécimale et n'est pas la bonne réponse. Il faut alors convertir la valeur en base décimale (base 10) pour avoir la solution.


Crackme / Hello, World

Titre de l'épreuve : Hello, World


Description :
Crackme n°6 : document Word (de AlexxKid)


Explication :
Ouvrez le fichier doc dans Notepad++ et chercher la chaîne "password" pour le trouver.


Crackme / Visuel et basique

Titre de l'épreuve : Visuel et basique


Description :
Bienvenu(e) sur la toute première épreuve de Crack-me.Toutes les épreuves de cette catégorie ont le même but : trouver comment cracker le programme fourni (codé par Folcan).

Explication :
En ouvrant le fichier dans un éditeur hexadécimale (WinHex), on trouve facilement le mot de passe en clair.


Hacking / Upload II

Titre de l'épreuve : Upload II


Description :
Formulaire d'upload

Explication :
Ici il s'agit d'essayer d'uploader un fichier php en le faisant passer pour une image.
Avec l’extension firefox "Live HTTP Header" vous pouvez voir les entêtes http et les modifier à votre guise.
Pendant l'upload d'une image test sur l'épreuve on peut voir dans les entêtes que le content-type est "image/png". Maintenant réessayons avec un fichier php, l'entête est alors text/html.

Le but va être de relancer ces mêmes entêtes mais en modifiant le content-type qui deviendra : image/png pour faire croire au serveur que l'on envoi une image.

mardi 14 février 2012

Programmation / Crypto

Titre de l'épreuve : Crypto


Description :
Ouvrez la page prog5.php.
Elle vous attribue alors une cryptographie que vous devez casser puis renvoyer à la page verifpr5.php en moins de 1 seconde.
Vous devez renvoyer ce nombre sous la forme : verifpr5.php?solution=resultat. Il est nécessaire de coder un programme en local pour réussir cette épreuve.

Explication :
Le code a été chiffré avec le code "César", c'est un code cryptographique à décalage utilisé par Jules César pour chiffrer ses conversations militaires.
Par exemple avec une décalage de 3, la lettre a devient d, b devient e, etc.

Voici un code possible parmi tant d'autres :

Cliquez pour agrandir


Programmation / Equation

Titre de l'épreuve : Equation


Description :
Le principe de cette épreuve est de faire un script qui résout une équation simple.
Celle-ci vous sera donnée par la page prog4.php.Vous devez renvoyer le résultat à la page verifpr4.php en moins de une seconde sous la forme verifpr4.php?solution=resultat.
Notes : le nombre y sera la partie entière du résultat et il est nécessaire de coder un programme en local pour réussir cette épreuve.

Explication :
Encore une fois il est possible de résoudre cette épreuve par diverse méthodes et langages, voici un exemple qui marche.

Cliquez pour agrandir



Programmation / Racine

Titre de l'épreuve : Racine


Description :
Vous avez à ouvrir deux pages qui vous attribueront chacune d'elle un nombre aléatoire.
Vous devez effectuer l'opération y=racine(a)*b où a est le nombre de la page 1 et b le nombre de la page 2.
Une fois le nombre y calculé, vous devez le renvoyer à la page verifpr3.php en moins de deux secondes sous la forme : verifpr3.php?solution=y.
Notes : le nombre y sera la partie entière du résultat et il est nécessaire de coder un programme en local pour réussir cette épreuve.

Explication :
Voici un exemple de code parmi ceux possible :



Cliquez pour agrandir


Programmation / Renvoi

Titre de l'épreuve : Renvoi


Description :
Ouvrez la page prog1.php.
Elle vous attribue alors un nombre aléatoire que vous devez renvoyer à la page verifpr1.php en moins de 1 seconde.Vous devez renvoyer ce nombre sous la forme : verifpr1.php?solution=nombre.
Il est nécessaire de coder un programme en local pour réussir cette épreuve.

Explication :
Il y a plusieurs manière de faire cette épreuve :
  • Avec une regex : [0-9]
  • Avec la fonction explode sur ':' (on coupe la chaîne de caractère en deux)
  • Lire la chaîne à partir de l'index 50 à 65 (la partie de la chaîne qui correspond au nombre)
Voici un exemple d'un code possible :

Cliquez pour agrandir


dimanche 12 février 2012

Stéganographie / Noping in progress

Titre de l'épreuve : Noping in progress


Description :
NOPING IN PROGRESS

Explication :
De la même manière que pour la première épreuve, ouvrez le logiciel dans Notepad++ et faite une recherche avec "pass" pour trouver la solution.


Stéganographie / SteganoVideo

Titre de l'épreuve : SteganoVideo


Description :
Play me

Explication :
Il suffit de lire la vidéo image par image.


Sténographie / Un son venu d'un autre monde...

Titre de l'épreuve : Un son venu d'un autre monde...


Description :
Un son venu d'un autre monde...

Explication :
En écoutant le son, il est impossible de distinguer quoi que ce soit. Il est nécessaire d'utiliser Audacity pour ralentir le son et réglant de la bonne manière on trouve le mot de passe.


Sténographie / Ethique du hacker

Titre de l'épreuve : Ethique du hacker


Description :
L'éthique du hacker cacherait-elle un mot de passe ?

Explication :
Le texte sur l'éthique du hacker renferme un secret ! Prenez la première lettre de chaque phrase et vous aurez la solution.


Stéganographie / SCREEN 13

Titre de l'épreuve : SCREEN 13


Description :
Arriverez vous à faire la lumière sur cette épreuve ?

Explication :
Comme l'indique la description, ouvrez l'image dans paint et remplissez le de blanc et vous verrez le mot de passe.


Sténographie / Pour commencer

Titre de l'épreuve : Pour commencer


Description :
Bienvenu(e) sur la toute première épreuve de Stéganographie.Rien de complexe : vous devez trouver le code caché dans le programme du lien ci-dessous et l'entrer dans le champs de validation.

Explication :
En ouvrant le fichier exécutable dans Notepad++ vous trouverez le mot de passe inscrit.


Sténographie / Cherche plus loin que le bout de ton nez

Titre de l'épreuve : Cherche plus loin que le bout de ton nez


Description :
Cherche plus loin que le bout de ton nez

Explication :
A première vue il n'y a rien écrit dans l'épreuve, mais un tour dans la source vous mettera la puce à l'oreille : le mot de passe est bien présent, mais de même couleur que le fond du site, donc invisible !


Javascript / Ne loupez pas le coche !

Titre de l'épreuve : Ne loupez pas le coche


Description :
L'epreuve est trés simple : vous devez cocher les checkbox ci-dessous et valider.By Kernox Updated by Perfect Slayer

Explication :
Cette épreuve, assez sournoise, vous demande de cocher toutes les cases du formulaire.
En regardant le code (ou en essayant de toute les cochez) vous constaterez que les checkbox se décoche toute seule.

Pour éviter ça et valider l'épreuve, il faut éditer le code javascript directement à partir du navigateur avec l'option "Inspecter cet élément" du clic droit.
Maintenant supprimer les attributs onChange des checkbox qui font appels à des fonctions qui décoche.
Aussi dans la fonction Valid() supprimez la ligne "document.forms.frm.c1.checked=0;" qui va remettre à 0 la première checkbox.

Vous êtes prêts à valider !


Javascript / Jamais deux sans trois

Titre de l'épreuve : Jamais deux sans trois


Description :
Pour valider, entrez le login et le pass sous la forme "login-pass"

Explication :
De la même manière que précédemment, téléchargez et ouvrez avec Cavaj le fichier Applet3.class.
Vous trouvez encore une fois un code à convertir en ascii qui sera le login. Quant au mot de passe, c'est simplement le login à l'envers !


Javascript / Et de deux...

Titre de l'épreuve : Et de deux...


Description :
Trouvez le password!

Explication :
Pour cette deuxième épreuve de java, procédez comme auparavant : on télécharge l'Applet2.class et on l'ouvre avec Cavaj.
On voit que le mot de passe entré par l'utilisateur est comparé avec un mot de passe "chiffré" qui est préparé dans la fonction initPwd();
Le fonctionnement du code est le suivant :

  1. un tableau d'entier est déclaré.
  2. une boucle for itère le nombre de fois qu'il y a d'entier dans le tableau (4x donc)
  3. on met dans la variable c de type char, le cast char de l'entier du tableau, on obtient en faite l'equivalent en lettre du chiffre du tableau.
Pour trouver le mot de passe il suffit donc de faire la correspondance avec la table ascii des quatres entiers du tableau.

Javascript / Tout est relatif

Titre de l'épreuve : Tout est relatif


Description :
La source te donnera l'indice...

Explication :
A l'ouverture de la source on voit qu'un lien est présent dans l'épreuve :
<scr="www.newbiecontest.org/javascript/epreuve7/mickies.php">

On test ce lien dans un navigateur, mais on voit bien qu'il ne fonctionne pas. Or il faut faire la distinction entre lien relatif et lien absolu.
Ici ce n'est pas un lien absolu, bien que commençant par www, mais un nom de répertoire !


Javascript / Tiens une applet!

Titre de l'épreuve : Tiens une applet!


Description :
Trouvez le mot de passe!

Explication :
Dans cette épreuve est utilisé une applet. Une applet est un code compilé en java à destination du web.
On trouve dans le code source HTML le lien pour télécharger l'applet (http://newbiecontest.org/epreuves/javascript/Applet1.class) mais un fichier .class n'est pas un fichier source, c'est du bytecode Java.
Néanmoins pour obtenir la source, il est possible de décompiler cette applet avec un logiciel comme Cavaj.
En décompilant, la source est alors visible et il suffit de lire le code pour voir le mot de passe demandé.


Javascript / On joue à cache-cache ?

Titre de l'épreuve : On joue à cache-cache ?


Description :
On joue à cache-cache ?

Explication :
Comme précédemment, on enregistre la page, cherche le code javascript et on place un alert() juste avant la comparaison avec l'entrée utilisateur. Ici on obtient un chiffre : 156 et on voit dans le code que si le mot de passe est correct on nous redirige vers une page spéciale, qui sera donc
"http://www.newbiecontest.org/epreuves/javascript/156.php"



Javascript / Redirection

Titre de l'épreuve : Redirection


Description :
Un petit jeu de redirection

Explication :
Un tour dans la source vous présente un code javascript avec comparaison et le mot de passe en clair ! Mais ne criez pas victoire : ce code est un commentaire, il y a des "/*" et "*/" en haut et en bas du code, il n'est pas exécuté par la page.
Le vrai code est appelé par la ligne HTML suivante :
<script src="/epreuves/javascript/type.js" language="JavaScript" type="text/javascript"></script>
Un clic sur le lien et l'on voit le vrai mot de passe à utiliser.


Javascript / Calculons gaiement

Titre de l'épreuve : Calculons gaiement


Description :
Calculons gaiement!

Explication :
Encore une fois, enregistrez la page sur votre ordinateur, ouvrez là dans notepad++, cherchez le morceau de code javascript et insérez un alert() pour voir la bonne réponse.

Javascript / Un classique ...

Titre de l'épreuve : Un classique...


Description :
Un classique...

Explication :
Pour cette épreuve, il est nécessaire d'enregistrer la page de l'épreuve sur votre ordinateur. Un tour dans la source vous montrera encore qu'une chaîne est comparé à ce qui est entré par l'utilisation.
Rajoutez cette ligne de code avant la comparaison des chaînes (la ligne qui commence par "if") pour afficher dans une boite de dialogue la réponse : "alert(rst);"
Vous voyez que c'est du binaire : le code prend la longueur de la chaîne "abcde....XYZ" qui vaut 52 et la convertie en binaire avec l'instruction suivante : nb.toString(2); où 2 correspond à la base (binaire = base 2, décimale = base 10, hexadécimale = base 16).


Javascript / Je décode, tu décodes...

Titre de l'épreuve : Je décode, tu décodes...


Description :
Je décode, tu décodes, il décode ...

Explication :
Un tour dans la source nous montre que le formulaire de validation test le mot entré dans une fonction check();
Cette fonction compare le mot entré avec la chaine suivante : "%72%69%6D%62%61%75%64".
C'est donc une chaîne en ASCII mais codé en hexadécimale. Avec la table ascii disponible sur wikipedia il est donc possible de faire la correspondance entre les nombres hexadécimaux et leurs lettres correspondantes.


Javascript / Dans la page ?

Titre de l'épreuve : Dans la page ?


Description :
Le javascript n'est pas toujours visible dans une page...


Explication :
Il suffit de regarder la source html encore une fois. Le mot de passe était dans un commentaire javascript, donc non visible à l'écran.


Javascript / Et vous trouvez ça drôle ?

Titre de l'épreuve : Et vous trouvez ça drôle ?


Description :
On poursuit l'échauffement!

Explication :
En allant sur la page indiquée, une boite de dialogue vous demande le mot de passe, annulez et faites un tour dans la source html (CTRL + U) et vous voyez le code javascript avec le bon mot de passe.


Javascript / Ca coule de source

Titre de l'épreuve : Ca coule de source


Description :
Bienvenu(e) sur la toute première épreuve de Javascript.
Celle-ci est très facile : vous devez retrouver le mot de passe ci-dessous et l'entrer dans le champ de validation.

Explication :
On voit que c'est un champ de type password. Plusieurs méthode permettent de découvrir ce mot de passe, la plus rapide est la suivante : avec chrome ou firefox il est possible de modifier le code source directement avec un clic droit "Inspecter cet élément" sur l'objet à modifier. Ici on voit la solution dans l'attribut "value" du <input>


jeudi 9 février 2012

Cryptographie / SHIFT ou ALT ?


Titre de l'épreuve : SHIFT ou ALT ?

Description :
Indice : SHIFT serait pas pire avec ALT.

Epreuve :
o3-j95-e3-0qww3-3w5-0q4j3h8e3

Type de cryptographie : azerty -> qwerty et substitution visuelle

Explication :
Le contenu de l'épreuve est : o3-j95-e3-0qww3-3w5-0q4j3h8e3.
Il est possible de résoudre cette épreuve en faisant un "pendu" : on remarque tout de suite que le début de la phrase correspond à : "le mot de passe est", en connaissant la correspondance des lettres on a certaines lettres du mot de passe.
Il reste maintenant à trouver les dernières lettres, en regardant son clavier on peut trouver la méthode de chiffrement :
le o devient un l --> le l est situé sous la lettre o sur le clavier qwerty.

Par cette méthode on découvre les lettres restantes et on obtient le mot de passe.

Cryptographie / 1+3+3=7

Titre de l'épreuvre : 1+3+3=7


Description :
...


Epreuve :
13m07d3p45533572341173


Type de cryptographie : Leet Speak

Explication :
Le message de l'épreuve à été transformé en "leet speak" aussi appelé le "1337 5|*34|<", sorte de langage sms rarement utilisé sur internet.


Cryptographie / Problème d'encodage...

Titre de l'épreuve : Problème d'encodage...


Description :
Indice : petit problème d'encodage...

Epreuve :
6C652070617373776F726420706F7572207661
6C696465722065737420617A6572747930326B6A


Type de cryptographie : hexadécimale

Explication : 
On voit que le contenu de l'épreuve est écrit en hexadécimale (on compte en base 16, de 0 à F). Il s'agit donc d'utiliser un convertisseur hexadécimale -> ascii disponible à cette adresse : http://www.dolcevie.com/js/converter.html


lundi 30 janvier 2012

Cryptographie / Qui veut un nonos'

Titre de l'épreuve : Qui veut un nonos'


Description :
Saurez vous résister à l'envie ?


Type de cryptographie : code couleur des résistances


Explication :
Pas de difficulté une recherche sur le code couleur des résistances 4 couleurs vous mènera vers la bonne réponse.



Cryptographie / Vodka !!

Titre de l'épreuve : Vodka !!


Description :
Indice : les nihilistes russes


Epreuve :
3115 3511434352344214 154344 3211424224113315


Type de cryptographie : le carré de Polybe


Explication :
Une recherche sur google à propos des nihilistes renvoi vers le carré de Polybe, il suffit de décodé avec un site.



Cryptographie / -- --- .-. ... .

Titre de l'épreuve : -- --- .-. ... .


Description :
...


Epreuve :
.--. --- ..- .-. ...- .- .-.. .. -.. . .-. .. .-.. - . ... ..- ..-. ..-. .. - -.. . - .- .--. . .-. ... .- -- ..- . .-.. ... ..- .. ...- .. -.. . ... --- -. -. --- -- -.. . ..-. .- -- .. .-.. .-.. . .-.. . - --- ..- - .- - - .- -.-. .... . . - . -. -- .. -. ..- ... -.-. ..- .-.. . ...


Type de cryptographie : Morse


Explication : 
On reconnait tout de suite qu'il s'agit du morse, dans ce cas on utilise encore le site dcode.fr



Cryptographie / Une impression de déjà vue

Titre de l'épreuve : Une impression de déjà vue


Description :
Indice : une impression de déjà vu? C'est normal ;)


Epreuve :
6f666cf793be4ad0cea7c52cd7cd228f


Type de cryptographie : MD5


Explication :
De part la forme et la longueur on constate que c'est un hash MD5, il est impossible de revenir au mot originel ce n'est pas une méthode de chiffrement. 
En revanche il existe les "rainbow tables" qui possèdent des millions de mots hashés, et il est possible d'y rechercher le hash.



Cryptographie / Avé vous trouvé ?

Titre de l'épreuve : Avé vous trouvé ?


Description : 
Bienvenu(e) sur la toute première épreuve de Cryptographie.Vous devez décoder le message ci dessous pour valider l'épreuve.Un indice : Avé Vous Trouvé ?


Epreuve :
DW EGL VW HSKKW HGMJ NSDAVWJ WKL LGML KAEHDWEWFLUWKSJ ESAK SNWU MF S WF HDMK WFLJW DW U WL DW W


Type de chiffrement : Code César


Explication :
Avec l'indice de la description (avé), il est aisé de voir que le chiffrement césar a été utilisé. On peut utiliser un site comme dcode.fr pour simplement retrouver le message originel.



vendredi 27 janvier 2012

Hacking / Espace 'admin'

Titre de l'épreuve : Espace 'admin'


Description : 
Espace 'admin'.
Essayez de passer ce login.

Lien : http://www.newbiecontest.org/index.php?page=epreuve&no=75

Type de faille : Injection SQL

Explication :
Il faut bypasser l'authentification de ce formulaire, pour cela il est possible d'utiliser une injection SQL.
Ici le mot de passe doit être :  "   ' OR 1=1--    "

car la requête SQL qui sert à identifier un utilisateur est la suivante :
SELECT id FROM Membre WHERE login = '(nom)' AND password = '(mot de passe)';

Avec le mot de passe précédent on obtient ceci :
SELECT id FROM Membre WHERE login = 'login' AND password = '' OR 1=1 --';

Or dans la requête on vérifie si 1=1, ce qui est toujours vrai et -- indique le début d'un commentaire, ce qui masque la suite de la requête.



Hacking / HTTP Headers

Titre de l'épreuve : HTTP Headers


Explication :
Pour obtenir le mot de passe, il faut accéder à l'épreuve en venant du site de la maison blanche. (http://www.whitehouse.gov/). 
Il s'agit donc de faire croire à la page que l'on vient bien de cette adresse, pour cela nous allons utiliser une extension Firefox "Live HTTP Header" qui permet de modifier les headers très facilement.

Voici la requête HTTP qui sert à accéder à la page de l'épreuve :


GET /epreuves/hacking/verifhk7.php HTTP/1.1
Host: www.newbiecontest.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.23) Gecko/20110920 Firefox/3.6.23
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.newbiecontest.org/index.php?page=epreuve&no=74

Le referer correspond à la page à partir de laquelle vous êtes arrivé, pour cette épreuve, modifions sa valeur avec "http://www.whitehouse.gov/" et rechargeons la page.

Le contenu a changé, il nous est demandé d'arriver sur la page avec le bon navigateur "NCBrowser".
Il faut donc modifier la valeur du champ User-Agent des headers.


Hacking / Script d'identification des admins

Titre de l'épreuve : Script d'identification des admins

Description : 
Script d'identification des admins.
Vous devez devenir admin pour réussir ce challenge.

Type de faille : faille Cookie

Explication :
Il faut donc devenir administrateur pour voir la solution de cette épreuve. On peut remarquer que le site de newbiecontest a créé 3 cookies sur votre ordinateur :
  • PHPSESSID
  • SMFCookie89
  • admin
Le troisième cookie nous intéresse, car il a la valeur '0', il faut donc passer cette valeur à 1 pour devenir administrateur.
Pour cela vous pouvez utiliser l’extension "Add N Edit Cookies" sur Firefox qui permet de trouver et de modifier les cookies.


Hacking / Envoi d'email

Titre de l'épreuve : Envoi d'email

Description :
Formulaire d'envoi de mail.

Type de faille : Mauvaise sécurisation

Explication :
Si on regarde le code source du formulaire d'envoi d'email, on remarque la ligne suivante :
"<input type="hidden" name="exped" value="admin@newbiecontest.com">"


Il est alors possible de modifier ce champ caché pour envoyer des emails à n'importe qui à partir du serveur du site.



Hacking / Upload I

Titre de l'épreuve : Upload I

Description :
Script d'upload

Type de faille : Faille Upload

Explication :
Le script d'upload ne vérifie pas si l'extention du fichier est autorisé, il est alors possible d'envoyer un programme php qui va permettre de d'avoir accès à l'ensemble des fichiers présents sur le serveur.



Hacking / Une faille des plus connues...

Titre de l'épreuve : Une faille des plus connues

Description : 
Une faille des plus connues... (certainement une injection)

Type de faille : Faille XSS

Explication :
Avec une absence ou une mauvaise protection des variables d’exécuter du code javascript non désiré sur une page, afin entre autre de récupérer les cookies administrateurs pour prendre le contrôle d'un site web.

Pour vérifier si un site est vulnérable à une faille XSS, il suffit de passer du code dans une variable, dans notre exemple :
"url=<script>alert('hello world'); </script>".



Hacking / Galerie d'images


Titre de l'épreuve : Galerie d'images

Description :
Une petite galerie d'image dynamique.

Type de faille : Faille include

Explication :
Les images de la page sont chargées à partir du dossier "images" comme décrit dans l'url de la page :
"http://www.newbiecontest.org/epreuves/hacking/ep12/browser.php?directory=images"

On peut modifier ce qui est donné en paramètre à la variable directory.
En mettant directory=. , on affiche les fichiers et dossiers présents dans le répertoire courant (Sous linux le point désigne le répertoire courant, deux points le répertoire précédent).

On voit un fichier "log.txt" sur la page du site, et en cliquant dessus s'affiche la réponse de l'épreuve :




Hacking / News en construction

Titre de l'épreuve : News en contruction

Description :
Système de news en construction.
Voyez ce que vous pouvez exploiter...

Lien : http://www.newbiecontest.org/index.php?page=epreuve&no=70

Type de faille : Faille URL

Explication :
Il est possible de modifier les paramètres passés dans l'url d'une page.
Dans ce cas, pour devenir admin, on peut changer dans l'url admin=false en admin=true