Меню сайта
Анонсы
mIRC скриптерам Опытным скриптерам
Категории
services [4]
help
о Mirc [16]
Другое [3]
Ircnet.ru [4]
сеть
IRC [11]
Мини-чат
Случайное фото
ДаркМакс ХD
+++

К нам присоединилось:
Сегодня: 0
Вчера: 0
За последние 7 дней: 0
За последние 30 дней: 0
Отправить SMS и MMS
SMS
Beeline МТС Мегафон

ММС
Beeline МТС Мегафон
Главная » Статьи » Irc » IRC

Бреш в скриптах говорящего бота

Бреш в скриптах говорящего бота

 Те, кто пишет замообучающихся говорящих ботов под mIRC должны знать, 
что данные скрипты имеют брешь. Умело закрученный текст, который 
посылается боту, может вывести из стоя операционку на которой он стоит. 

 Все это происходит потому, что данные скрипты работают на операторе 
$read. А $read как известно может не только считывать строки из разных 
файлов, но и вставлять эти строки к команды. И теперь, если какой-нить 
(продвинутый мать его...) Юзер пишет на канале или непосредственно в 
приват бота (взависимости от скрипта) фразу, в которой содержатся команды 
mIRC (например: мне хана!!! | run concon), то комп на котором стоит бот 
повиснет.

Объясняю почему:

 Скрипты говорящего бота строятся в основном по одному алгоритму:
1. Запись текстов пользователей в какой-нибудь файл оператором write. 
2. Ответ в канал или в прават записанных фраз из этого файла оператором $read. 
 Если записанная фраза содержит " | " (это знак разделителя команд), то скрипт 
 выдаст только текст, находящийся до этого значка, а дальше начнет исполнять 
 команду, которая описана после "|". Если там будет написано Disconnect, то 
 скрипт отключит mIRC от сервера.

Как защитится от этой бреши?
1. Отказаться от такого интеллекта вообще нахрен!!! :-)
2. Отказаться от $Read. Например алгоритм разговора у бота ©Mirabel 
 я построил на "Play". А оператор play может только воспроизводить фразы, 
 но никак не исполнять команды. Небуду здесь описывать алгоритм разговора 
 (об этом в следующей статье).
3. установить фильтр записывающихся фраз. Вот как это делается, я думаю 
 нужно написать: Нам нужно исключить запись в файл фраз, содержаших какие - 
 либо команды. Это делается следующим образом:

on *:TEXT:*:*: {
 ; При Любом тексте, от Любого юзера, на Любом канале или привате 
 ; (это как Вы сами сделаете)

 if ($chr(124) isin $1-) || ($chr(35) isin $1-) || ($chr(36) isin $1-) || (run isin $1-) { 
 msg $nick ты че мне впариваешь? | halt 
 }
 ; Если в тексте присутсвует " | " или " # " или " $ " или " run ", 
 ; то ответить этому Юзеру "ты че мне впариваешь?" и остановить выполнение скрипта.
}

©Anode
Категория: IRC | Добавил: [StingeR] (29 Января 11)
Просмотров: 845 | Комментарии: 1 | Рейтинг: 0.0/0 |

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Мини инфо
гость
16:15:43
Группа: Гуси

Логин:
Пароль:
Поиск по сайту
:)

456
Код нашей кнопки:
Рекомендуем :)
Лучший mIRC клиент:)
Лучший mIRC БОТ:)
Френды :)
[CooLBots] EpicNet
Статистика
Каталог webplus.info Locations of visitors to this page
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Были на сайте сегодня:
Коментариев: 4524
Форум: 354/2695
Фоток: 1228
Новостей на сайте: 42
Файлов: 492
Статьи: 81
Гостевая книга: 25


Всево зарегено: 34796
Из них
Пользователей: 34476
Проверенные 311
Администраторы 5
Гл. Администраторы 3
Из них
Парней: 34608
Девушек: 170
Copyright MyCorp © 2018Хостинг от uCoz