У меня много попыток на моем (маленьком, личном и абсолютно неважном) веб-сервере, и apache и fail2ban обычно делают свою работу правильно. Но есть запись в журнале, которая беспокоит меня:
xx.yy.www.zzz - - [9/Jul/2011:12:42:15 +0100] "GET http://allrequestsallowed.com/?PHPSESSID=5gh6ncjh00043YVMWTW_B%5CFAP HTTP/1.1" 200 432 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12"
Проблема в том, что ответом был не код 404, а 200. Все хорошо? Мне кажется странным, но мои знания в этой области (и многих других), мягко говоря, ограничены.
curl -v http://allrequestsallowed.com/?PHPSESSID=5gh6ncjh00043YVMWTW_B%5CFAP -x www.example.com:80
. Кажется, что конфигурация по умолчанию возвращает страницу "Welcome to nginx" без содержательного содержимого в нашей системе Ubuntu. Таким образом, это ответ 200, но это простая всеобъемлющая страница - на самом деле мы не передаем запрос в другом месте или что-то в этом роде.Ответы:
Во-первых, я не знаю, что пытается совершить предполагаемый злоумышленник. Может быть, есть сценарий PHP или версия PHP, уязвимая для какой-то странной атаки ID сессии, я не знаю. Вам, вероятно, не о чем беспокоиться.
Ваш сервер вел себя точно так, как ожидалось. 200 - ожидаемый код в данной конкретной ситуации из-за того, как Apache интерпретирует передаваемый ему URL.
Во-первых,
http://allrequestsallowed.com
обрабатывается как более обычный заголовок «Host:» (обратите внимание, что я не думаю, что это указано в RFC, и другие серверы могут не интерпретировать это так, какя ошибался, это указано в RFC 2616 в разделе 5.1. 2, хотя клиенты, кажется, редко используют эту форму. Извините, мне нужно исправить реализацию сервера HTTP, которую я написал некоторое время назад ...).Теперь, по-видимому, у вас нет сайта с именем «allrequestsallowed.com». Так что же происходит, когда Apache получает
Host:
заголовок (или эквивалент) для имени хоста, которое он не распознает? Первый виртуальный хост выбирается по умолчанию. Это хорошо определенное и задокументированное поведение для Apache. Таким образом, какой бы ни был ваш первый виртуальный хост (или просто конфигурация основного сервера, если нет никаких vhosts), все равно, независимо от того, как он называется.Теперь оставшаяся часть URL состоит из двух частей - пути
/
и параметра GET (?PHPSESSID...
бит).Теперь путь
/
должен присутствовать практически на каждом веб-сервере. В большинстве случаев он сопоставляется с чем-то вродеindex.html
или, возможно,index.php
сценарием, хотя вы, конечно, можете переопределить все это.Если он отображается в статический HTML-файл, абсолютно ничего необычного не происходит - возвращается содержимое файла, и все, параметр просто игнорируется. (Предполагая, что у вас нет определенных расширенных директив конфигурации, и вы почти наверняка этого не сделаете.)
С другой стороны, если это какой-то скрипт, эта
PHPSESSID
переменная будет передана в скрипт. Если сценарий фактически использует эту переменную (в данном конкретном случае, вероятно, только сценарии PHP, использующие встроенную обработку сеансов PHP), его поведение будет зависеть от содержимого.Однако, по всей вероятности, даже если вам
/
случится сопоставить скрипт PHP с использованием сессий, ничего удивительного не произойдет. Идентификатор сеанса, вероятно, в любом случае не будет существовать и будет либо проигнорирован, либо скрипт выдаст ошибку.В маловероятном случае, когда идентификатор сеанса существует, злоумышленник может предположительно захватить чужой сеанс. Это было бы плохо, но это на самом деле не дыра в безопасности - дыра была бы там, где злоумышленник получил информацию об идентификаторе сеанса (прослушивание беспроводной сети - хороший кандидат, если вы не используете HTTPS). На самом деле они не смогут сделать ничего, чего не смог бы сделать пользователь, для которого он изначально был сеансом.
Изменить: Кроме того, «% 5C» внутри SESSIONID отображается на символ обратной косой черты. Похоже, что это тест для атак через каталоги на хостах Windows.
источник
nginx
илиlighttpd
, и после отправки IP-адресов / исходных хостов в фирму кибер-анализа было подтверждено, что это были попытки использовать дыры в сервере среди прочего , Запросы, аналогичные тем, которые были заданы OP, для разных хостов. Вы говорите, что они должны быть полностью проигнорированы? Потому что, если они действительно обеспокоены, они могут заблокировать хост (ы) вiptables
.Я получил разрешение на все запросы на ip, который используется как запись A для всех наших парковочных доменов.
Мой выстрел в том, что это имя хоста используется в сочетании с локальным файлом хоста «злоумышленника», указывающим на целевой хост.
Фактический веб-сервер 31.44.184.250 предназначен только для обработки внешних запросов.
Мое мнение: полное безвредность. Не вижу никакой пользы от этого, кроме вещей, которые вы можете сделать с любым другим поддельным доменным именем в вашем хост-файле.
источник