Jump to content
php.lv forumi

Problēma ar gadījumskaitļu ģeneratoru PHP


Aleksejs

Recommended Posts

Atklāti trūkumi PHP izmantotā gadījumskaiļu ģeneratora funkcijā - nepietiekams "gadījumskaitliskums".

http://www.h-online.com/security/news/item/PHP-blunders-with-random-numbers-967525.html

versijās 5.3.2 un 5.2.13

 

Sekas - vairāk vai mazāk praktiski pielietojamas metodes sesijas identifikatora uzminēšanā.

Link to comment
Share on other sites

tā nu gan nav nekāda problēma. sesijas validitātes pārbaudi vajag apvienot ar ip. tb ja pienāk requests ar uzminētu sesijas id, bet no citas ip, tad viņam atbild f*ck you

protams, ja izdodas uzmeistarot requestu, kuram jau pašā tcp/ip protokola headerī ir norādīta arī pareizā ip, tipa ar domu lai izpildītu kādu kaitniecisku darbību, piemēram, kko nodzēstu, tad tādas lietas risina, formā nosūtot līdzi hidden random key, kurai ir jāsakrīt ar sesijā pieglabāto key, lai šī darbība tiktu autorizēta

 

es ar to gribēju teikt, ka normālā web applikācijā drošību nebalsta uz vienu pašu sesijas id. un tie, kas normāli būs uzkodējuši savas lapas, tie it nemaz var neiespringt par to, vai kāds uzminēs viņu sesijas id, vai neuzminēs :D:D:D

 

tā ka relax Aleksej, viss ir kārtībā ;)

viltus trauksme :P

Edited by 2easy
Link to comment
Share on other sites

2easy - tā IR problēma un ja Tu to neredzi, tad ej un pastudē to, kādēļ RNG ir svarīgi. Un pie IP nepiesaista tādēl, ka routēšanas utt iemeslu dēļ eksistē klase ar lietotājiem, kuriem adrese mainās pārāk bieži, lai tā kļūtu par funkcionalitātes problēmu. Sesiju darbības pamatā, ja nav veikti īpaši drošības pasākumi, ir šī SIDa slepenība. punkts

Link to comment
Share on other sites

Un pie IP nepiesaista tādēl, ka routēšanas utt iemeslu dēļ eksistē klase ar lietotājiem, kuriem adrese mainās pārāk bieži, lai tā kļūtu par funkcionalitātes problēmu.

omg, tu gribi teikt, ka kādam ip mainās, kamēr viņš sērfo pa lapu??? tas jau ir extreme hardcore!!!

nē, nju ja tā ir, tad jau es arī kādu nevietā varu apsaukāt...

 

ohh, varbūt tu domā visādus tos tor/proxy userus? kas bezmaz katru requestu var taisīt pa citu ceļu caur citu izejošo pc?

tas jau vsp ir kkāds bezpreģels...

 

anyway es šādiem useriem tomēr laipni palūgtu nemainīt savu ip adresi 100x kamēr viņi uzturās lapā, vai arī f*ck off

tas tikai viņu pašu drošības labā. nothing personal :D

Edited by 2easy
Link to comment
Share on other sites

2easy, jā, tā ir.

Latvijā tas nav tik dikti izplatīti, bet visādi AOL, google web accelerator (nezinu vai tāds vēl eksistē) un citi brīnumi šādus jokus rada - viens requests no vienas ip, cits jau no citas.

 

P.S. liela daļa no šiem cilvēkiem vienkārši tev 10x dienā uzdos stulbus jautājumus, kāpēc pie katra requesta man prasa ielogoties... un to es saku pēc pieredzes :)

Link to comment
Share on other sites

ok, paldies, ņemšu vērā

 

anyway, ja kāds tgd jūtas apdraudēts un nevar aizmigt, es ieteiktu blakus php sesijas id izveidot vēl arī savu super mega random sesijas id un nosūtīt to līdzi gan kā cookie, gan arī pieglabāt sesijā (lai būtu ar ko vēlāk salīdzināt). tādējādi viss notiek līdzīgi kā iepriekš, tikai tā vietā lai salīdzinātu ip ar sesijā pieglabāto ip (ip kas bija userim sesijas sākumā), tagad ir jāsalīdzina tas cookie sesijas id ar sesijā pieglabāto id

Edited by 2easy
Link to comment
Share on other sites

Latvijā tas nav tik dikti izplatīti, bet visādi AOL, google web accelerator (nezinu vai tāds vēl eksistē) un citi brīnumi šādus jokus rada - viens requests no vienas ip, cits jau no citas.

Latvijā mobilajos tīklos nu jau regulāri tas ir.

Agrāk bija jēga čekot IP jūzerim un identificēt, tagad faktiski nav.

Mobilajiem operātoriem tas diapazons ir neliels, pareizāk uz visiem pirkstiem skaitāms, taču to IP piešķir vairākiem vienlaikus pārlūkojot internetu no mobilā. Tas tā, ja kāds nezin.

Link to comment
Share on other sites

es ieteiktu blakus php sesijas id izveidot vēl arī savu super mega random sesijas id un nosūtīt to līdzi gan kā cookie, gan arī pieglabāt sesijā (lai būtu ar ko vēlāk salīdzināt).

Gandrīz vai pilnīgi precīzi esi aprakstījis to... kā jau šobrīd darbojas sesijas ;) Problēma ir tieši tajā, ka savu "super mega random sesijas id" visdrīzāk nāksies ģenerēt ar tieši to pašu funkciju, par kuru ir mans brīdinājums.

Pat tad, ja iegūto sesiju nevar izmantot pa taisno uzbrucējs, viņam tomēr jau ir priekšrocības.

Reālistiski runājot, protams, standarta aplikācijai pirms šīs ir vēl kilograms citu drošības problēmu, taču ar RNG jokot nedrīkst.

Link to comment
Share on other sites

Visjautrāk tomēr, manuprāt, bija tiem, kam visādi Verisign/Thawte/utt parakstītie dārgie sertifikāti bija jāpārģenerē un vēlreiz jādabū parakstīti, jārewoko vecie (lieta, ko standarta lietotājpārlūks reti kad pārbauda un kura ne visiem ir pareizi sakonfigurēta) utt ņemtne. (~;

Link to comment
Share on other sites

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.

Loading...
×
×
  • Create New...