Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Сценарии/CMF/СMS (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   Исследование ошибки в SquirrelMail (https://forum.antichat.xyz/showthread.php?t=126893)

IgAlex 25.06.2009 16:20

Исследование ошибки в SquirrelMail
 
Добрый день.
Во время просмотра NVD, нашел уязвимость на SquirrelMail.
ссылка на уязвимость
Решил провести небольшое исследование и посмотреть причину присвоения ей рейтинга 6.8
В описании сказано что атакующий может выполнять произвольные команды через оболочку metacharacters в строке имени пользователя.
Поставил себе SquirrelMail 4.10 на виртуалку. Полез посмотреть функцию map_yp_alias в скрипте functions/imap_general.php
Код:

/**
 * This is an example that gets IMAP servers from yellowpages (NIS).
 * you can simple put map:map_yp_alias in your $imap_server_address
 * in config.php use your own function instead map_yp_alias to map your
 * LDAP whatever way to find the users IMAP server.
 */
function map_yp_alias($username) {
  $yp = `ypmatch $username aliases`;
  return chop(substr($yp, strlen($username)+1));
}

В чём ошибка понятно. Но как через неё можно выполнять команды?
Попробовал найти место где вызывается функция, не нашел. Так же не бывает что бы функция была описана, но не использовалась.
Просьба объяснить подробнее, как может быть реализована атака через эту ошибку. Потому как не понятно почему Exploitability Subscore выставлен 8.6

Qwazar 25.06.2009 16:27

Символ ` = shell_exec()

http://ru.php.net/manual/ru/language.operators.execution.php

ShAnKaR 25.06.2009 19:30

Цитата:

you can simple put map:map_yp_alias in your $imap_server_address
* in config.php
а она мб не напрямую вызывается а какимнить call_user_func

.Slip 25.06.2009 20:59

>> Но как через неё можно выполнять команды?
Слепое выполнение по крайней мере уже есть, вывод не обязателен, т.к. при присваивании $yp = `ypmatch $username aliases`; , код уже выполняется.


Время: 03:56