Истифодаи аломатҳои ноаёни Юникод барои пинҳон кардани амалҳо дар коди JavaScript

Пас аз усули ҳамлаи троянии Source, ки ба истифодаи аломатҳои Юникод, ки тартиби намоиши матни дуҷонибаро тағйир медиҳанд, асос ёфтааст, усули дигари ҷорӣ кардани амалҳои пинҳонӣ, ки ба коди JavaScript дахл дорад, нашр шудааст. Усули нав ба истифодаи аломати юникоди "ㅤ" (коди 0x3164, "HANGUL FILLER") асос ёфтааст, ки ба категорияи ҳарфҳо тааллуқ дорад, аммо мундариҷаи намоён надорад. Категорияи Юникод, ки ин аломат ба он тааллуқ дорад, аз замони мушаххасоти ECMAScript 2015 барои истифода дар номҳои тағирёбандаи JavaScript иҷозат дода шудааст, ки имкон медиҳад, ки тағирёбандаҳои ноаён ё тағирёбандаҳои наве, ки аз дигар тағирёбандаҳо дар муҳаррирони рамзҳои маъмул, ба монанди Notepad++ ва VS Code фарқнашавандаанд, эҷод кунед.

Ҳамчун мисол, рамзи платформаи Node.js дода шудааст, ки дар он бо истифода аз як тағирёбанда иборат аз як аломати "ㅤ" пушти дари пинҳон аст, ки имкон медиҳад рамзи муайянкардаи ҳамлагар иҷро карда шавад: app.get('/ network_health', async (req, res) = > { const { timeout,ㅤ} = req.query; // дар асл он мегӯяд, ки "const { timeout,ㅤ \u3164}" const checkCommands = [ 'ping -c 1 google. com', 'curl -s http:// example.com/',ㅤ // пас аз вергул аломати \u3164 ] меояд;

Дар назари аввал, аз параметри беруна танҳо арзиши таймут мегузарад ва массив бо фармонҳои иҷрошаванда рӯйхати безарари собит дорад. Аммо дар асл, пас аз тағирёбандаи вақт, арзиши дигар тағирёбандаи ноаён бо рамзи аломат \u3164 таъин карда мешавад, ки он низ ба массиви фармонҳои иҷрошаванда иваз карда мешавад. Ҳамин тариқ, агар чунин тарҳ мавҷуд бошад, ҳамлакунанда метавонад дархостеро ба мисли “https://host:8080/network_health?%E3%85%A4=command” фиристад, то пушти дарро фаъол созад ва рамзи худро иҷро кунад.

Мисоли дигар ин аломати "ǃ" (ALVEOLAR CLICK) мебошад, ки метавонад барои додани намуди аломати нидо истифода шавад. Масалан, ифодаи "if(environmentǃ=ENV_PROD){" ҳангоми иҷро дар Node.js 14 ҳамеша дуруст хоҳад буд, зеро он фарқиятро тафтиш намекунад, балки арзиши ENV_PROD-ро ба тағирёбандаи "environmentǃ" таъин мекунад. Дигар аломатҳои юникодҳои гумроҳкунанда иборатанд аз "/", "−", "+", "⩵", "❨", "⫽", "꓿" ва "∗".

Манбаъ: opennet.ru

Илова Эзоҳ