Bikaranîna karakterên unicode yên nedîtbar ji bo veşartina kiryarên di koda JavaScript de

Li dû rêbaza êrîşa Çavkaniya Trojan, ku li ser bingeha karanîna tîpên Unicode-yê ku rêza pêşandana nivîsa dualî diguhezîne ve hatî çêkirin, teknîkek din ji bo danasîna kiryarên veşartî hate weşandin, ku ji bo koda JavaScript-ê tê sepandin. Rêbaza nû li ser bingeha karanîna karaktera unicode "ㅤ" (kod 0x3164, "HANGUL FILLER"), ku di kategoriya tîpan de ye, lê naveroka xuyangê tune ye. Kategoriya Unicode ya ku ev karakter tê de ye ji ber taybetmendiya ECMAScript 2015-ê ji bo karanîna navên guhêrbarên JavaScript-ê destûr tê dayîn, ku îmkana afirandina guhêrbarên nedîtbar an guhêrbarên nû yên ku ji guhêrbarên din di edîtorên kodê yên populer ên wekî Notepad++ û VS Code de nayên cûda kirin, dide.

Wekî mînak, koda platforma Node.js tê dayîn, ku tê de, bi karanîna guhêrbarek ku ji yek tîpek "ㅤ" pêk tê, derîyek paşveşartî ye ku dihêle koda ku ji hêla êrîşkar ve hatî destnîşan kirin were bicîh kirin: app.get('/ network_health', async (req, res) = > { const { timeout,ㅤ} = req.query; // di rastiyê de dibêje "const { timeout,ㅤ \u3164}" const checkCommands = [ 'ping -c 1 google. com', 'curl -s http:// example.com/',ㅤ // li dû komê tîpa \u3164 ];

Di nihêrîna pêşîn de, tenê nirxa wextê di nav parametreya derveyî re derbas dibe, û rêzika bi fermanên ku têne darve kirin navnîşek sabît a bêzerar dihewîne. Lê di rastiyê de, piştî guhêrbara wextê, ​​nirxa guhêrbarek din a nedîtbar bi koda karakterê \u3164 tê veqetandin, ku ew jî di nav rêza fermanên îcrakar de tê veguheztin. Ji ber vê yekê, heke sêwiranek wusa hebe, êrîşkar dikare daxwazek wekî "https://host:8080/network_health?%E3%85%A4=command" bişîne da ku derya paşîn çalak bike û koda xwe bicîh bîne.

Nimûneyek din karaktera "ǃ" (KLIKA ALVEOLAR) e, ku dikare were bikar anîn da ku xuyangê nîşankirina xalek derbirînê bide. Mînakî, îfadeya "if(environmentǃ=ENV_PROD){" dema ku di Node.js 14 de were darve kirin dê her gav rast be, ji ber ku ew cûdahiyê kontrol nake, lê nirxa ENV_PROD ji guhêrbara "hawirdorê" re destnîşan dike. Karakterên din ên unicode yên xapînok "/", "−", "+", "⩵", "❨", "⫽", "꓿" û "∗" hene.

Source: opennet.ru

Add a comment