Xpoint
   [напомнить пароль]

Уязвимость perl программ?

Метки: [без меток]
2005-03-07 16:14:01 [обр] Легеров Алексей[досье]
Испытал недавно удивление - кто-то влез на мой хостинг и переписал несколько файлов выключив тем самым сайт. Хостинг провайдер указал на уязвимость моих perl программ. Якобы пароли там всем открыты, на самом деле в одной программе только один пароль и он проверяется также просто if($param="password"){получаешь доступ и правишь} Раньше я полагал что считать скрипт-код невозможно из cgi-bin - в браузере получишь только то, что этот скрипт выводит (формы или ответы). Теперь же не уверен в этом.
Подскажите пожалуйста
Возможно ли из такой конструкции достать этот password?
Если да то как защитить этот password?
Можно ли командами .htaccess защитить право изменять конкретные файлы?
Посоветуйте где почитать полезно о командах .htaccess?
спустя 1 час 26 минут [обр] Владимир Палант(49/4445)[досье]

Если у этого кого-то аккаунт на том же сервере, то ему не нужно лезть через HTTP (.htaccess, соответственно, ни при чём). Если на файловой системе не установлены соответствующие права, то он может со своего аккаунта прочитать любые файлы вашего аккаунта. Тут есть один нюанс — под каким пользователем выполняется Apache? Если он работает с правами вашего аккаунта, то вы можете дать доступ только себе (700 на корневой каталог) и проблем не будет. Если же у него общий аккаунт для всех пользователей, что тоже встречается на хостингах, то закрыть доступ не получится — вы закроете доступ и Apache, ваш сайт перестанет показываться.

Итого, читать man chmod.

спустя 3 минуты [обр] Андрей Новиков(8/1242)[досье]
Чтобы ответить на эти вопросы, надо знать, как они влезли на ваш хостинг. Может всё дело не в этой строчке. Или ваши скрипты позволяют делать что угодно на диске? А самый простейший способ защитить пароль — хранить его зашифрованным, подробнее — perldoc crypt
спустя 1 час 5 минут [обр] Елена Хрисанова aka mrskhris(0/84)[досье]
Скажите, а строчка приверки пароля действительно выглядит так, как вы ее написали? Если да, то это, извините, не проверка - это присвоение значения переменной. Оно всегда будет истину возвращать, а как следствие - ничем ваш скрипт не защищен.
спустя 2 часа 40 минут [обр] Легеров Алексей[досье]
Владимир Палант[досье] Хостинг valuehost. Единственное чем они пока объясняют ситуацию - эта строчка. Якобы вот открытый пароль. Хотя все еще никто меня не разубедил что иначе как обладая правами доступа к папке и программе ее код увидеть невозможно. Поправьте если не так. 700 на корневой каталог - это на www (в моем случае htdocs)? Выше у меня нет прав. А где бы почитать о man chmod - не посоветуете?
Андрей Новиков[досье] Мне тоже было бы интересно как. У хостера других вариантов пока нет. Не уверен поможет ли это, но в одном логе сайта обнаружил ссылку на http://konvent-plus.ru/ - не мой сайт, но похоже что подобный потерпевший, точнее ссылка была на некий файл http://konvent-plus.ru/forum/old.php именно такой же файл был загружен в мой корень и видимо он и делал все последующие изменения. Т.е. все пошло от загрузки в корень такого руля. Мои скрипты наврядли позволяют делать что угодно. Соответствующие проверки формата вводимых данных безусловно делаются.Елена Хрисанова aka mrskhris[досье] Нет конечно, просто выразился образно, на самом деле if($pwd ne "password"){запрет}else{доступ}
спустя 1 час 58 минут [обр] AB...(0/233)[досье]
Легеров Алексей[досье], take a look at command field. Try now changing this command line...
спустя 2 часа 9 минут [обр] Владимир Палант(49/4445)[досье]
Легеров Алексей[досье]
Мнда... man chmod вызывают в коммандной строке в любом Unix'е. Если нет под рукой Unix'а — набивают в Google. Первой ссылкой идёт эта: http://www.hmug.org/man/1/chmod.html
спустя 1 час 4 минуты [обр] Легеров Алексей[досье]
Все же, каким образом можно было записать этот old.php в корень (кроме подбора пароля к аккаунту)?
спустя 31 минуту [обр] Владимир Палант(49/4445)[досье]
Всё же, какие права у вас стоят на каталогах, хотя бы на том же www? Если 755, то ваш пароль мог прочитать любой, у кого есть аккаунт на том же хостинге. И подбирать ничего не нужно было.
спустя 24 минуты [обр] Легеров Алексей[досье]
У www rw-rwx--- (670) - права которые устанавливались по умолчанию... к моему сожалению мало чего знаю о unix & apache - оттого не меняю. Что следовало бы поставить?
спустя 3 минуты [обр] Владимир Палант(49/4445)[досье]
rwx------ (700) — но проверьте после этого, работает ли ещё ваш сайт. Если увидите ошибку 403, то вам не повезло и вам придётся оставить свой каталог открытым для всех. Хранить пароли зашифрованными, как посоветовал Андрей Новиков[досье], тем не менее поможет.
спустя 11 часов [обр] Легеров Алексей[досье]
Да, с 700 сайт не работает и проявился ряд других глюков, например, мне теперь недоступны внутренние папки www из-за ошибки 550. Это уже решу.Владимир Палант[досье], расскажите пожалуйста что значит открыт для всех. На том же хостинге? Не значит ли это, что проблема не в пароле а в том что снова ко мне в корень можно записать программу типа old.php и управлять из нее файлами не взирая на пароли. Кстати говоря, тот самый пароль был только от одной моей конкретной программы, которая не дает исключительных прав и он никак не связан с фтп доступом или аккаунтом.
спустя 25 минут [обр] AB...(0/233)[досье]
Легеров Алексей[досье], да незнают вашего пароля (или по крайней мере раньше), он вообще ненужен.
спустя 22 минуты [обр] Легеров Алексей[досье]
Хороша ситуация. Опускаем руки и меняем хостера? Если любой амбициозный неудовлетворенный зарегистрирует хостинг на VH и начнет удовлетворяться мне только это и остается?!
А если в .htaccess запретить php (я им не пользуюсь)?
спустя 16 минут [обр] Алексей В. Иванов(6/2861)[досье]
Легеров Алексей[досье] способов сломать сайт, конечно, можно. Например, если у Вас есть форма для закачки файлов на сервер, то есть возможность закачать php-файл и запустить его, а он, конечно, может сделать все.
спустя 4 минуты [обр] Алексей В. Иванов(6/2861)[досье]
очепятался в первом предложении: "можно" -> "много"
спустя 14 минут [обр] Легеров Алексей[досье]
Есть форма для закачки файлов. Только по идее она контролирует адрес закачки, присваивает свое имя и расширение (jpg).
Про много я знаю... конечно же не претендую на неприступность - ломали мастеров посерьезнее. Просто хотелось бы выяснить истинную причину и исключить на будущее эту причину
спустя 1 час 31 минуту [обр] Алексей В. Иванов(6/2861)[досье]
О истинной причине можно догадываться. Информации слишком мало
Powered by POEM™ Engine Copyright © 2002-2005