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

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

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

Ошибки в mIRC скриптах

Ошибки в mIRC скриптах

    Вы, конечно, слышали о троянских mIRC скриптах, 
бэкдорах, червях и прочем. 

В этой статье речь пойдет об ошибке несколько другого рода, 
причиной которой является своеобразная интерпретация команды /timer. 

Итак, реальный пример из одного скрипта - "самообучающийся" 
говорящий бот, коих на основе mIRC скриптов понаделано весьма немало. 
Бот запоминает фразы пользователей и отвечает выбранной случайно.

Remote: 

on 1:TEXT:*:?:{
 write dictionary.txt $$1-
 timerANSWER 1 3 msg $nick $read dictionary.txt
}

По замыслу автора, таймер служил своеобразной защитой от флуда, 
тк возвращал не более 1 ответа в 3 секунды, независимо от количества 
запросов. 

Теперь посмотрим, что получается, если сообщение имеет вид


bot - sucker | /exit Строка сохраняется в файл и впоследствии, при выдачи его, произойдет следующее: скрипт интерпретирует | как разделитель операторов и закроет mIRC. На месте /exit может быть и любая другая команда или даже несколько. Таким извращенным образом можно обмениваться файлами, удаленно управлять клиентом, а если еще подгрузить пару-тройку утилит... Приведенная строка характерна для поздних версий mIRC'a, где пофиксены баги интерпретации. Если версия ранняя, то выполнение команды произодет еще раньше - во второй строке. Если моментальное выполнение нежелательно, то можно заменять | на $chr(124). Эта же замена позволяет обходить всяческие фильтры, поставленные зловредными скриптописателями. Вообще говоря, крайне полезным может оказаться использование таких identifiers как $os, $version, $read, $cb и многих других. Посланная тому же боту строка Os: $os Version: $version Clipboard: $cb Dir: $mircdir При выдаче пользователю покажет соответственно версию системы, мирка, содержимое клипбоарда и папку мирка.

Как всегда, AUX, PRN, NUL и CON служат для нас подспорьем. Если имеется возможность заставить скрипт write/read/play или еще как обратиться к файлу, имя которого мы можем задать, подстановка этих внешних устройств вместо имени файла вызывает подвисания, увисания, отвисания и прочие явления, связанные с system crash. Например, команда /write aux eatme намертво весит систему под Win9x.

Трояны, подобные описанным, можно встретить во многих скриптах, причем авторы, как правило, даже не подозревают о дополнительных возможностях своего кода...

Ищите применение данной штуки в ващем скрипте, очень хорошая вещь! ©AuX Site
Категория: о Mirc | Добавил: [StingeR] (29 Января 11)
Просмотров: 789 | Рейтинг: 0.0/0 |

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

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

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

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


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