Bezpečnostní díra v PunBB

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Filip Procházka
Moderator | 4668
+
0
-

Toto fórum je možné hacknout – díky nízké entropii v PRNG je možné vyresetovat člověku heslo a uhodnout ho. Jak na to je popsáno v pěkné prezentaci.

(PS: Jak jste již snad uhodli, toto nepíše pravý Filip Procházka, ale hacker ;)

Filip Procházka
Moderator | 4668
+
0
-

Doporučuji všem, aby si změnili emaily, než vás @juzna všechny hackne :)

Tohle už píše pravý Filip Procházka ;)

pekelnik
Člen | 462
+
0
-

emaily :D

Filip Procházka
Moderator | 4668
+
0
-

Ten útok je založen na znalosti emailu… tak dlouho nechává zaslat nové heslo, až uhodne, jaké heslo mi forum zaslalo :) (zjednodušeně)

juzna.cz
Člen | 248
+
0
-

Je to trosku jinak, neni potreba dokola zasilat nove heslo. Jak je popsano ve zminene prezentaci, staci jednou nechat vygenerovat nahodne heslo a jsem ho schopen zjistit (ani hadat nemusim).

Zamozrejme vyse zminene je mozne za urcitych predpokladu. U nette fora dela zminene technice trosku problem to, ze bezi na Apache za nginx reverse proxy, coz obcas rozhodi jednotlive requesty „spatne“ mezi PHP procesy, a nedokazu tedy heslo uhodnout.

Proto jsem potreboval tusim 5 pokusu, nez nginx a apache komunikovali presne podle potreb.


A aby tedy bylo jasne, proc si hosiplan menil email: kdyz znam jeho email, muzu pozadat o zmenu hesla. Kdyz jej neznam, nemam moznost provest tento prvni krok.

Editoval juzna.cz (30. 11. 2012 12:46)

juzna.cz
Člen | 248
+
0
-

Btw ani s Nette\Utils\Strings::random() nejste v bezpeci – zde uz ale budu muset trosku hadat (proof of concept a opravu nachystam pres vikend)

ic
Člen | 430
+
0
-

Pěkný, ale u většina lidí to asi nebude stát za to… tolik snahy jen pro získání účtu, který tak maximálně píše do diskuse.

Nox
Člen | 378
+
+1
-

A co takhle dostání se do účtu zákazníků nebo admina na e-shopu, to už by mělo někomu stát za to, ne?

juzna.cz
Člen | 248
+
0
-

ic napsal(a):

tolik snahy …

Moc snahy potreba nebylo ;)

Jinak prozkoumal jsem podrobne netti Strings::random a prakticky to vubec lepsi neni