Я внедрил защищенный вход и регистрацию на своем веб-сайте. Он работает. Теперь я хочу проверить его. Я не уверен, как проверить, правильно ли он защищен.test secure login and signup over SSL
ответ
Если вы хотите, чтобы проверить, является ли она ломается при использовании SSL, вы можете легко протестировать его загрузки и установки OpenSSL, следовать этому tutorial, чтобы создать самозаверяющий сертификат с помощью OpenSSL, install ваш вновь созданный сертификат на вашем веб сервер (Apache, если вы используете LAMP или XAMPP) и, наконец, перезапустите веб-сервер. Теперь у вас есть SSL, готовый к использованию, попробуйте использовать свою форму входа через https: // и посмотреть, что произойдет. Если веб-браузер, например Firefox, жалуется на ваш сертификат, скажите ему создать исключение.
Вот как вы можете протестировать его по SSL, но что касается «правильно ли он защищен», все становится сложнее. Убедитесь, что вы по крайней мере позаботиться о:
- фиксации Session
- Cross-Site Scripting
- Безопасное хранение паролей (хеширования)
- SQL инъекции
- Защита против перебирая с дросселированием или с помощью CAPTCHA
Это зависит от того, на что сделан веб-сайт, например, если он использует Apache или если он является самодельным сервером.
- Проверьте сайт доступен только через HTTPS (если это то, что хотел)
- Test доступ через HTTP - проверить поведение, как и ожидалось (может быть перенаправление на HTTPS, страница ошибки или предупреждающее сообщение .. .)
- Попробуйте получить доступ к сайту, не выходя через страницу входа (т.е. ковочный URL)
- открыть сеанс, пытаются получить доступ к нему с другого клиента без входа в систему.
- тест на «очевидных» паролей (проверка/test, admin/admin)
- Убедитесь, вы не можете войти без пустого имени пользователя/пароля
- Проверьте один не может получить доступ к закрытому ключу системы
- Проверьте один не может получить доступ ко всем файлам системы (например, http://website.address/../../../../etc/passwd)
- ...
Вы также можете использовать набор тестов безопасности веб-сайта, см. this list от insecure.org, есть коммерческие продукты и бесплатные инструменты с открытым исходным кодом.
IMHO, вы не должны пытаться проверить SSL, так как это сторонний инструмент.
Это скорее функциональное или приемочное тестирование, чем модульное тестирование. – philant
скорее всего ваш логин не является безопасным. Вы, например, подумали о SSL, XSS, CSRF, НЕ сохраняете пароль в открытом тексте, но используете что-то вроде phpass, чтобы просто назвать несколько вещей, которые могут пойти не так. Вместо этого вы должны использовать OpenID/facebook connect, чтобы сделать ваш сайт безопасным. – Alfred