Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Проверка является ли строка 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:04
|
|
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме: 1996429
Репутация:
468
|
|
if(!preg_match('#^\w+$#',$_GET['url'])) { echo 'fuck'; exit; }
else continue;
|
|
|

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:16
|
|
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме: 12942062
Репутация:
1550
|
|
Мм-да, и правда....
Но в случае Тса же вроде все безопасно, как я понимаю?
|
|
|

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

24.06.2009, 14:20
|
|
Members of Antichat - Level 5
Регистрация: 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:21
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Хорошо, я имел в виду "чтение" файла, чтение, а инклуд просто общее у меня идет из название баги php-inj
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|