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

Discussion in 'PHP' started by ANONIM123, 24 Jun 2009.

  1. ANONIM123

    ANONIM123 New Member

    Joined:
    14 Jan 2008
    Messages:
    36
    Likes Received:
    0
    Reputations:
    0
    Нужно выдернуть url, и.д.р инфу из страницы:

    PHP:

    $file
    =$_GET["url"];

    // тут проверка


    $file = @fopen("$file""r");
    if (!
    $file) {
        echo 
    "<p>Ресурс не доступен!</p>\n";
        exit;
    }
    while (!
    feof ($file)) {
    $x=sizeof($file);
        
    $line fgets ($file2024);
        
    /* Это будет работать, только если 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);
    Но если так оставить то получается инклуд...
    Что вставить на место
    // тут проверка
    чтобы было безопасно, и нельзя было таким образом открывать локальные файлы?
     
  2. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    Нет тут никакого инклюда, не параной :)
    Тут нет ни echo file_get_contents, ни include($file), и ничего такого подобного, все ок.
     
  3. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    2 wildshaman:

    fopen при определенных обстоятельствах тоже инклуд
     
  4. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    Ммм, а можно пример? Здесь-то фопнутый файл не выводится, или это не важно?
     
  5. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    if(!preg_match('#^\w+$#',$_GET['url'])) { echo 'fuck'; exit; }
    else continue;
     
  6. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Code:
    http://micromake.ru/index.php?page=../../../../../../../../../../../../../../../../../../../../../../../../../../etc/passwd
    
    И всё, как минимум путь у нас есть
     
  7. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    Мм-да, и правда....
    Но в случае Тса же вроде все безопасно, как я понимаю?
     
  8. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Может хватит уже?
     
    1 person likes this.
  9. Iceangel_

    Iceangel_ Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    494
    Likes Received:
    532
    Reputations:
    158
    ммм, тебя попросили указать конкретный случай, где fopen позволяет инклудить файл, а в твоем примере я не вижу, чтобы файл инклудился

    хехе, как легко вас убедить


    судя по коду ТС, данный патч лишит код какого-либо смысла
     
    #9 Iceangel_, 24 Jun 2009
    Last edited: 24 Jun 2009
  10. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Хорошо, я имел в виду "чтение" файла, чтение, а инклуд просто общее у меня идет из название баги php-inj
     
  11. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Pashkela, возьми маркер и пиши у себя снизу на мониторе:
    "Инклуд - подключение файла в скрипт и последующее его выполнение.
    Читалка - отображение содержимого файла."
    И ещё допиши:
    "PHP inj (инъекция) - добавление и последующее выполнение кода непосредственно в самом скрипте"
     
    #11 .Slip, 24 Jun 2009
    Last edited: 24 Jun 2009
    1 person likes this.
  12. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    Ну, я доверяю старшим товарищам, я еще и разу не усомнился в прфоессионализме Пашкелы)
    Всем спасибо за ликбез :)
     
    2 people like this.
  13. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    т.е.

    Code:
    Читалка - отображение содержимого файла."
    
    никакого отношения к php-inj не имеет в данном случае?:)))) Тогда пойду убьюсь головой об стену и распространю по всему интернету новое название новой баги - ЧИТАЛКА
     
  14. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    От того что ты назовёшь хер бананом, он кожурой не покроется и не пожелтеет.
     
    1 person likes this.
  15. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Достаточно уже и раскрытие путей в некоторых случаях, а то, что при fopen возможно исполнение постороннего кода - я и не писал, инклудом назвал только потому, что можко проинклудить СОДЕРЖИМОЕ интересующего файла, т.е. ПРОЧИТАТЬ, посредством именно fopen, что, сугубо на мой взгляд, имеет прямое отношение к PHP-INJ, т.к. используются уязвимости в скрипте, написанном на PHP, и ничего более.

    Если же кто-воспринимает php-inj как именно инклуд и обязательно ВЫПОЛНЕНИЕ стороннего файла - разве это мои проблемы?:)
     
  16. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    Все, что связано с пыхом, сичтать пхп-инхекциями?хдд

    ну по идее injection переводится как инъекция, включение, тобишь включение своего кода в чужой и использование его как родного -выполнение.
     
  17. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    750
    Likes Received:
    1,046
    Reputations:
    291
    o_O
    Сам то понял что написал? Мен, не позорся :)

    + Тогда по твоему можно щитать скулей раскрытие путей ? :D
     
    #17 Dimi4, 24 Jun 2009
    Last edited: 24 Jun 2009
  18. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    >> инклудом назвал только потому, что можко проинклудить СОДЕРЖИМОЕ интересующего файла, т.е. ПРОЧИТАТЬ, посредством именно fopen, что, сугубо на мой взгляд, имеет прямое отношение к PHP-INJ,

    Бляяя.... Есть 3 вида(!!!)
    Инклуд - подключение и ВЫПОЛНЕНИЕ стороннего файла
    Читалка - ВЫВОД СОДЕРЖИМОГО стороннего файла
    Инъекция кода - ВНЕДРЕНИЕ КОДА В СКРИПТ непосредственно

    >> Если же кто-воспринимает php-inj как именно инклуд и обязательно ВЫПОЛНЕНИЕ стороннего файла - разве это мои проблемы?
    Да я смотрю тебе поxуй вообще
     
    1 person likes this.
  19. Kakoytoxaker

    Kakoytoxaker Elder - Старейшина

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    Pashkela
    Ты вот тут нёс точно такую-же охинею
    https://forum.antichat.ru/showthread.php?p=1331217#post1331217

    Мы тебе вроде там всё объяснили, ты сказал что понял. Но я смотрю нихера подобного. Или напиши на мониторе то, что сказал Слип, или называй это как тебе нравится, но людям это говорить не надо! Это неверно, и так люди никогда не разберутся.

    Просто очень нехочется после тебя переучивать новичков в ветке. Они будут исходить из твойх слов и нести этот БРЕД дальше
     
  20. Iceangel_

    Iceangel_ Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    494
    Likes Received:
    532
    Reputations:
    158
    твое незнание - в первую очередь твоя проблема, не говоря уже о том, что распространяешь на форуме дизинформацию... но ты не беспокойся, мы это поправим.
     
    2 people like this.
Loading...
Similar Threads - Проверка является строка
  1. GAiN
    Replies:
    3
    Views:
    7,553