ڪراس سائيٽ اسڪرپٽنگ (XSS) هڪ ڪمزوري آهي جيڪا هڪ حملي آور کي ويب پيج ۾ خراب اسڪرپٽ داخل ڪرڻ جي اجازت ڏئي ٿي، اسڪرپٽ جيڪي پوءِ ٻئي صارف جي برائوزر ۾ هلن ٿيون جيئن اهي اتي هجن. اهو مسلسل درجه بندي ۾ آهي OWASP ٽاپ 10، ۽ اهو اڃا تائين حملي آورن جي سيشن ڊيٽا چوري ڪرڻ، اڪائونٽس کي اغوا ڪرڻ، يا خاموشي سان ڪنهن ايپليڪيشن جي پنهنجي استعمال ڪندڙن جي اعتماد کي خراب ڪرڻ جي سڀ کان عام طريقن مان هڪ آهي.
SAST اوزار انهن ڪمزورين کي جلد ئي پڪڙڻ لاءِ سڀ کان وڌيڪ اثرائتي طريقن مان هڪ آهن، صحيح نمونن لاءِ سورس ڪوڊ اسڪين ڪرڻ جيڪي XSS کي سلپ ڪرڻ ڏين ٿا، ان کان اڳ جو ڪوڊ ڪڏهن به پيداوار تائين پهچي. هن پوسٽ ۾: XSS جا ٽي سڀ کان عام قسم، اهي حقيقي ڪوڊ ۾ ڪيئن نظر اچن ٿا، ۽ ڪيئن SAST اوزار (انهي سان گڏ ڪجھ ڪوڊنگ طريقا) انهن کي موڪلڻ کان اڳ بند ڪري ڇڏيندا آهن.
XSS ڪمزوريون ڇا آهن ۽ توهان کي ڇو خيال رکڻ گهرجي؟
XSS ڪمزوريون تڏهن ٿينديون آهن جڏهن ڪا ايپليڪيشن غير قابل اعتماد ان پٽ وٺندي آهي، ڪا شيءِ جيڪا صارف ٽائيپ ڪندو آهي، پيسٽ ڪندو آهي، يا URL ۾ پاس ڪندو آهي، ۽ ان کي صحيح طور تي تصديق ڪرڻ يا ان کي پهرين فرار ڪرڻ کان سواءِ واپس صفحي ۾ رينڊر ڪندو آهي. جڏهن اهو ٿئي ٿو، هڪ حملو ڪندڙ عام متن جي بدران اسڪرپٽ ۾ اسمگل ڪري سگهي ٿو، ۽ برائوزر وٽ فرق ٻڌائڻ جو ڪو طريقو ناهي: اهو صرف ان کي هلائي ٿو، ساڳئي اعتماد ۽ اجازتن سان جيئن باقي صفحي تي.
اهو ئي آهي جيڪو XSS کي خطرناڪ بڻائي ٿو جيتوڻيڪ بنيادي بگ اڪثر ننڍو هوندو آهي. هڪ واحد غير صفائي ٿيل ان پٽ فيلڊ هڪ حملي آور کي سيشن ڪوڪيز چوري ڪرڻ ۽ لاگ ان ٿيل اڪائونٽ کي هائيجيڪ ڪرڻ جي اجازت ڏئي سگهي ٿو، خاموشي سان صارفين کي فشنگ پيج ڏانهن ريڊائريڪٽ ڪري سگهي ٿو، ڪي اسٽروڪ لاگ ڪري سگهي ٿو، يا هڪ دورو ڪندڙ ڏسي ٿو اهو مواد ٻيهر لکي سگهي ٿو، اهو سڀ ڪجهه توهان جي سرورز کي سڌو سنئون ڇهڻ کان سواءِ. ڪمزوري مڪمل طور تي ان ۾ رهي ٿي ته برائوزر توهان جي ايپليڪيشن جي پنهنجي آئوٽ پُٽ تي ڪيئن ڀروسو ڪري ٿو.
اهو ئي سبب آهي جو XSS OWASP ٽاپ 10 ۾ گهڻو ڪري ظاهر ٿئي ٿو: ان کي هڪ نفيس استحصالي زنجير جي ضرورت ناهي، صرف هڪ نظرانداز ڪيل ان پٽ، ۽ ڌماڪي جو ريڊيس هر صارف تائين وڌندو آهي جيڪو متاثر ٿيل صفحي کي لوڊ ڪري ٿو.
XSS حملا غير واضح: ٽي سڀ کان عام قسم
1. اسٽور ٿيل XSS: مسلسل خطرو
اسٽور ٿيل XSS سرور تي مستقل طور تي هڪ خراب اسڪرپٽ لڳائيندو آهي، تنهنڪري اهو هر صارف لاءِ خودڪار طريقي سان فائر ٿيندو آهي جيڪو بعد ۾ متاثر ٿيل صفحي کي ڏسندو آهي.
محفوظ ٿيل XSS ڪمزوريون تڏهن ٿينديون آهن جڏهن خراب اسڪرپٽ مستقل طور تي سرور تي محفوظ ڪيون وينديون آهن (مثال طور، ڊيٽابيس ۾) ۽ جڏهن به ڪو صارف متاثر ٿيل صفحي تائين رسائي حاصل ڪندو آهي ته ان تي عمل ڪيو ويندو آهي.
مثال طور: هڪ تبصرو فيلڊ جيڪو غير تصديق ٿيل صارف ان پٽ قبول ڪري ٿو:
2. عڪاسي ڪيل XSS: لمحي ۾ پهچايو ويو
عڪاسي ٿيل XSS هڪ ئي ٺاهيل لنڪ ۾ رهي ٿو، اسڪرپٽ صرف تڏهن هلندي آهي جڏهن ڪو متاثر ان تي ڪلڪ ڪندو آهي، عام طور تي فشنگ يا سوشل انجنيئرنگ ذريعي.
عڪاسي ٿيل XSS تڏهن ٿئي ٿو جڏهن خراب اسڪرپٽ URLs ۾ شامل ڪيا وڃن ٿا ۽ عمل ۾ آندا وڃن ٿا جڏهن ڪو صارف لنڪ سان رابطو ڪري ٿو، عام طور تي فشنگ يا سوشل انجنيئرنگ ذريعي پهچايو ويندو آهي.
مثال طور:
3. DOM تي ٻڌل XSS: برائوزر ۾ لڪيل حملا
DOM تي ٻڌل XSS ڪڏهن به سرور کي هٿ نه ٿو لڳائي، خراب اسڪرپٽ مڪمل طور تي ڪلائنٽ سائڊ تي عمل ڪري ٿو، جاوا اسڪرپٽ ذريعي جيڪو صفحي جي مواد کي غلط طريقي سان سنڀاليندو آهي.
هن قسم ۾، خراب اسڪرپٽ ڪلائنٽ-سائيڊ جاوا اسڪرپٽ ۾ ڪمزورين جو استحصال ڪندي دستاويز آبجیکٹ ماڊل (DOM) کي هٿي وٺرائيندا آهن.
مثال طور: هڪ جاوا اسڪرپٽ جو ٽڪرو جيڪو متحرڪ طور تي غير صفائي ٿيل صارف ان پٽ کي پيش ڪري ٿو:
توهان کي حيرت آهي ته توهان جي پنهنجي ڪوڊ بيس ۾ انهن مان ڪيترا نمونا اڳ ۾ ئي موجود آهن؟ زائيجيني جو SAST پرچم محفوظ ٿيل، عڪاسي ٿيل، ۽ DOM تي ٻڌل XSS خطرن کي خودڪار طريقي سان اسڪين ڪري ٿو، ان کان اڳ جو اهي هڪ تائين پهچي وڃن pull request.
ڪيئن SAST اوزار XSS کي ان جي ٽريڪ ۾ روڪين ٿا
جامد ايپليڪيشن سيڪيورٽي ٽيسٽنگ (SAST) اوزار سافٽ ويئر ڊولپمينٽ لائف سائيڪل جي شروعات ۾ XSS ڪمزورين جي سڃاڻپ ۾ انمول آهن (SDLC).
ڪي فائدا
ترقي جي شروعات ۾ مسئلن کي پڪڙيو
SAST اوزار ايپليڪيشن کي استعمال ڪرڻ کان اڳ ڪمزور نمونن لاءِ سورس ڪوڊ اسڪين ڪندا آهن.
نشان لڳل ڪمزوري جو مثال:
محفوظ متبادل:
پوري ڪوڊ بيس جو تجزيو ڪريو
جديد SAST اوزار صرف ڪسٽم ڪوڊ جو تجزيو نه ڪندا آهن؛ اهي انحصار ۽ ٽئين پارٽي لائبريرين کي پڻ اسڪين ڪندا آهن، لڪيل خطرن کي ڳوليندا آهن.
بيحد ضم ڪريو CI/CD
SAST اوزار خودڪار طريقي سان XSS ڪمزورين لاءِ اسڪين ڪندا آهن pull requests ۽ غير محفوظ ڪوڊ کي ضم ٿيڻ کان روڪيو.
سڀ کان وڌيڪ اهم ڳالهه تي ڌيان ڏيو
SAST اوزار ڪمزورين جي استحصال ۽ شدت جو جائزو وٺي اصلاح کي ترجيح ڏين ٿا، ٽيمن کي سڀ کان اهم مسئلن کي پهريان حل ڪرڻ جي قابل بڻائين ٿا.
ڪيئن زائيگيني توهان کي XSS جي خلاف جنگ کٽڻ ۾ مدد ڪري ٿي
زائيجيني جامد تجزيو، اي آءِ سان هلندڙ ريميڊيئيشن، ۽ سپلائي چين جي نمائش کي گڏ ڪري ٿو ته جيئن ايڪس ايس ايس جي ڪمزوري کي ڳولڻ ۽ اصل ۾ ان کي درست ڪرڻ جي وچ ۾ فرق کي ختم ڪري سگهجي. هتي ڪيئن آهي:
- Code Security (SAST): XSS ۽ ٻين انجڪشن خامين لاءِ پهرين پارٽي ڪوڊ کي اسڪين ڪري ٿو جيئن اهو لکيل آهي، انهن کي تعیناتي کان اڳ پڪڙي ٿو. OWASP بينچ مارڪ تي، Xygeni-SAST XSS جي ڳولا تي گهٽ ۾ گهٽ غلط مثبت سان 100٪ صحيح مثبت شرح حاصل ڪري ٿو.
- اي آءِ آٽو فڪس: ڊولپر تيار اصلاحن سان فوري طور تي نشان لڳل XSS ڪمزورين کي درست ڪري ٿو، هڪ پيدا ڪري ٿو pull request توهان جي ڪوڊ بيس سان ڳنڍيل هڪ محفوظ متبادل سان، ڪنهن به دستي پيچنگ جي ضرورت ناهي.
- مالويئر دفاع: انجيڪٽ ٿيل يا سمجهوتو ٿيل ڪوڊ لاءِ انحصار ۽ ٽئين پارٽي لائبريرين جي نگراني ڪري ٿو، تنهن ڪري اوپن سورس پيڪيج ۾ لڪيل هڪ ڪمزور نمونو توهان جي پهرين پارٽي ڪوڊ جي جائزي کان ٻاهر نه نڪرندو آهي.
- IDE ۽ CI/CD سماج ڪوڊ لکڻ سان ئي IDE ۾ مسئلن کي سڌو سنئون نشان لڳائي ٿو، ۽ تشريح ڪري ٿو. pull requests GitHub، GitLab، Bitbucket، Azure DevOps، ۽ Jenkins تي خودڪار طريقي سان، تنهنڪري ڪمزور ڪوڊ پهرين جاءِ تي ضم نه ٿيندو آهي.
لچڪدار ايپليڪيشنون ٺاهيو: ڪراس سائيٽ اسڪرپٽنگ کي جاري رکڻ لاءِ صلاحون
پنهنجين درخواستن کي وڌيڪ محفوظ بڻائڻ لاءِ، انهن طريقن کي گڏوگڏ لاڳو ڪريو SAST اوزار:
- استعمال ڪندڙ جي ان پٽن کي صاف ڪريو: مضبوط صفائي لاءِ DOMPurify جهڙيون لائبريريون استعمال ڪريو.
- انڪوڊ آئوٽ پُٽ: برائوزر ۾ رينڊر ڪرڻ کان اڳ هميشه متحرڪ ڊيٽا کي انڪوڊ ڪريو.
- مواد سيڪيورٽي پاليسيون (سي ايس پيز) لاڳو ڪريو: اسڪرپٽ جي عملدرآمد کي قابل اعتماد ذريعن تائين محدود ڪريو.
- ڪوڊ آڊٽ کي مسلسل بڻايو، وقتي نه: دستي جائزي جي شيڊول ڪرڻ بدران، زائيجيني کي هلايو SAST اسڪين ڪري ٿو جيئن pre-commit ٿلهو يا سڌو سنئون توهان جي ۾ CI/CD pipeline (GitHub، GitLab، Bitbucket، Azure DevOps، Jenkins)، تنهنڪري هر هڪ commit خودڪار طريقي سان چيڪ ڪيو ويندو آهي، ۽ غير محفوظ ڪوڊ ڪڏهن به ضم نه ٿيندو آهي.
XSS خلاف پنهنجون درخواستون محفوظ ڪرڻ لاءِ تيار آهيو؟
XSS ڪمزورين کي توهان جي ايپليڪيشن سيڪيورٽي کي خطرو نه هجڻ گهرجي. اهي ڪيئن ڪم ڪن ٿا اهو سمجهڻ، انهن کي پڪڙڻ SAST اوزار، ۽ محفوظ ڪوڊنگ جي طريقن تي عمل ڪرڻ سان توهان جي نمائش کي تقريبن صفر تائين گهٽائي سگهجي ٿو ان کان اڳ جو ڪو حملو ڪندڙ ڪڏهن به خلا ڳولي.
At زائيگيني، اسان انهن ڪمزورين کي جلد پڪڙڻ، انهن کي ترجيح ڏيڻ لاءِ ٺاهيا ويا آهيون جيڪي اصل ۾ اهم آهن، ۽ انهن کي توهان جي pipelineمڪمل طور تي.
ڪتاب هڪ ڊيمو، يا اڄ ئي پنهنجو ڪوڊ مفت ۾ اسڪين ڪرڻ شروع ڪريو.
لوڊ
XSS ڪمزوري ڇا آهي؟
ايڪس ايس ايس (ڪراس سائيٽ اسڪرپٽنگ) هڪ ڪمزوري آهي جيڪا هڪ حملي آور کي ويب پيج ۾ هڪ خراب اسڪرپٽ داخل ڪرڻ جي اجازت ڏئي ٿي، جيڪا پوءِ ٻئي صارف جي برائوزر ۾ هلندي آهي ڄڻ ته اها جائز سائيٽ جو حصو هجي.
XSS جا ٽي مکيه قسم ڪهڙا آهن؟
اسٽور ٿيل XSS (اسڪرپٽ سرور تي محفوظ ڪئي وئي آهي ۽ هر ايندڙ لاءِ هلندي آهي)، Reflected XSS (اسڪرپٽ هڪ لنڪ ۾ شامل ڪئي وئي آهي ۽ صرف تڏهن هلندي آهي جڏهن اهو لنڪ ڪلڪ ڪيو ويندو آهي)، ۽ DOM-based XSS (اسڪرپٽ مڪمل طور تي برائوزر ۾ غير محفوظ ڪلائنٽ-سائيڊ جاوا اسڪرپٽ ذريعي عمل ڪري ٿي، بغير سرور کي شامل ڪرڻ جي).
سگهن ٿا SAST ڇا اوزار DOM تي ٻڌل XSS کي پڪڙيندا آهن؟
ها، جديد SAST اوزار ڪلائنٽ-سائڊ جاوا اسڪرپٽ کي ساڳين غير محفوظ نمونن لاءِ اسڪين ڪن ٿا (جهڙوڪ غير صفائي ٿيل ان پٽ سڌو سنئون DOM ۾ لکيل) جيڪي DOM-بنياد XSS جو سبب بڻجن ٿا، نه صرف سرور-سائڊ ڪوڊ.
ڇا XSS اڃا تائين هڪ عام ڪمزوري آهي؟
ها. XSS OWASP ٽاپ 10 ۾ هڪ مستقل داخلا رهي ٿي، وڏي حد تائين ڇاڪاڻ ته اهو صرف هڪ نظرانداز ڪيل ان پٽ فيلڊ کي پوري ايپليڪيشن جي استعمال ڪندڙن کي بي نقاب ڪرڻ لاءِ وٺندو آهي.
ڪيئن آهي SAST XSS جي روڪٿام لاءِ ويب ايپليڪيشن فائر وال (WAF) کان مختلف اوزار ڇا آهي؟
A SAST ٽول ڊيپلائيمينٽ کان اڳ توهان جي سورس ڪوڊ ۾ ڪمزور نموني کي ڳولي ٿو، تنهن ڪري بگ ڪڏهن به نه موڪليندو آهي. هڪ WAF اڳ ۾ ئي هلندڙ ايپليڪيشن جي سامهون ويٺي آهي ۽ رن ٽائم تي خراب درخواستن کي بلاڪ ڪرڻ جي ڪوشش ڪري ٿو، اهو هڪ حفاظتي نيٽ آهي، بنيادي ڪوڊ لاءِ حل نه آهي.





