div.main {margin-left: 20pt; margin-right: 20pt}Взлом чата "Город над Волгой".
Вот... побродил по
вашему сайту, нашел кое-что интересное для себя, и хочу поделиться с
вами кое-какой информацией. Может будет интересно. Навеяно статьей
про то, как чаты поломали... Хотя действительно чат ломать - пара
пустяков, но смотря какой чат еще... :-)))
1. Дырка в чате
http://chat.chuvashia.com
В общем бываю я иногда (редко очень
:-((, но все ж заглядываю) на чате "Город над Волгой"
(http://chat.chuvashia.com). Физически находится в Чебоксарах - мой
родной город, так что сами понимаете, иногда ностальгия начинает
мучить, так что сил нет терпеть, просто приходишь туда и с земляками
(больше с землячками конечно :-)), а их там много) душу просто
отводишь... Ну вот значит... Залазим на чат под ником nick...
Ага... залезли... Смотрим на нижний фреймик... Сохраняем его у себя
и внимательно наблюдаем...
Первый прикол. Смотрим на
вторую форму... Дальше будут сокращенные цитаты:
<form
method="POST" action="mainprog.pl"> <input type="hidden"
name="action" value="logof"> <input type="hidden"
name="username" value=nick> <input type="hidden"
name="userid" value=7134NICK8817> <input src="exit.GIF"
border="0" name="exit" width="80" height="30" alt="EXIT!"
type="image"> </form>
ага... все ясно... Так,
заменяем на следующую конструкцию
<form method="POST"
action="http://chat.chuvashia.com/mainprog.pl"> <input
type="edit" name="action" value="logof"> <input type="edit"
name="username"> <input
type=submit> </form>
Заметили 10 отличий?
:-))). Ну что... Пробуем ввести имя того, кто в чате сидит,
например, "ibz"... Жмем кнопку... Ой... ibz ушел... Странно... опять
зашел, еще раз повторили операцию... Ой... Опять ушел... Все...
работает значит :-)))) Сам в это время в чате болтаю, с девчонкой
одной... Назовем ее Земфира... nick: Земфира ты фокусы
любишь? Земфира: люблю :-))) nick: А есть щас в чате, кто тебя
чем-нибудь обидел? Земфира: Зид nick: зид, говоришь?
А
сам в это время его убиваю :-))) nick: ой, смотри, чо-то он
вылетел :-)))? Земфира: :-)), я уж подумала что это ты
:-))))
Зид в это время еще раз заходит, и я его еще раз
выкидываю... nick: да нет, что ты, как я могу это сделать, это ж
только админы могут, да и то, зид же админ, его выкинуть нельзя
:-)))?
Зид заходит еще раз и еще раз, и все так же
вылетает Земфира: Да нет! это ты! Классно, я тоже так хочу!
:-))))
Пока я ей обьяснял, что да как, зидан так и не
появился... Видать комп перегружал бедолага :-)))). Ага вот он снова
появился... Тут мне конечно нужно было остановится, но раз уж взял
заказ, то выполняй его до конца... В общем бедный зид пробовал
влезать в чат, успевал бросить одну фразу (или не успевал, зависело
от моей реакции :-))) и сразу же вылетал еще раз 15 наверно... Ну
потом они конечно догадались, выкинули ту девчонку, я выкинул того,
кто ее выкинул, меня тоже выкинули... В общем было весело. Мне
прикрыли ип - я залез через проксю - посмотрел, что там творится - а
там трупы, трупы... зид озверел, понял наконец, что произошло и
просто всех подряд убивал :-))) Вечеринка удалась
:-)))))
Мораль... Ошибка у них (создателей чата) была в
том, что они при action=logof не проверяли userid (а это уникальный
параметр, присваивается каждому входящему свой, случайным образом),
и выкидывали сразу по одному только username. Эта ошибка сразу же
была пофиксена, поэтому на этом чате ее не ищите, ищите на других -
наверняка она у многих встречается, не на всех чатах, например,
уникальными userid пользуются... У многих все гораздо проще
:-))))
Второй прикол... Смотрим теперь на первую форму
:-)))) Надо сказать, что тэги в этом чате запрещены, и поэтому особо
не побалуешься... Шрифт не поменяешь, размер не увеличишь...
Обидно... Но не страшно... иба как говорится на каждую отвертку есть
труба с лабиринтом (звучит не так конечно, но матом мы ругаться не
будем :-)))) Смотрим на первую форму... оля-ля-ля... сколько
параметров, некоторые и не используются... О... кажется нашли что
надо... среди прочих там есть и такой:
<select
name="colname"> <option selected value=White style="color:
White">White</option> <option value="#F0F8FF"
style="color: #F0F8FF">Aliceblue</option> ... и
т.д. <option value="#9ACD32" style="color:
#9ACD32">Yellowgreen</option> </select> Быстренько
меняем эту конструкцию на свою:
<input type=edit
name="colname">
Так... сделали то что нужно...
открываем то что получилось. и в нашем поле вводим
следующее:
red Face=Arial Size=6
кто догадался - это
мы тэг <FONT> просто своими параметрами дополнили
:-)))) Набиваем и отправляем свой текст - оп-па... Большая жирная
красная надпись :-))) (И смачный шлепок от админов за ваши баловства
:-)))))
Ну вот, теперь мы крутые, как админы можем красиво
писать :-)). Теперь другая фишечка... а не попробовать ли нам
поставить вот так вот
"
Правильно, правильно
догадались. Ставим и что получаем в итоге? Страничка с сообщениями
"повисает", и не думай что это у тебя одного так :-)))) У всех
виснет... Дело в том, что там яваскриптик стоит, а он как раз на
этой " спотыкается, возникает ошибка, и страничка дальше не
грузится... по крайней мере у многих... :-))) НУ что... гадость это
конечно порядочная, но что поделать - аляфер ком аляфер как
говорится :-))) Можно конечно утонченней сделать - послать такое
сообщение в приват врагу и он лишается привата на некоторое (иногда
даже очень длительное :-)))) время. Ну что значит, рассказал я
одному знакомому значит, он и побаловался немножко :-)))). В общем
чат на ремонте у них сейчас :-))))
Мораль... Ошибка у них
в том что: первое - они не проверяли то, что именно приходит по
параметру colname второе - они не конвертили " в " (хотя даже
если б и конвертили - все равно неправильно было бы :-)))). Ладно
хоть догадались > и &rt убирать... а то сами
понимаете: &rt< дальше любой тэг, и пиши пропало...
:-))))
Еще раз повторюсь, эти ошибки убрали уже (они старую
версию чата вроде загрузили - может и ее заодно проверить думаю?)
© 2001 Автор: IbZ
|