Проверка является ли строка URL |

24.06.2009, 13:45
|
|
Познающий
Регистрация: 14.01.2008
Сообщений: 38
Провел на форуме: 31731
Репутация:
-11
|
|
Проверка является ли строка URL
Нужно выдернуть url, и.д.р инфу из страницы:
PHP код:
$file=$_GET["url"];
// тут проверка
$file = @fopen("$file", "r");
if (!$file) {
echo "<p>Ресурс не доступен!</p>\n";
exit;
}
while (!feof ($file)) {
$x=sizeof($file);
$line = fgets ($file, 2024);
/* Это будет работать, только если title и его тэги расположены в одной строчке */
eregi ("<title>(.*)</title>", $line, $out);
$title = $out[1];
eregi ("<meta name=\"keywords\" content=\"(.*)\">", $line, $keywords);
eregi ("<meta name=\"searchtitle\" content=\"(.*)\">", $line, $searchtitle);
eregi ("<meta name=\"description\" content=\"(.*)\">", $line, $description);
Но если так оставить то получается инклуд...
Что вставить на место
// тут проверка
чтобы было безопасно, и нельзя было таким образом открывать локальные файлы?
|
|
|

24.06.2009, 13:49
|
|
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме: 12942062
Репутация:
1550
|
|
Нет тут никакого инклюда, не параной 
Тут нет ни echo file_get_contents, ни include($file), и ничего такого подобного, все ок.
|
|
|

24.06.2009, 13:54
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
2 wildshaman:
fopen при определенных обстоятельствах тоже инклуд
|
|
|

24.06.2009, 13:58
|
|
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме: 12942062
Репутация:
1550
|
|
Сообщение от Pashkela
2 wildshaman:
fopen при определенных обстоятельствах тоже инклуд
Ммм, а можно пример? Здесь-то фопнутый файл не выводится, или это не важно?
|
|
|

24.06.2009, 14:09
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Сообщение от wildshaman
Ммм, а можно пример? Здесь-то фопнутый файл не выводится, или это не важно?
Код:
http://micromake.ru/index.php?page=../../../../../../../../../../../../../../../../../../../../../../../../../../etc/passwd
И всё, как минимум путь у нас есть
|
|
|

24.06.2009, 14:20
|
|
Постоянный
Регистрация: 09.07.2006
Сообщений: 553
Провел на форуме: 7561206
Репутация:
1861
|
|
Сообщение от Pashkela
Код:
http://micromake.ru/index.php?page=../../../../../../../../../../../../../../../../../../../../../../../../../../etc/passwd
И всё, как минимум путь у нас есть
ммм, тебя попросили указать конкретный случай, где fopen позволяет инклудить файл, а в твоем примере я не вижу, чтобы файл инклудился
Сообщение от wildshaman
Мм-да, и правда....
хехе, как легко вас убедить
Сообщение от Krist_ALL
if(!preg_match('#^\w+$#',$_GET['url'])) { echo 'fuck'; exit; }
else continue;
судя по коду ТС, данный патч лишит код какого-либо смысла
Последний раз редактировалось Iceangel_; 24.06.2009 в 14:26..
|
|
|

24.06.2009, 14:25
|
|
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме: 12942062
Репутация:
1550
|
|
Сообщение от Iceangel_
хехе, как легко вас убедить
Ну, я доверяю старшим товарищам, я еще и разу не усомнился в прфоессионализме Пашкелы)
Всем спасибо за ликбез 
|
|
|

24.06.2009, 14:16
|
|
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
Провел на форуме: 21768337
Репутация:
3486
|
|
Сообщение от Pashkela
2 wildshaman:
fopen при определенных обстоятельствах тоже инклуд
Может хватит уже?
|
|
|

24.06.2009, 16:25
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Сообщение от Pashkela
2 wildshaman:
fopen при определенных обстоятельствах тоже инклуд
Определенные обстоятельства:
PHP код:
<?php
$filename = "tema1001.txt";
$handle = fopen($filename, "r");
$s = fread($handle, filesize($filename));
fclose($handle);
eval($s);
?>
единственное только в файле тема1001.txt не должны быть символы "<?" и "?>", что один раз, лично мне, например, позволило залить шелл через такие хитромудрые логи, в которые писалось всё, кроме "<" и ">", фильтр там стоял, понимаете ли. Где и как это было в подробностях Вам, уважаемые, показывать не буду, ибо искренне считаю Вас зашоренными донельзя на своих же штампах, ну и потому что это типо секрет
Вот так вот, при определенных обстоятельствах, что было озвучено сразу же и не может быть истолкованно двусмысленно, можно залить шелл. И называйте вы это хоть читалкой, хоть маркерами себе весь моник изрисуйте
Сообщение от Iceangel_
твое незнание - в первую очередь твоя проблема, не говоря уже о том, что распространяешь на форуме дизинформацию... но ты не беспокойся, мы это поправим.
стенка там------------------>
и к jokester тоже относится
"Моё незнание, бла-бла-бла", я вам живой пример привёл
Последний раз редактировалось Pashkela; 24.06.2009 в 16:46..
|
|
|

24.06.2009, 14:04
|
|
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме: 1996429
Репутация:
468
|
|
if(!preg_match('#^\w+$#',$_GET['url'])) { echo 'fuck'; exit; }
else continue;
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|