Регистрация
Вход через соцсети
Восстановление пароля

Потенциальная дыра в netcat?

Новый топик
28.06.2016, 15:17
Ответить | Цитировать
autocat

Зарегистрирован:
2015-04-12
Сообщений: 15

Потенциальная дыра в netcat?
файл netcat/admin/mailer.php
Код:
<?

// Parameters (GET): number (default: 20)

$NETCAT_FOLDER = join(strstr(__FILE__, "/") ? "/" : "\\", array_slice(preg_split("/[\/\\\]+/", __FILE__), 0, -3)).( strstr(__FILE__, "/") ? "/" : "\\" );
include_once ($NETCAT_FOLDER."vars.inc.php");
require_once ($ROOT_FOLDER."connect_io.php");
require_once ($INCLUDE_FOLDER."lib/Mail/Queue.php");

$number = $_GET['number'] ? $_GET['number'] : 20;

$db_options = array('type' => 'ezsql', 'mail_table' => 'Mail_Queue');
$mail_options = array('driver' => 'mail');

$mail_queue = new Mail_Queue($db_options, $mail_options);
$mail_queue->sendMailsInQueue($number);
?>


Передача парметра идет в эту функцию:
Код:

function sendMailsInQueue($limit = MAILQUEUE_ALL, $offset = MAILQUEUE_START,
$try = MAILQUEUE_TRY)
{
$this->container->setOption($limit, $offset, $try);
while ($mail = $this->get()) {
$this->container->countSend($mail);

$result = $this->sendMail($mail);

if (!PEAR::isError($result)) {
$this->container->setAsSent($mail);
if($mail->isDeleteAfterSend()) {
$this->deleteMail($mail->getId());
}
} else {
PEAR::raiseError(
'Error in sending mail: '.$result->getMessage(),
MAILQUEUE_ERROR_CANNOT_SEND_MAIL, PEAR_ERROR_TRIGGER,
E_USER_NOTICE);
}
}
return true;
}
03.07.2016, 16:46
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Вы имеете в виду, что злоумышленник может раньше расписания разослать письма в очереди или отправить их слишком много чтобы сайт-жертва попал в спамлисты?
В общем-то, действительно, нехорошо, можно насолить. Передам разработчикам.

198 196 2016-07-03 16:46:58 14556
Описание проекта