2010-04-21 1 views
0

Я внедрил защищенный вход и регистрацию на своем веб-сайте. Он работает. Теперь я хочу проверить его. Я не уверен, как проверить, правильно ли он защищен.test secure login and signup over SSL

+0

Это скорее функциональное или приемочное тестирование, чем модульное тестирование. – philant

+0

скорее всего ваш логин не является безопасным. Вы, например, подумали о SSL, XSS, CSRF, НЕ сохраняете пароль в открытом тексте, но используете что-то вроде phpass, чтобы просто назвать несколько вещей, которые могут пойти не так. Вместо этого вы должны использовать OpenID/facebook connect, чтобы сделать ваш сайт безопасным. – Alfred

ответ

1

Если вы хотите, чтобы проверить, является ли она ломается при использовании SSL, вы можете легко протестировать его загрузки и установки OpenSSL, следовать этому tutorial, чтобы создать самозаверяющий сертификат с помощью OpenSSL, install ваш вновь созданный сертификат на вашем веб сервер (Apache, если вы используете LAMP или XAMPP) и, наконец, перезапустите веб-сервер. Теперь у вас есть SSL, готовый к использованию, попробуйте использовать свою форму входа через https: // и посмотреть, что произойдет. Если веб-браузер, например Firefox, жалуется на ваш сертификат, скажите ему создать исключение.

Вот как вы можете протестировать его по SSL, но что касается «правильно ли он защищен», все становится сложнее. Убедитесь, что вы по крайней мере позаботиться о:

  • фиксации Session
  • Cross-Site Scripting
  • Безопасное хранение паролей (хеширования)
  • SQL инъекции
  • Защита против перебирая с дросселированием или с помощью CAPTCHA
0

Это зависит от того, на что сделан веб-сайт, например, если он использует Apache или если он является самодельным сервером.

  • Проверьте сайт доступен только через HTTPS (если это то, что хотел)
  • Test доступ через HTTP - проверить поведение, как и ожидалось (может быть перенаправление на HTTPS, страница ошибки или предупреждающее сообщение .. .)
  • Попробуйте получить доступ к сайту, не выходя через страницу входа (т.е. ковочный URL)
  • открыть сеанс, пытаются получить доступ к нему с другого клиента без входа в систему.
  • тест на «очевидных» паролей (проверка/test, admin/admin)
  • Убедитесь, вы не можете войти без пустого имени пользователя/пароля
  • Проверьте один не может получить доступ к закрытому ключу системы
  • Проверьте один не может получить доступ ко всем файлам системы (например, http://website.address/../../../../etc/passwd)
  • ...

Вы также можете использовать набор тестов безопасности веб-сайта, см. this list от insecure.org, есть коммерческие продукты и бесплатные инструменты с открытым исходным кодом.

IMHO, вы не должны пытаться проверить SSL, так как это сторонний инструмент.