Jump to content
B7ackAnge7z

MySQL Injection Challenge [Authentication Bypass]

Recommended Posts

Posted (edited)

?inta: auth-c1

Rezolvare: https://rstforums.com/forum/63039-mysql-injection-challenge-authentication-bypass-2.rst#post444299

Nu ?tiu cât e de greu, a?a c? v? las pe voi s? decide?i. V? rog s? trimite?i r?spunsul în privat, iar eu voi actualiza postul în caz c? a?i trecut testul cu succes.

Date tehnice: tabelul e simplu, are doar 2 câmpuri: name cu o lungime maxim? de 15 caractere ?i, pass unde e p?strat rezultatul func?iei MD5 pentru parola utilizatorului.

Baft?!

Solvers:

Not?! Mai jos urmeaz? sugestiile pentru rezolvarea acestui challenge.

Iat? de ce, dac? dore?ti s? rezolvi testul folosind cuno?tin?ele proprii — opre?te-te din citit!


UPD1:

Deci, se d? auth-c2 asem?n?tor cu auth-c1, doar c? metoda de securizare e diferit?.

Pentru auth-c2 se folose?te func?ia mysqli_real_escape_string($link, $var)

UPD2:

A?a cum am spus, pentru auth-c1 este folosit? alt? metod? de securizarea, fiind utilizat? func?ia preg_replace('#[^\w]#', '', $var)

Edited by B7ackAnge7z
UPD3
Posted

Buuuun — au fost câ?iva mai îndr?zne?i, dar din p?cate niciunul nu a reu?it s? rezolve acest challenge. Nici nu mai vorbesc despre domnii ce folosesc Acunetix’u ?i alte mega-tool-uri crezând c? un challenge creat manual, poate fi rezolvat într-un mod automat.

Deci, al treilea update îl las în comentarii pentru a atrage din nou aten?ia tuturor asupra acestui challenge. Sper c? ?ti?i ceva MySQL, pu?in? Englez? ?i v? place s? citi?i printre rânduri. Baft?!

Posted
Nu da noi indicii. Vreau s? v?d dac? pot s?-i fac ?i eu ceva. Mersi.

Baft? ;)

Vreau doar s? atrag aten?ia, c? trebuie s?-mi trimite?i rezolvarea la auth-c1. Cel de-al doilea, auth-c2, e prea simplu ca s? fie acceptat (îns?, cred c? ar fi bine s? începe?i cu acesta).

ps. Dac? nu rezolv? nimeni (sau dac? nu intervine nimic/nimeni), peste câteva zile voi ad?uga ?i întregul MySQL query.

Posted

M? las b?tut.

Probabil e ceva encoding / vulnerabilitate la nivel de func?ie, dar n-oi testa tot. N-am intrat pe server la tine, ci doar am încercat pe local, pentru c? întotdeauna asta ajut? la cât mai pu?ine loguri.

Deci... ceva nout??i sau explici direct?

Posted
deci degeaba folosesc LIKE.

Dar dac? nu m-am referit la faptul c? trebuie s? folosi?i LIKE? Poate acest „verb” este folosit deja de c?tre aplica?ie? :)

Totu?i, încearc? s? treci de auth-2, c?ci e mult mai u?or.

Posted (edited)

auth-c1

c0ngratz

You have logged in successfully

Foarte interesant. Ai zis c? 2 e mai lejer. Poate-l voi încerca ?i pe el în cele din urm?, de?i lenea e mare.

Amuzant. ?i la 2 merge acela?i lucru, deci acelea?i tabele.

c0ngratz

You have logged in successfully

Edited by tromfil
  • Upvote 1
Posted

Deci doamnelor ?i domnilor,

v? prezint persoana ce reu?it s? rezolve acest challenge — tromfil.

M? bucur nespus. Jos p?l?ria.

Foarte interesant. Ai zis c? 2 e mai lejer. Poate-l voi încerca ?i pe el în cele din urm?, de?i lenea e mare.

Yep-yep-yupiiii! Bravo! >:D<

Vezi ?i auth-2 — o s?-?i plac?.

Posted

Am editat. ?i la 2 e la fel.

ps: N-am vrut s?-?i las prea multe loguri. Sunt doar 2 IP-uri, niciunul personal. Nu de alta, dar mi-e c? n-ai loc din cauza celor cu Acunetix, Havij etc. :))

Requesturi c?tre server: Aproximativ 30 de toate. Ca idee: Tot timpul încerca?i s? reface?i mediul în care dori?i s? intra?i ?i apoi accesa?i direct.

Posted
Am editat. ?i la 2 e la fel.

Da, sunt exact ambele scripturi acceseaz? aceea?i baz? de date. Doar c? la 2 e mult mai simplu.

Nu de alta, dar mi-e c? n-ai loc din cauza celor cu Acunetix, Havij etc. :))

Da-da :D Au mai fost ?i persoane care au b?gat sintaxe XSS ?i LFI.

Ca idee: Tot timpul încerca?i s? reface?i mediul în care dori?i s? intra?i ?i apoi accesa?i direct.

Foarte corect, îns? nu tot timpul e posibil a?a ceva

Posted

Rezolvarea acestui challenge:

MySQL query pentru ambele teste:

"SELECT * FROM users WHERE name LIKE '{$name}' and pass LIKE '{$pass}'";

Chiar dac? pentru auth-c1 func?ia preg_replace() elimin? majoritatea caracterelor ce pot fi folosite la un SQL injection, ne r?mâne caracterul „_” care pentru operatorul LIKE nu este decât „orice caracter”. Acum, ?tiind c? avem un câmp de maxim 15 caractere pentru „username” ?i 32 (hash-ul MD5) pentru „password”, putem trece testul foarte u?or. Cu un simplu brute-force pentru „username” folosind _ __ ___ etc. ?i 32 sublinii pentru „password” trecem de autorizare f?r? a ?ti parola ?i numele utilizatorului:

username : _______
password : ________________________________

Pentru auth-c2 e ?i mai simplu — folosim caracterul „%” f?r? a ne gândi la lungimea numelui de utilizator sau a hash-ului MD5 (pentru ne?tiutori — „%” reprezint? orice secven?? de caractere). Deci:

username : %
password : %

ps. Scuze pentru întârziere ?i eventualele gre?eli.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...