Xakep #305. Многошаговые SQL-инъекции
На хакзоне, в форуме, авторизация реализована следующим образом:
пользователь попадая на форум вводит свой логин/пароль после чего ему присваивается ID сессии.
УРЛы в браузере скрыты, в строке адреса отображается только forum.hackzone.ru, правая кнопка мыши отключена. т.е по замыслу создателя сайта открыть ссылку в новом окне (и тем самым посмотреть её реальный УРЛ и сам код страницы) невозможно...
Форум был сделан с расчетом на рядового пользователя который про _горячие клавиши_ ничего не знает...
Но если горячими клавишами открыть ссылку форума в новом окне, то вниманию многоуважаемого юзера представляется такая картина:
http://hz.vacom.ru/forum/index.php?s=@
где @ - 32 значный ID сессии.
Что мы имеем: во-первых позорище полное в виде домена 3 уровня, но это не суть важно...
Во-вторых ID сессии передается В УРЛЕ!!! В ОТКРЫТОМ ВИДЕ!!!
Ничто не мешает просто перехватить УРЛ (например
тем же Java-скриптом) по которому обращается пользователь и все...
Человек, перехвативший урл может получить
многое: начиная от аккаунта с парой сотен постов, заканчивая аккаунтом модератора или администратора,
разве трудно сделать так:
ID сессии шифруется на серваке и передается пользователю в качестве кукиса, а затем кукис запрашивается и расшифровывается на опять же на серваке?
З.Ы. После опубликования этого сообщения на форуме мой аккаунт был уничтожен, публикация удалена, закрыт доступ по диапазону
IP. Это не решение проблемы, ведь на свете существует много анонимных прокси и т.д., а аккаунт можно новый зарегистрировать... ЛЮДИ НЕ ПОВТОРЯЙТЕ ТАКИХ ОШИБОК.