Самодельный движек

  • Автор темы monsters
  • Дата начала
M

monsters

#1
Вот такое чудо сделал пол года назад. Потом ка кто времени не было, поддержку и разработку забросил. Сейчас снова занялся. Это мой первый проект с использованием баз данных mysql. До этого был опыт написания форума на файлах. Дизайнер с меня не очень, поэтому все по максимуму просто. Большую часть интерфейса позаимствовал с "kinozal.tv"(так как очень плохо представляю себе как нужно).
Собственно ссылка http://free-traffic.ru/
 

EmptyR

Веб мастер
06.10.2010
164
0
#2
Позвольте поинтересоваться, у вас на хостинге случаем логин не "monst637", а? А то палится такой никнейм на сайте... Ух как палится...
 
M

monsters

#3
Позвольте поинтересоваться, у вас на хостинге случаем логин не "monst637", а? А то палится такой никнейм на сайте... Ух как палится...
Хм, действительно. Даже не задумывался об этом раньше. Этоь сильно грозить безопасности сайта?
 

EmptyR

Веб мастер
06.10.2010
164
0
#4
Теоретически, можно подобрать по вашему логину пароль (через так называемый брутфорс).

Потом я был удивлён скрипту http://free-traffic.ru/search.php, вроде как старая версия поисковой формы, но то, что она вытворяет, просто уничтожает понятие защищённого сайта.
Во первых, Access denied for user 'apache'@'localhost' (using password: NO) in /home/monst637/domains/free-traffic.ru/public_html/search.php on line 166. Путь до файла намекает на логин на хостинге monst637.
Во вторых, стесняет "'apache'@'localhost' (using password: NO)". Я пока не знаю, что это значит, но отсутствие использования пароля вряд ли относится к чему то хорошему.
В третьих, смущает "supplied argument is not a valid MySQL result", видно, используется SQL запрос к ныне не существующей базе данных, или к не существующим полям, сложно мне сказать точно.

Ещё одна SQL инъекция - http://free-traffic.ru/index.php?id_post=fail, параметр id_post не проверяется на принадлежание к числу, а это плохо.

Так же палится функция include: http://free-traffic.ru/index.php?page=fail. Получается, я могу "прощупать" таким образом файл на сервере, теоретически, ибо параметр page производит вставку в код страницы содержимое php файла, имя которого заданно в том параметре. Весьма опасно, я так думаю.

И напоследок, сайт криво отображается в IE6, причём проблема в кодировке какая то.
 
M

monsters

#5
Теоретически, можно подобрать по вашему логину пароль (через так называемый брутфорс).

Потом я был удивлён скрипту http://free-traffic.ru/search.php, вроде как старая версия поисковой формы, но то, что она вытворяет, просто уничтожает понятие защищённого сайта.
Во первых, Access denied for user 'apache'@'localhost' (using password: NO) in /home/monst637/domains/free-traffic.ru/public_html/search.php on line 166. Путь до файла намекает на логин на хостинге monst637.
Да да, есть такое. Исправлю. Что вы имеете в виду "старая версия поисковой формы". Если подразумевается сам скрипт - то писался он ручками с ноля.
Во вторых, стесняет "'apache'@'localhost' (using password: NO)". Я пока не знаю, что это значит, но отсутствие использования пароля вряд ли относится к чему то хорошему.
В третьих, смущает "supplied argument is not a valid MySQL result", видно, используется SQL запрос к ныне не существующей базе данных, или к не существующим полям, сложно мне сказать точно.
В этом скрипте и не должно быть каких либо паролей. Так как за это все отвечает index.php. Естественно он не может подключится к базе самостоятельно. Работает только так http://www.free-traffic.ru/index.php?page=search . Но логин палится, это тоже исправлю.
Ещё одна SQL инъекция - http://free-traffic.ru/index.php?id_post=fail, параметр id_post не проверяется на принадлежание к числу, а это плохо.

Так же палится функция include: http://free-traffic.ru/index.php?page=fail. Получается, я могу "прощупать" таким образом файл на сервере, теоретически, ибо параметр page производит вставку в код страницы содержимое php файла, имя которого заданно в том параметре. Весьма опасно, я так думаю.

И напоследок, сайт криво отображается в IE6, причём проблема в кодировке какая то.
Здесь тоже полностью согласен.
Вывод: добавить проверки на ошибки.
 

EmptyR

Веб мастер
06.10.2010
164
0
#8
Заметил, что сайт не умеет ограничивать количество попыток входа в свой аккаунт. Это позволяет провести атаку типа "brute force". Это опасно, ибо хакер сможет подобрать пароль от любого логина на сайте (включая админский логин)

Так же, замечено, что иногда сайт генерирует ошибку 503. Что то с серваком.... Ошибка получается если пробовать раз 5 попытаться авторизоваться, и такая ошибка может выскочить.
 
M

monsters

#9
Упс... Сообщение не туда отправиЗаметил, что сайт не умеет ограничивать количество попыток входа в свой аккаунт. Это позволяет провести атаку типа "brute force". Это опасно, ибо хакер сможет подобрать пароль от любого логина на сайте (включая админский логин)
Это да. Но как лучше идентифицировать? Куки? Но хакер может просто каждый раз их чистить. Ай пи тоже не подходит, так как многие провайдеры дают всем клиентам единый айпи. И Смогут залогинится например первые 5-10 человек.
Так же, замечено, что иногда сайт генерирует ошибку 503. Что то с серваком.... Ошибка получается если пробовать раз 5 попытаться авторизоваться, и такая ошибка может выскочить.
Хостинг очень нестабильный попался. Или его все время кто то "досет", или сам по себе такой. Однозначно буду менять!