Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: "INSERT INTO" кладет сервер
 
 автор: Loki   (22.03.2006 в 10:49)   письмо автору
 
 

Тут на одном хосте обнаружил интересную особенность:
если скрипту передать два слова "INSERT INTO" методом get или post, то до выполнения скрипта даже не доходит: сервер сразу ложится с ошибкой 500.
Админы недоуменно пожимают плечами... выдали мне php.ini для препарирования...
Собственно, что может влиять таким образом? Есть ли это что-то в php.ini или это находится в настройке (сборке) апача? То есть я понимаю что никто кроме меня этим феноменом заниматься не будет, поэтому придется им принести решение самому:(

   
 
 автор: XPraptor   (22.03.2006 в 11:03)   письмо автору
 
   для: Loki   (22.03.2006 в 10:49)
 

В каком контексте то передаешь? Какие нибудь свои переменные, которые в твоем коде используются или просто любая переменная которой присвоено INSERT INTO?

   
 
 автор: Loki   (22.03.2006 в 11:15)   письмо автору
 
   для: XPraptor   (22.03.2006 в 11:03)
 

абсолютно любая переменная. Даже та, которая в коде не используется.
просто пишешь http://server.ru/?test=INSERT%20INTO и сервер ложится.

   
 
 автор: Trianon   (22.03.2006 в 11:40)   письмо автору
 
   для: Loki   (22.03.2006 в 11:15)
 

Для любых файлов или только для PHP-шных?
Для image.gif?test=INSERT%20INTO тоже?

   
 
 автор: Loki   (22.03.2006 в 12:05)   письмо автору
 
   для: Trianon   (22.03.2006 в 11:40)
 

Для любых. Даже для несуществующих.
Сдается мне, что дело в настройках апача, так как phpmyadmin, который крутится под тем же php.ini, эту строку проглатывает нормально...
короче, дам уже ссылки. на пальцах коряво получается:
адрес сайта:
http://lokis.spb.ru/?test=insert%20into
адрес хоста
http://server1.serverxost.be/?test=INSERT%20INTO
адрес панели phpmyadmin:
http://server1.serverxost.be/phpmyadmin/?test=INSERT%20INTO

Как видно, из вышеприведенного не падает только phpmyadmin. Остается только понять, чем его настройки отличаются от всех остальных.
Хостер сказал что это мои проблемы... придется думать.

   
 
 автор: Trianon   (22.03.2006 в 12:11)   письмо автору
 
   для: Loki   (22.03.2006 в 12:05)
 

Надо глядеть .htaccess во всех каталогах. По-моему.
Ну и в htpd.conf до кучи, если в него дают заглянуть.

   
 
 автор: Loki   (22.03.2006 в 12:42)   письмо автору
 
   для: Trianon   (22.03.2006 в 12:11)
 

До этого я уже сам докумекал... надеялся, что кто-нибудь знает какие параметры могут за это отвечать...
Заглянуть-то не дадут, но может хоть сами посмотрят, если их достать...

   
 
 автор: XPraptor   (22.03.2006 в 16:02)   письмо автору
 
   для: Loki   (22.03.2006 в 12:42)
 

А что в логе ошибок написано по этому поводу? Как то странно это все. Не может такого быть и все тут.

   
 
 автор: XPraptor   (22.03.2006 в 16:04)   письмо автору
 
   для: XPraptor   (22.03.2006 в 16:02)
 

Стоп, у тебя часом ModRewrite не задействован?

   
 
 автор: spiner   (22.03.2006 в 16:15)   письмо автору
 
   для: XPraptor   (22.03.2006 в 16:04)
 

да это очень интересно. Т.к. защититься от sql инъекций можно именно mod_rewrite.
http://e-zine.excode.ru/online/1/sql_injection_mod_rewrite.html

   
 
 автор: Loki   (22.03.2006 в 16:20)   письмо автору
 
   для: XPraptor   (22.03.2006 в 16:04)
 

у меня никаких .htaccess не стоит. Похоже, что это где-то выше по ветви.
mod_rewrite, даже если бы он был, скорее всего ни при чем:это происходит и при передаче методом пост и методом гет. просто гетом проще показать.
До лога сейчас попытаюсь добраться.

   
 
 автор: XPraptor   (22.03.2006 в 16:25)   письмо автору
 
   для: Loki   (22.03.2006 в 16:20)
 

На счет modrewrite я уже понял свою ошибку. Если бы это только на твое сайте было, а ты привел несколько разных сайтов и сам хост прова - мод ни при чем.
Остается ждать твоих логов, там посмотрим что это за глюкен такой хитрый.
Кстати, я попробывал другие команды replace into, select from, update - никаких ошибок, только на insert into.
На insert int, inser into тоже ошибок нет, только на полную эту инструкцию.

   
 
 автор: Loki   (22.03.2006 в 16:58)   письмо автору
 
   для: XPraptor   (22.03.2006 в 16:25)
 

Так. Логи вот такие:

[Wed Mar 22 12:09:54 2006] [error] [client 84.204.ХХ.ХХ] mod_security: Access denied with code 500. Pattern match "insert[[:space:]]+into" at
THE_REQUEST. [hostname "lokis.spb.ru"] [uri "/?test=insert%20into"]
[Wed Mar 22 12:09:54 2006] [error] [client 84.204.ХХ.ХХ] File does not exist: /home/ххххх/lokis.spb.ru/public_html/500.shtml

   
 
 автор: Trianon   (22.03.2006 в 17:09)   письмо автору
 
   для: Loki   (22.03.2006 в 16:58)
 

Хостер из Бельгии чтоли?

   
 
 автор: Loki   (22.03.2006 в 17:11)   письмо автору
 
   для: Trianon   (22.03.2006 в 17:09)
 

Нет. Просто сейчас в домене be имена бесплатно раздают. А сервер в Норвегии, если не ошибаюсь.

   
 
 автор: Trianon   (22.03.2006 в 17:16)   письмо автору
 
   для: Loki   (22.03.2006 в 17:11)
 

Тоже не легче.
А в Норвегии раздают бесплатный хостинг?

   
 
 автор: Loki   (22.03.2006 в 17:26)   письмо автору
 
   для: Trianon   (22.03.2006 в 17:16)
 

как я понимаю схему, некто из россии арендует у норвежцев место на сервере и трафик и продает их в России. Так что хостнг-то платный. Просто я туда пролез нахаляву. Поэтому и прав требовать что-то у меня нет - только вопросы задавать.
Правда, один клиент у меня там хостится - можно от его имени поругаться. Но так как общение происходит через посредника, проще переехать со своим скриптом в другое место.

   
 
 автор: Trianon   (22.03.2006 в 16:28)   письмо автору
 
   для: Loki   (22.03.2006 в 16:20)
 

Какая гадкая штука. insert+into insert%09into insert%0D%0Ainto гробит. insert%08into пропускает.

   
 
 автор: XPraptor   (22.03.2006 в 17:05)   письмо автору
 
   для: Trianon   (22.03.2006 в 16:28)
 

Понятно. Короче: провы твои ламеры, защищаются каким то сторонним модулем от иньекций и дкмают что их никто не возьмет.
Данная процедура insert into в этом модуле запрещена (странно почему разрешена replace into) и он генерит липовую ошибку 500, и отсылает для ее описания на файл /home/ххххх/lokis.spb.ru/public_html/500.shtml который наверное по умолчанию прописан в этом чужом модуле, а они не нашли как настроить правильно весь код.
ИМХО другого варианта не вижу, почему доступ запрещен при попытке вызвать insert into как значение переменной, да и потом еще отправить тебя по несуществующему пути для описания ошибки.

   
 
 автор: JIEXA   (22.03.2006 в 19:05)   письмо автору
 
   для: XPraptor   (22.03.2006 в 17:05)
 

ага защищаются модулем mod_security....

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования