Наша взаимовыгодная связь https://banwar.org/
Це оновлення, відрізняється від попередніх. Відразу наведу короткий список змін, в даній версії оновлення:
- Реєстрація та авторизація користувачів.
- Автоматичне визначення мови користувача.
- Під модальними діалогами з'явилося затінення, що блокує випадкове натискання повз діалогу.
- Головне меню відображається поверх діалогів.
- Створено нові деталі для будівництва кораблів.
Почну свою розповідь з моменту, чому у мене пішла додатковий тиждень, на створення системи реєстрації. Ми всі знаємо, що майже на кожному сайті є реєстрація. Але, не завжди звертаємо увагу, на те, що наші паролі гуляють у відкритому вигляді. Навіть протокол https, не зможе нас захистити, від їх розкрадання. Майже на кожному сайті, паролі шифрують тільки на стороні сервера. Використовують здебільшого md5, вже рідше sha-1 і інші алгоритми. Так в чому ж небезпека? (Є хороша стаття в журналі «Хакер»: Все методи злому MD5) По-перше, з сайту можуть вкрасти базу даних паролів і відновити всі паролі користувачів, які, є в ній. Буває, що шифрування взагалі немає і на сайті паролі лежать у відкритому вигляді. Але повернемося до браузеру, якщо комп'ютер або браузер буде заражений трояном / вірусом або ви не залишилися свій пароль на комп'ютері друзів або ще де, паролі з легкістю витечуть і ними зможуть скористатися зловмисники. Більш цікава частина, все твердять - протокол https вас врятує, на жаль це не так, так він врятує від перехоплення трафіку, але не від троянів, вірусів і плагінів які можуть бути встановлені в браузері, або на комп'ютері і мати прямий доступ до ваших паролів.
Ну що, готові? Давайте розглянемо приклади, почнемо прогулянку з соціальної мережі «В контакті» (я міг вибрати і іншу соціальну мережу або просто сайт). Але «В контакті», більше всіх радує своїм захистом. Може після прочитання тексту, вони перероблять свою авторизацію і реєстрацію. Сьогодні 5 березня 2016 року і ми приступаємо до тесту, відкриваємо контакт і переходимо в режим налагодження F12:
Крок перший, введемо замість логіна 123456789, а замість пароля 987654321. І подивимося, як ці дані, будуть відправлені на сервер (в браузері хром - F12, далі, перейти на вкладку Network).
І що ми бачимо, дані пішли по протоколу http у відкритому вигляді, ще й без шифрування (Таке трапляється постійно, не кожна людина знає, що потрібно руками вводити https: // для переходу на захищений протокол). Для соціальної мережі такого масштабу, це дуже погано, тому що паролі гуляють у відкритому вигляді і до них вони прийдуть, так само, у відкритому вигляді. Не ясно, як вони будуть використані співробітниками або компанією.
Подивимося як же у нас йдуть справи? Введемо логін [email protected], а пароль 987654321.
Пароль не схожий на своє початкове уявлення, на вигляд як MD5, але чи так це? (Є кілька десятків утиліт, ви можете самостійно подивитися, чи вийде у вас з цього витягти свій реальний пароль).
Але це ще далеко не все, а що буде якщо ми знову спробуємо зайти під нашим логіном і паролем? Введемо логін [email protected] і пароль 987654321.
Пароль змінився ?! Це здасться дивно, на перший погляд, але щоб захистити ваші дані доводиться застосовувати незвичайний підхід.
Підіб'ємо підсумки: Так як, нам не важливо який у людини пароль, головне, щоб ввівши свої дані, користувач зміг увійти в систему. З цього, ми можемо перетворити пароль в інший вид, зруйнувавши його оригінальну структуру. Всі паролі шифруються на стороні клієнта (в браузері), а після відправки ще й на стороні сервера. Таким чином «реальний пароль» був зашифрований ще до відправки на сервер. Для шифрування пароля скористався SHA-3 Кечак (Keccak), в зміненому вигляді, також обернув його під MD5, щоб додати любителям злому «видиму легкість». Звичайно цей підхід абсолютно не гарантує 100% захисту, будь-яку систему можна зламати, але такий підхід, в рази, ускладнить отримання доступу до вашого «реальному» паролю.
Посилання на проект: play.dg8.ru
Так в чому ж небезпека?Ну що, готові?
Подивимося як же у нас йдуть справи?
Але це ще далеко не все, а що буде якщо ми знову спробуємо зайти під нашим логіном і паролем?