ermek6
@ermek6
::Живу с удовольствием::

[Apache ошика AH00126. Invalid URI in request GET / HTTP/1.1] Как найти причину?

Всем добрый день!
Преамбула
У меня тут есть сайтик на домашнем сервере, который смотрит в интернет (сам сервер за роутером, на котором настрое проброс портов)

На сервере установлена ОС Ubunu Server.
Поднят LAMP сервер
На сервере крутится два виртуальных хоста.
Их параметры из .conf файлов
<VirtualHost *:80>
    ServerName xxxxxx.xx
    DocumentRoot /var/www/xxxxxx.xx/public_html
    <Directory /var/www/xxxxxx.xx/public_html>
        AllowOverride All
    </Directory>
<VirtualHost>


Писал тут скриптик, который шарил ФС и выдавал пользователю либо список каталога, либо header для загрузки файла.

Фабула
Читал тут про уязвимости сайтов и наткнулся на возможность обзирать ВСЮ фс, добавлением строк тип "../" в запрос.

Разумеется, решил проверить на своем скрипте.
Разумеется скрипт подвержен этой уязвимости.
Решил переписать скрипт, а пока это решал играл с адресной строкой. Добавлял в параметр запроса упомянутую выше комбинацию. Причем не парился с длинной и вставлял разные строки вида "../../../../../../../../../../" Скрипт выводил содержимое корня.
Я успокоился и пошел переписывать свой скрипт
Переписал, если интересно, полностью схему. Теперь при сканировании каталога проверяется наличие ссылки на файл в БД, если нет, то добавляется. В список пользователю передаются эти Ид файлов. При запросе файла по ид идет обратное сопоставление БД-Файл и выдается результат пользователю. Файл - заголовок на скачку, каталог - его содержимое


Скрипт переписывал на ноуте, и на нем все прекрасно тестировалось.
Когда разметил скрипт на свой сервер то увидел сообщение о ошибке 400 (Bad Request). В логе Apache такие строки:


[Thu Dec 03 15:44:01.944696 2015] [core:error] [pid 2001] [client 192.168.100.50:56566] AH00126: Invalid URI in request GET / HTTP/1.1
[Thu Dec 03 15:46:42.909538 2015] [core:error] [pid 2474] [client 192.168.100.50:56679] AH00126: Invalid URI in request GET /index.php HTTP/1.1
[Thu Dec 03 15:46:48.329383 2015] [core:error] [pid 2475] [client 192.168.100.50:56684] AH00126: Invalid URI in request GET /fs/ HTTP/1.1


т.е. на вполне законные запросы сервак отвечает ошибкой

Причем заблокировался только тот виртуальный хост, где я играл с адресной строкой. Что localshot, что второй виртуальный хост прекрасно себе работают.

Резюме
Как я понимаю, где то сработал какой то модуль безопасности.
Насколько я понимаю, moc_sucurety у меня не запущен т.к. я явно его не запускал, и в .config файлах никаких опций нету. Данный параметр искал через mc по маске файла .config (да и * тоже) на строку securety в папке /etc/apache2.

Подскажите пожалуйста, как реанимировать мне этот свой хост? Куда копать, и что смотреть?

Можно ли как то сбросить флаг этой ошибки?
  • Вопрос задан
  • 1834 просмотра
Решения вопроса 1
ermek6
@ermek6 Автор вопроса
::Живу с удовольствием::
Нашел решение
Причина была в следующем:
Все мои файлы лежат в подкаталоге /files
Для того, что бы не по дохли старые ссылки я в него положил вот такой вот файлик .htaccess:
RewriteEngine on
    RewriteRule ^(.*)$ ../inc.php?sd=/$1


Файл inc.php берет запрос и пересылает его куда нужно

Все хорошо, все работает.
Но, видимо по запарке скопировал этот файлик и в корень сайта.

Удалил, все заработало!!!

На решение натолкнуло вот это вот:
www.experts-exchange.com/questions/22832116/Invali...

ЦЕЛЫЙ ДЕНЬ ПОТЕРЯЛ НА ЭТИ ДВЕ СТРОЧКИ :(
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы