1zi-hacking joomla crea conturi la stânga și să ridice privilegii

Cum a început totul

După aceea Kamin-out pentru a conecta numeroși dezvoltatori de partid mici persoană interesată - începe să vă relaxați și să se pregătească sploitov uyazvimost.







Ei bine, cu o istorie de peste, perexodim la cele mai interesante - parsare vulnerabilitate. Ca versiune podopytnoy am instalat Joomla 3.6.3, astfel încât toate numerele de linie vor fi relevante în mod special pentru această versiune. Și tot drumul la fișierele, kotorye veți vedea mai jos, va fi în raport cu rădăcina CMS instalat.

Descoperirea Blagodarya Demis Palma, noi știm că există două metode care efectuează sistemul regictratsiyu utilizator. În primul rând utilizate în CMS și este /components/com_users/controllers/registration.php:108 fișier. Cea de a doua (cea pe care o vom comoara și aveți nevoie pentru a apela), trăiește în /components/com_users/controllers/user.php:293. Să ne uităm la ea mai aproape.

Aici am lăsat linii doar interesante. Versiunea completă a metodei vulnerabile pot fi găsite în Joomla depozit.

1zi-hacking joomla crea conturi la stânga și să ridice privilegii
Setarea responsabil pentru a permite utilizatorului de înregistrare

solicitări legitime de taxe cu privire la înregistrarea de utilizator arată următoarea captură de ecran.

1zi-hacking joomla crea conturi la stânga și să ridice privilegii







Pentru lucrul cu polzovatelyu responsabil componenta com_users. Să acorde o atenție la parametrul de activitate în cererea de taxe. Are $ format controler. $ Method. Uită-te la structura de fișiere.

1zi-hacking joomla crea conturi la stânga și să ridice privilegii
controloare componente Structura com_users

nume de script în controlere Nume director sootvetstvuyut conjures controlere. Din moment ce această cerere este acum $ controler = „Înregistrare“. acesta va fi numit fișier registration.php și registru metoda ().

Atenție la întrebarea: cum să transfere obrabotku vulnerabilitate de înregistrare în codul? Probabil deja ghicit. Imena metode vulnerabile și actuale sunt aceleași (înregistrare), așa că avem nevoie doar de numele numit controler pomenyat. Și unde suntem vulnerabili controler? Asta-i drept, în dosarul user.php. Poluchaetsya $ controler = "utilizator". Noi totul punerea împreună și pentru a obține sarcina = user.register. Acum obpabatyvaetsya necesară cererea de înregistrare de către noi.

1zi-hacking joomla crea conturi la stânga și să ridice privilegii
Prins într-o klassa UsersControllerUser metodă vulnerabilă

Al doilea lucru pe care trebuie să facem - este de a trimite datele în formatul corect. Apoi simplu Vce. registru legitim () se așteaptă de la noi o matrice numită jform. în koto.pom vom trece datele de înregistrare - (. a se vedea captura de ecran pentru a adresa o cerere), nume de utilizator, parola de e-mail.

episcopia noastră primește datele dintr-un fișier cu utilizatorul nume.

Prin urmare, modificarea în numele tuturor parametrilor de interogare jfrom pe utilizator.

Al treilea pas vom lua - asta e valabil un jeton nahozhdenie CSRF, din moment ce nici o înregistrare nu va fi fără ea.

Iată cum arată în registrul metoda „de lucru“ () de la controler UsersControllerRegistration:

Și astfel vulnerabile:

Pentru a înțelege al doilea mult mai gravă problemă bolee,, trimite-ne o cerere pentru cheltuieli generate și examina modul în care el a efectuat în diferite părți ale codului. Iată o piesă, iar excentricitatea este responsabil pentru verificarea datelor transmise de către utilizator în metoda de operare:

Articolul Continuare este disponibil numai abonaților

Opțiunea 2: Cumpără un singur articol