Чем опасен register globals=on

12
Unlock
На сайте с 01.08.2004
Offline
786
1913

Везде пишут что сабж должен быть отключен в настройках PHP, а в чем конкретно проблема хотелось бы понять. Есть скрипт которые не работает при register globals=off и прежде чем его устанавливать, хотелось бы понять насколько это безопасно и можно ли это проверить?

P.S. Люди, извините, не правильно я поисковики заюзал сначала, сейчас нашел много ссылок на подобную тему. Так что вроде уже не актуально, хотя буду признателен за любые точки зрения.

Есть желание, - тысяча способов; нет желания, - тысяча поводов! /Петр-I/.
N
На сайте с 27.03.2006
Offline
67
#1

При разработке достаточно сложных проектов, когда число используемых переменных велико, очень легко можно допустить использование неинициализированной переменной, которая при register_globals=On может быть передана скрипту извне злобным хацкером.

Пример, можно сказать из жизни: http://www.securitylab.ru/vulnerability/273538.php

С уважением, Сергей Тарасенко.
Unlock
На сайте с 01.08.2004
Offline
786
#2

Почитал немного на эту тему и вроде как получается не так страшен register globals=on как кривой скрипт? :) Т.е. если скрипт писал грамотный программист, то проблем быть не должно?

Shtogrin
На сайте с 02.11.2006
Offline
95
#3

Unlock, в общем вы правы. Можете еще здесь прочитать

http://www.php.net/manual/ru/security.globals.php

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
N
На сайте с 27.03.2006
Offline
67
#4
Unlock:
Почитал немного на эту тему и вроде как получается не так страшен register globals=on как кривой скрипт? :) Т.е. если скрипт писал грамотный программист, то проблем быть не должно?

Совершенно верно :)

[Удален]
#5
Unlock:
Т.е. если скрипт писал грамотный программист, то проблем быть не должно?

Даже высококлассные специалисты не застрахованы от ошибки, есть куча примеров где одна случайно пропущенная точка позволяла хакеру получить полный доступ к серверу.

На моей памяти такие случаи были с IPB, VB, PunBB и само собой не обошла эта участь и рнрВВ

Если я не ошибаюсь самые яркие случаи с рнрВВ были в версии 2.0.6 (SQL-injection) и чуть по слабее в версии 2.0.8 (XSS)

N
На сайте с 27.03.2006
Offline
67
#6
Зингельшухер:

Если я не ошибаюсь самые яркие случаи с рнрВВ были в версии 2.0.6 (SQL-injection) и чуть по слабее в версии 2.0.8 (XSS)

globals=off от sql инъекций не спасет.

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

[Удален]
#7
Never:
globals=on от sql инъекций не спасет.

В тех случаях о которых говорю я globals=off спасал (там запрос генерировался правильно, но в начала запроса можно было добавить произвольные строки именно по вине globals=on)

WB
На сайте с 05.08.2007
Offline
38
#8

register globals=off - дополнительная защита

и пользоваться ей легко, можно прописать прямо в директории скрипта в файле .htaccess

Мое мнение - зачем пренебрегать дополнительными возможностями???

-------------------------- Ссылочный бюджет закупается здесь (http://www.linkfeed.ru/3328) и если мало, еще и здесь (http://www.sape.ru/r.1b2f11bf67.php)
D
На сайте с 21.07.2005
Offline
15
dsw
#9
Unlock:
Почитал немного на эту тему и вроде как получается не так страшен register globals=on как кривой скрипт? :) Т.е. если скрипт писал грамотный программист, то проблем быть не должно?

можно сказать и наоборот "если скрипт требует register globals=on, его писал безграмотный программист", иначе говоря, человеческий фактор есть всегда, если программист игнорирует рекомендации и надеется что он никогда не допустит ошибку, то в итоге получаем дырявое решето вроде OSC.

Unlock
На сайте с 01.08.2004
Offline
786
#10

dsw, не соглашусь. Мне конечно сложно судить, я не программист. Но сильно удивлюсь, если человек который писал скрипт, не грамотный программист.

Ситуация была такая что были примеры Perl+PHP скриптов+Java апплет+текстовые файлы + небольшие пояснения как можно реализовать некий сервис. Сервис этот требует весьма специфических знаний и без указанных выше вещей реализация затруднялась бы. В итоге человек переписал все на PHP+MySQL+Java апплет. Собственно к чему я это. Человек говорил что лучше писать с нуля все самому, но в данной ситуации слишком объемная работа получалась. Поэтому не факт что не переписывая все с нуля, можно было избежать register globals=on. Без register globals=on скрипты не работают, но честно говоря чем это в моем конкретном случае может обернуться, когда исходников скрипта нигде нет, и единственные "секретные" данные которые использует скрипт, это доступ к базе MySQL.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий