Robis Posted April 3, 2004 Report Share Posted April 3, 2004 Sveiki! Man ir nopietns jautājums, kas sasaucās ar lapas drošību! Tātad: Ja es izmantoju sesijas mainīgos $_SESSION['id'] piemēram, kuros tiek ierakstītas vērtības, kad tiek nospiests submit un lauciņu vērtības ir pareizās tad ja es pēc tam čekoju index.php lapu un rādu Ierobežotās pieejas saturu, pārbaudot vai ir uzstādīts tāds $_SESSION['id'] mainīgais ar īsto vērtību, Vai nav iespējams, ka laikā, kamēr operators darbojas uz viena datora Ierobežotās pieejas saturā, tikām kāda nepiederoša persona no cita datora (vienalga vai tas pats vai cits ip) atver to pašu lapu un kā pa brīnumu tiek klāt Ierobežotās pieejas saturam??? Vai tā var būt??? Ja var, tad kā to novērst??? Link to comment Share on other sites More sharing options...
Aleksejs Posted April 3, 2004 Report Share Posted April 3, 2004 (edited) Jā, ir iespējams. Piemēram kaut vai tādā veidā, ka atrodoties vienā tīkla segmentā, ir iespējams redzēt pilnīgi visu segmenta trafiku - tas nozīmē, ka, ja kanāls nav šifrēts, negatīvais tēls var redzēt visu, kas bija jāredz tikai pozitīvajam tēlam. Nākošais (par šo gan neesmu 100% pārliecināts) - serveris nosaka to, kurai sesijai pieder konkrētais http pieprasījums nolasot klienta cookie (vai URL) uzstādīto sesijas id. Tātad, iespējams, ja negatīvais tēls spēj kaut kādā veidā uzzināt pozitīvā tēla cepumiņu (piemēram, pieslēdzoties caur lokālo tīklu pozitīvā tēla datoram un atrodot temporary failos vajadzīgo cepumiņu), tad viņš spēj arī izlikties par pozitīvo tēlu un iegūt slepenos datus. 100% neesmu pārliecināts, vai negatīvais tēls varēs to pielietot no citas IP adreses, tomēr uzstājīgs negatīvais tēls varētu arī pacensties un izmantojot metodes, kuras ir "out of scope of this conversation" panākt, lai viņa pieprasījumi izskatītos serverim kā no pozitīvā tēla IP. Riska samazināšanas metodes: Izmantot SSL (labāk SSL nevis izdomāt savas metodes, jo noteikti tajās būs daudz caurumu); Sesiju piesaistīt pie visa, ko vien var izmantot piesaistīšanai un pārtraukt tikko pamanītas kādas izmaiņas. Papildinājums: Ierakstot Googlē šādus netriviālus ;) vārdus: php session security var atrast daudzus rakstus par šo problēmu. http://www.webkreator.com/php/configuratio...n-security.html Viena no lielākajām problēmām, kuru nebiju pamanījis ir fakts, ka uz visādiem free-hosting serveriem visbiežāk sesiju dati tiek glabāti vienā un tajā pašā vietā un netiek nekādā veidā aizsargāti savā starpā starp lietotājiem- tādēļ negatīvais tēls potenciāli varētu nolasīt sesijas id no turienes. Vēl viena metode, kā samazināt risku, ir izveidot drošākas sesijas datu izveides, pārbaudes, iznīcināšanas funkcijas, nekā tas ir by default realizēts PHP. http://lv.php.net/manual/en/function.sessi...ave-handler.php Vēl viens papildinājums: http://www.sitepoint.com/blog-post-view.php?id=156260 Konkrēti šis raksts: http://www.acros.si/papers/session_fixation.pdf Ja lapa, kurā tiek izmantotas sesijas, uzsāk sesiju jau pie lapas atvēršnas un izmanto šo pašu sesiju (sesijas numuru) arī pēc autentificēšanās procesa - negatīvais tēls var mēģināt piespiest pozitīvo tēlu ieiet ar negatīvajam tēlam jau iepriekš zināmu sesijas id. Sīkāk par to kā to var izdarīt - lasi rakstu. Lai to neļautu, obligāti pie autentificēšanās ir jānobeidz iepriekšējā sesija un jāizveido jauna. Edited April 3, 2004 by Aleksejs Link to comment Share on other sites More sharing options...
Recommended Posts