Вот… побродил по вашему сайту, нашел кое-что интересное для себя, и хочу
поделиться с вами кое-какой информацией. Может будет интересно. Навеяно
статьей про то, как чаты поломали… Хотя действительно чат ломать — пара
пустяков, но смотря какой чат еще… :-)))

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=»https://xakep.ru/wp-content/uploads/post/11894/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&lt дальше любой тэг, и пиши пропало… :-))))

Еще раз повторюсь, эти ошибки убрали уже (они старую версию чата вроде
загрузили — может и ее заодно проверить думаю?)

Оставить мнение

Check Also

Жизнь без антивируса. Как побороть малварь голыми руками и обезопасить себя на будущее

На вопрос «Какой антивирус вы используете на своей виндовой машине?» многие безопасники (в…