The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"За последние две недели компания Mozilla заблокировала 197 д..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Ссылки "<<" и ">>" открывают первые и последние 10 сообщений.
. "За последние две недели компания Mozilla заблокировала 197 д..." +/
Сообщение от Отражение луны (ok), 26-Янв-20, 18:17 
>>Многие вещи вполне себе маскируются в коде до вида "не вызывает подозрение на первый взгляд"
> Правильные вещи говоришь.
> На самом деле всё подозрительное, за исключением эксплоитов, можно выявить статическим
> анализом. Есть eval - сразу на ***, это либо признак обфускации,
> либо говнокода, либо особый случай для которого требуются особые аргументы. Присутствует
> Function в коде или window[] или top[] или переименование опасных функций
> - туда же. И не***т, что ты невредоносно использовал - либо
> переделывай, либо вали.
> Вот что я имел в виду под модерацией.

var a = {}; Object.defineProperty(a, "ref", {get: function() {return window}});
var t ="Func"; var f = "tion";
var cl = t+f;
var Some = new a.ref[cl]("console.log('Hello from external code')");
var e = new Some();

Код специально упрощен для демонстрации общих принципов. В реальной жизни все эти строки будут разбросаны по модулям и прилично замаскированы колстэком. Имена переменных будут осмысленными, скажем, a.ref станет core.objectManager. Часть такого кода гарантированно поймана не будет.

Другое дело - ограничить eval и Function на уровне дополнений. Они там попросту не нужны.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
За последние две недели компания Mozilla заблокировала 197 д..., opennews, 26-Янв-20, 10:20  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру