|
Навеяно статьей про то, как чаты поломали... Хотя действительно чат
ломать - пара пустяков, но смотря какой чат еще... :-)))
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< дальше любой
тэг, и пиши пропало... :-))))
Еще раз повторюсь, эти ошибки убрали
уже (они старую версию чата вроде загрузили - может и ее заодно проверить
думаю?) Автор: IbZ
ОГЛВЛЕНИЕ
|
< | |
| |