Выполнение PHP кода через LFI

Discussion in 'Песочница' started by Filipp, 6 Nov 2015.

  1. Filipp

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

    Joined:
    10 May 2015
    Messages:
    251
    Likes Received:
    56
    Reputations:
    31
    Начал проходить рутми и наткнулся на весьма интересный таск. Долгое время мудохался сам, позже попросил подсказки. Решение таска оказалось совсем не таким как я его представлял, через инклуд исходник шифруется в base64 и выводится параметром:
    Code:
    php://filter/convert.base64-encode/resource=
    Первый раз вижу такое дело, можно ли выполнять другие команды PHP? Хотя бы в мускул запросы отдавать)
     
  2. private_static

    Joined:
    19 May 2015
    Messages:
    117
    Likes Received:
    76
    Reputations:
    22
  3. Filipp

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

    Joined:
    10 May 2015
    Messages:
    251
    Likes Received:
    56
    Reputations:
    31
    Чего то не очень получается... Можно пример команды записи в какой-нить файл?)
     
  4. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    Что не получается? Покажи код.
    Там есть примеры по ссылке. Внизу страницы.
     
  5. Filipp

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

    Joined:
    10 May 2015
    Messages:
    251
    Likes Received:
    56
    Reputations:
    31
    Видел я примеры.. Только не отрабатывает.
    Вот допустим на удаленной машине такой код:
    Code:
    <?
    ..
    include($_GET['test']);
    ..
    ?>
    Как мне с помощью этих потоков записать чего-нибудь в файл) Или же хотя бы к MySQL обратиться
     
  6. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    Функции include не для записи в файл. http://php.net/manual/ru/function.include.php
     
  7. Filipp

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

    Joined:
    10 May 2015
    Messages:
    251
    Likes Received:
    56
    Reputations:
    31
    Ну это само собой)) Прикол в том, что если проинклудить
    Code:
    php://filter/convert.base64-encode/resource=testscript
    Вернет testscript в base64) Меня интересует именно эта вещь, а на странице мануала написано что записать в файл ней можно..
     
  8. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    Если будет "file_put_contents($_GET['a'], $_GET['b']);", можно записать.
     
  9. Filipp

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

    Joined:
    10 May 2015
    Messages:
    251
    Likes Received:
    56
    Reputations:
    31
    Да причем тут это вообще?)) Я как бы не тупой.
    http://php.net/manual/ru/wrappers.php.php
    Помимо base64 я так предполагаю там много чего еще есть.
     
  10. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,582
    Likes Received:
    1,310
    Reputations:
    1,557
    "php:// — Доступ к различным потокам ввода-вывода". Поток ввода - объект, откуда можно прочитать данные. Поток вывода - куда записать. Никаких сверхвозможностей у потоков нет.