Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-rus] Apache 1.2.5



>       Hi!   :)
>
>
> On Thu, 8 Jan 1998, Felix A. Milovanov wrote:
>
> >   В 1.2.4-м Апаче обнаружили дырочку : при запросе
> > типа "GET ///////.../" ( много слэшиков ) сервер
> > сильно подвисал - поэтому вышла версия 1.2.5. Я
> Hmm...
> А сколько слешиков надо?
Сколько не жалко :) Чем больше -- тем лучше, но уж тысяч 10-20 нужно, чтобы
почувствовать эффект :) И одного запроса IMHO недостаточно ...

> Я пробовал более 1024. И сервер выдавал index.html
>
Естественно :) Если уж он что-то выдал, так это будет index.html ...

> Использую Linux. Debian-1.2 (libc-5.4.13)
> Работает apache-1.2.4rusPL20.7
>
А в Debian'овский apache 1.2.4 точно не входит патч против этого явления?
В apache 1.2.4-5 (вышедший в качестве update к RedHat 5.0) был вставлен patch
против этого, хотя, честно говоря дело еще и в в том, что уважаемый Felix
A. Milovanov немного перегнул палку. Строго говоря это не "дырка" в обычном
смысле слова. Просто время обработки запросов вышеприведенного типа было
пропорчионально не длине URL'а, а *квадрату* длины URL'я. То есть несколько
запросов вышеприведенного вида могли отослать сервер в обработку этих запросов
на годы :)

Sorry for offtopic. Кстати в subj'е исправлена еще какая-то ошибка, которая
позволяла локальным пользователям получить права пользователя, под которым
работает httpd (обычно это nobody, так что это не бог весть какая проблема,
но все-таки).

Чтобы не быть голословным привожу RedHat'овский patch (он вошел в subj):


>From marcs@znep.com Tue Dec 30 16:04:12 1997
Date: Tue, 30 Dec 1997 13:30:56 -0700
From: Marc Slemko <marcs@znep.com>
To: BUGTRAQ@NETSPACE.ORG
Subject: Re: Apache DoS attack?

On Tue, 30 Dec 1997, Marc Slemko wrote:

[...]

> Please see the patch Dean Gaudet has posted to bugtraq for the solution.

Since people are telling me that Dean's post has not made it yet and
asking for the patch, and I don't see it here yet, I am reposting his
patch for 1.2.  A similar thing applies to 1.3.

This patch has been applied to the Apache CVS tree and will be available
in a new release at some point in the reasonably near future.

Index: src/util.c
===================================================================
RCS file: /export/home/cvs/apache/src/util.c,v
retrieving revision 1.52.2.2
diff -u -r1.52.2.2 util.c
--- util.c      1997/06/27 01:47:47     1.52.2.2
+++ util.c      1997/12/30 18:09:15
@@ -328,14 +328,22 @@
     }
 }

-void no2slash(char *name) {
-    register int x,y;
+void no2slash(char *name)
+{
+    char *d, *s;

-    for(x=0; name[x];)
-        if(x && (name[x-1] == '/') && (name[x] == '/'))
-            for(y=x+1;name[y-1];y++)
-                name[y-1] = name[y];
-       else x++;
+    s = d = name;
+    while (*s) {
+        if ((*d++ = *s) == '/') {
+            do {
+                ++s;
+            } while (*s == '/');
+        }
+        else {
+            ++s;
+        }
+    }
+    *d = '\0';
 }

 char *make_dirstr(pool *p, const char *s, int n) {









Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.