Outils d'utilisateurs

Outils du Site


29c3:web:regexdb

Table des matières

regexdb

Overview

Ever played Googlewhack? Well, this is a bit easier and gives you more power, enjoy.

Solution

Googlewhack est un jeu qui consiste a rechercher 2 mots en utilisant Google (sans les guillemets) pour n'obtenir qu'un seul resultat.

L'epreuve consiste en une page web avec un champ de saisie texte et un bouton “submit query”. L'epreuve s'appelant regexdb on va essayer avec des regex. Apres submission, le resultat de la requete est affichee sous la forme: Results: x avec x le nombre de donnees qui ont le bon format. S'il n'y a qu'un resultat, celui-ci est affiche

On commence par /.*/ pour trouver le nombre total de donnees et on obtient 18. Ensuite on va bruteforcer pour trouver la longueur des cles en utilisant un script tant qu'on n'a pas les 18 resultats en utilisant une regex de la forme /^.{i}$/. On obtient les resultats suivants

/^.{0}$/-> 
/^.{5}$/ -> 29C3_
/^.{9}$/ -> Key: None
/^.{10}$/ -> 2 res        
/^.{12}$/ -> Hello World!
/^.{13}$/ -> 29C3_NoBadOne
/^.{16}$/ -> 29C3_____NO_____
/^.{17}$/ -> 2 res               
/^.{18}$/ -> 29C3_ImSimplyWrong
/^.{23}$/ -> 23 23 23 23 23 23 23 23
/^.{24}$/ -> This one is unrelated...
/^.{32}$/ -> 29C3_AnotherOneWhichIsWrong
/^.{37}$/ -> 29C3_NotAKey <- this one is not a key
/^.{40}$/ -> 2 res
/^.{42}$/ -> 42 42 42 42 42 42 42 42 42 42 42 42 42 42 

Il faut donc continuer en regardant de plus pres les requetes qui retournent plus de un resultat (ici 2). Pour cela, connaissant la longeur de la key, on va bruteforcer chaque charactere pour n'obtenir qu'un resulat. Pour obtenir le deuxieme, il suffit “d'inverser” la requete. Par example si la key commence par a, on va faire une requete avec ^a (ie ne commence pas par a).

On obtient ensuite pour

10: 29C3_Wrong        Key: 29C3_
17: K3y: 29C3_AlsoBad          Wrong: 29C3_Wrong

Et pour 40 (pour le bruteforce des characteres, il faut faire attention a bien escaper les characteres speciaux avec le backslash (\. etc)

On obtient la key (qui apparait aussi 2 fois) 29C3_Well.This/Is#Not+The|Wrong?Key

29c3/web/regexdb.txt · Dernière modification: 2017/04/09 15:33 (modification externe)