اسٽرپچار - ان پٽ صفائي - پيرا ميٽرائيزڊ سوال

اسٽرپچار ان انجڪشن حملي کي ڇو نه روڪيو؟

جيڪڏهن توهان استعمال ڪيو اسٽرپ چار استعمال ڪندڙ جي ان پٽ کي صاف ڪرڻ لاءِ، توهان اڪيلا نه آهيو. ڪيترائي ڊولپر هن قسم تي ڀروسو ڪن ٿا ان پٽ صفائي انجيڪشن جي ڪوششن کي روڪڻ لاءِ. پهرين نظر ۾، اهو منطقي لڳي ٿو، خطرناڪ ڪردارن کي هٽايو، ۽ پيل لوڊ غائب ٿي وڃي ٿو. بهرحال، هي طريقو سيڪيورٽي جو غلط احساس ڏئي ٿو. حقيقت ۾، حملي آور سادي فلٽرن کي نظرانداز ڪري سگهن ٿا جهڙوڪ اسٽرپ چار استعمال ڪرڻ مبهم پيل لوڊ، انڪوڊنگ، يا هوشيار تناظر سوئچنگ. اهو ئي سبب آهي جو هوشيار ڊولپرز اتي نه ٿا رڪجن. ان جي بدران، اهي استعمال ڪن ٿا پيرا ميٽرائيزڊ سوالَ، جيڪو جڙ ۾ انجڪشن جي حملي کي روڪي ٿو.

هن پوسٽ ۾، توهان سکندا ته ڇو اسٽرپ چار حقيقي دنيا جي منظرنامي ۾ ناڪامي، حملي آور انهن فلٽرن کي ڪيئن غلط استعمال ڪن ٿا، ۽ ڪهڙا محفوظ متبادل اصل ۾ ڪم ڪن ٿا. اسان ڪوڊ مثالن مان گذرينداسين، عام بائي پاس ٽيڪنڪ ڏيکارينداسين، ۽ وضاحت ڪنداسين ته ڪيئن ان پٽ صفائي هميشه ساخت جي حفاظت سان جوڙيو وڃي جيئن پيرا ميٽرائيزڊ سوالَ، يا توهان ڪمزور رهندا.

ڇا اسٽرپ چار اصل ۾ ڪري ٿو (۽ نه ڪري ٿو)

ڪيترائي ڊولپر استعمال ڪن ٿا stripchar يا ساڳيا ڪم استعمال ڪندڙ جي ان پٽ مان غير محفوظ اکرن کي هٽائڻ لاءِ. عام طور تي، اهو اوقاف، خاص علامتون، يا ڪجهه به ختم ڪري ٿو جيڪو الفانيميرڪ نه آهي. پهرين ۾، اهو آواز جهڙو آهي ان پٽ صفائي، پر اهو حقيقي تحفظ ناهي.

اچو ته ان کي ٽوڙي ڏسون. هن جهڙو هڪ فنڪشن:

اهڙن ڪردارن کي هٽائي ٿو جهڙوڪ ', "، يا ;. تنهن ڪري، جيڪڏهن توهان داخل ڪيو ٿا:

اهو ٿئي ٿو:

جيتوڻيڪ صارف جو ان پٽ صاف نظر اچي ٿو، حملو ڪندڙ اڃا تائين صرف منطق استعمال ڪندي SQL پيل لوڊ داخل ڪري سگهن ٿا، خاص طور تي جڏهن ايپليڪيشن اسٽرنگ ڪنيڪٽينيشن ذريعي سوال ٺاهي ٿي. SQL انجيڪشن کي واقعي روڪڻ لاءِ، توهان کي پيرا ميٽرائيزڊ سوالن ۽ تناظر کان واقف ان پٽ هينڊلنگ استعمال ڪرڻ گهرجي. ڪردار فلٽر جهڙوڪ stripchar() بس ڪافي نه آهن.

يقيناً، اسٽرپ ٿيل ان پٽ هڪ نظر ۾ وڌيڪ محفوظ نظر اچي سگهي ٿو. بهرحال، هي طريقو خراب منطق کي بي اثر نٿو ڪري، اهو صرف ان کي لکڻ جو طريقو تبديل ڪري ٿو. حقيقت ۾، حملي آور اڪثر ڪري پيل لوڊ کي انڪوڊ ڪندي، وائيٽ اسپيس داخل ڪندي، يا هٽايل ڪردارن کي حڪمت عملي طور تي استعمال ڪندي توهان جي فلٽر کي مڪمل طور تي نظرانداز ڪندي ان جو فائدو وٺندا آهن.

ان کان سواء، اسٽرپ چار نازڪ تناظر جي کوٽ آهي. اهو نٿو ڄاڻي ته ان پٽ ڊيٽابيس، شيل، يا برائوزر ڏانهن وڃي رهيو آهي. ان جو مطلب آهي ته اهو صحيح فرار يا انڪوڊنگ لاڳو نٿو ڪري سگهي. منزل کي ڄاڻڻ کان سواءِ ان پٽ کي صاف ڪرڻ HTML کان فرار ٿيڻ وانگر آهي جڏهن ته اصل خطرو آهي SQLi.

آخر ۾، اسٽرپ چار  ڪنهن به شيءِ جي تشريح يا حفاظت نٿو ڪري، اهو صرف اسٽرنگز کي ايڊٽ ڪري ٿو. ۽ ايڊيٽنگ سيڪيورٽي ناهي. جيڪڏهن توهان حقيقي تحفظ چاهيو ٿا، ته پوءِ منظم، تصديق ٿيل، ۽ پيرا ميٽرائيزڊ سوالن کي استعمال ڪريو. فل اسٽاپ.

فرق کي واضح ڪرڻ لاءِ، هتي آهي ته ڪيئن اسٽرپچار پيرا ميٽرائيزڊ سوالن سان گڏ مقابلو ڪري ٿو:

اسٽرپچار بمقابله پيرا ميٽرائيزڊ سوال: ڪهڙو اصل ۾ توهان جي ڪوڊ جي حفاظت ڪري ٿو؟

مضمون stripchar() پيرا ميٽرائيزڊ سوال
تحفظ جي سطح بنيادي اسٽرنگ صفائي. انڪوڊنگ يا منطقي چالن سان آساني سان نظرانداز ڪيو ويو. SQL انجيڪشن جي سڀني شڪلن جي خلاف مضبوط تحفظ.
حوالي سان آگاهي تناظر کان بي خبر (SQL، HTML، شيل، وغيره). هر هنڌ ساڳيو اصول لاڳو ٿئي ٿو. مڪمل طور تي حوالي سان واقف. هر ماحول لاءِ مناسب فرار استعمال ڪري ٿو.
ڊولپر ڪوشش لاڳو ڪرڻ ۾ تيز پر ڊگهي مدت جي استعمال لاءِ ناقابل اعتبار. صحيح انضمام جي ضرورت آهي، پر مضبوط ۽ مستقبل جي حفاظت لاءِ.
بائي پاس مزاحمت گهٽ - حملو ڪندڙ وائيٽ اسپيس، انڪوڊنگ، يا منطق استعمال ڪندي آساني سان اپنائي وٺندا آهن. هاءِ — ڪوڊ کي ڊيٽا کان الڳ ڪري ٿو ۽ انجيڪشن کي قابل اعتماد طريقي سان بلاڪ ڪري ٿو.
سيڪيورٽي اعتماد حفاظت جو غلط احساس - مسئلو حل ڪرڻ کان سواءِ لڪائي سگھي ٿو. قابل اعتماد صنعت standard محفوظ سوال جي عملدرآمد لاءِ.

حملو ڪندڙ ان پٽ صفائي کي ڪيئن نظرانداز ڪن ٿا

جڏهن ڊولپرز تي ڀروسو ڪندا آهن ته هڪ عام ڪمزور وهڪرو هن طرح نظر ايندو آهي اسٽرپ چار ان پٽ صفائي لاءِ:

اسٽرپچار - ان پٽ صفائي - پيرا ميٽرائيزڊ سوال

حملي آورن کي توهان جا فلٽر ٽوڙڻ جي ضرورت ناهي، انهن کي صرف ضرورت آهي انهن جي چوڌاري وڃو. جڏهن ڊولپرز تي ڀروسو ڪن ٿا اسٽرپ چار ان پٽ جي صفائي لاءِ، اهي اڪثر اهو فرض ڪندا آهن ته ڪوٽس يا سيمي ڪولن جهڙن اکرن کي هٽائڻ سان انجيڪشن جي ڪوششن کي بلاڪ ڪيو ويندو. جڏهن ته، حملي آور جلدي اپنائي وٺندا آهن. اهي ٺاهيندا آهن مبهم پيل لوڊ جيڪي ريجيڪس تي ٻڌل فلٽرن مان گذري ويندا آهن، خاص طور تي جڏهن انهن فلٽرن ۾ ڪا به حوالي نه هوندي آهي.

مثال طور، چئو ته توهان هن طرح ان پٽ کي صاف ڪرڻ جي ڪوشش ڪندا آهيو:

جيتوڻيڪ صارف ڪلاسڪ جمع نٿو ڪرائي سگهي ' OR 1=1 --، اهي يونيڪوڊ ٽرڪس، اسٽرنگ ڪنڪيٽينيشن، يا ٽٽل سنٽيڪس استعمال ڪري سگهن ٿا جيڪو اڃا تائين هلندو آهي. هن طرح جا پيل لوڊ اڪثر ڪم ڪندا آهن:

يا:

جيڪڏهن توهان جو فنڪشن غير لفظي اکرن کي ختم ڪري ٿو، ته توهان ڪري سگهو ٿا حادثاتي طور تي هڪ صحيح SQL حڪم ٻيهر تعمير ڪريو. بدتر، حملي آور قدرن کي انڪوڊ ڪري سگھن ٿا جيڪي توهان جي فلٽر کي پاس ڪن ٿا پر ٽارگيٽ سسٽم طرفان ڊيڪوڊ ٿين ٿا.

SQL انجيڪشن کان علاوه، اسٽرپ چار ٻين حوالي سان پڻ ناڪام ٿئي ٿو، جهڙوڪ شيل ڪمانڊ، فائل رستا، يا جاوا اسڪرپٽ ايگزيڪيوشن. جيئن ته ان ۾ ڪا به آگاهي ناهي ته ان پٽ ڪٿي استعمال ڪيو ويندو، اهو صحيح فرار يا تصديق لاڳو نٿو ڪري سگهي.

نتيجي طور، ان پٽ صفائي سان اسٽرپ چار نظرانداز ڪرڻ آسان آهي. حقيقي سيڪيورٽي ڪٿان ايندي آهي حوالي سان آگاهي ڪنٽرولخاص طور تي پيرا ميٽرائيزڊ سوالَ جيڪي منطق جي انجيڪشن کي مڪمل طور تي روڪين ٿا.

توهان کي ان جي بدران پيرا ميٽرائيزڊ سوالن کي ڇو استعمال ڪرڻ گهرجي

جيڪڏهن توهان واقعي انجڪشن جي حملن کي روڪڻ چاهيو ٿا، ته توهان کي گهرجي اسٽرنگز سان سوال ٺاهڻ بند ڪريو. اهو ڪٿي آهي پيرا ميٽرائيزڊ سوالَ اندر اچو. برعڪس اسٽرپ چار، اهي فلٽر نه ٿا ڪن، اهي ڊيٽا کان الڳ ڪوڊ انجڻ جي سطح تي.

اچو ته ٽٽل سوال تي ٻيهر نظر وجهون:

هي خطرناڪ آهي ڇاڪاڻ ته ان پٽ سڌو سنئون SQL ۾ داخل ڪيو ويندو آهي. ڪردار اسٽرپنگ سان به، توهان اڃا تائين هڪ اسٽرنگ ٺاهي رهيا آهيو جنهن جو غلط استعمال ٿي سگهي ٿو. ان جي بدران، هن طرح هڪ پيرا ميٽرائزڊ سوال استعمال ڪريو:

هتي، ڊيٽابيس ڊرائيور ڄاڻي ٿو ته userInput ڊيٽا آهي، غير قابل عمل ڪوڊ. اهو ان کان پاڻمرادو بچي ٿو ۽ انجيڪشن کي بلاڪ ڪري ٿو، جيتوڻيڪ ان پٽ ۾ ڪوٽس، سيمي ڪولن، يا هيڪس-انڪوڊ ٿيل پيل لوڊ شامل آهن.

پٿون ۾:

پي ايڇ پي ۾ پي ڊي او سان:

انهن سڀني مثالن ۾، پيرا ميٽرائيزڊ سوالَ انجيڪشن کي روڪيو بغير اندازو لڳائڻ جي ته ڪهڙا ڪردار خطرناڪ ٿي سگهن ٿا. توهان کي ضرورت ناهي اسٽرپچار، توهان کي منظم، تناظر کان واقف سوال جي تعمير جي ضرورت آهي.

ان کان علاوه، هي ٽيڪنڪ مبهم پيل لوڊ، يونيڪوڊ ٽرڪس، ۽ انڪوڊنگ بائي پاس کي بلاڪ ڪري ٿي، ساڳيا چوري ڪندڙ نمونا جيڪي XSS ڪمزوريون. زائيگيني جهڙا اوزار انهن خطرن کي جلد ئي پڪڙي وٺندا آهن SAST تجزيو.

مختصر ۾، حقيقي دفاع فلٽرن تي ڀروسو نٿا ڪن. اهي پروٽوڪول، قابل اعتماد APIs، ۽ مڪمل تناظر تي ڀروسو ڪن ٿا. جيڪڏهن توهان فريم ورڪ يا متحرڪ سروس انجيڪشن استعمال ڪندا آهيو، ته پوءِ ان پٽ توهان جي ڪوڊ بيس ذريعي ڪيئن پروپيگٽ ٿين ٿا ان کان آگاهه رهو. محفوظ انحصار انجيڪشن يقيني بڻائي ٿو ته پيچيده وهڪري به نئين حملي واري سطح کي نه کوليندي.

ڀروسو نه ڪريو اسٽرپ چار. حقيقي دفاع کي مضبوط ڪرڻ لاءِ زائيگيني استعمال ڪريو.

جيتوڻيڪ توهان استعمال ڪريو ٿا پيرا ميٽرائيزڊ سوالَ، ڪا به ضمانت ناهي ته توهان جو سڄو ڪوڊ بيس ساڳيو ئي هلندو standard. ليگيسي لاجڪ، ٽئين پارٽي اسڪرپٽ، يا پي آر ۾ نظرانداز ڪيل لائينون اڃا تائين انجيڪشن جا خطرا متعارف ڪرائي سگهن ٿيون. اهو ئي آهي جتي زائيگيني مدد ڪري ٿو.

زائيگيني توهان جو سورس ڪوڊ اسڪين ڪري ٿو، pull requests، ۽ سي آءِ pipelineپڪڙڻ لاءِ:

  • ڪوري اسٽرنگ جيڪي ڪنڪٽينيشن سان SQL ٺاهين ٿا
  • ڪمزور يا گهريلو فلٽر جهڙوڪ اسٽرپ چار
  • مشڪوڪ منطق جيڪو سڃاتل مبهم پيل لوڊ سان ملندو آهي

توهان کي هر لڪير مان ڪنگڻ جي ضرورت ناهي. زائيگيني شروعاتي طور تي غير محفوظ نمونن کي نشانو بڻائي ٿو، لاڳو ٿئي ٿو خودڪار درست ڪريو جتي ممڪن هجي، ۽ ڪسٽمائيزبل سان خطرناڪ ضم کي بلاڪ ڪري سگهي ٿو Guardrails.

مختصر ۾، زائيگيني پڪ ڪري ٿو ته پيرا ميٽرائيزڊ سوال صرف هڪ بهترين عمل نه آهن، پر انهن کي پيماني تي لاڳو ڪيو وڃي ٿو. وڌيڪ ڪو به اندازو نه. ڪو به فلٽر نه وڃايو. بس حقيقي تحفظ.f

ڏسڻ چاهيو ٿا ته زائيجيني توهان جي ڪوڊ ۾ غير محفوظ سوالن کي ڪيئن ڳولي ٿو؟

مفت آزمائش شروع ڪريو! ڪريڊٽ ڪارڊ نه، توهان جي پهرين اسڪين کان مڪمل نمائش.

اهم ڳالهيون: ڇا ياد رکڻ گهرجي اسٽرپ چار ۽ انجيڪشن جا خطرا

  • اسٽرپ چار سيڪيورٽي فنڪشن نه آهي - اهو ڪردارن کي هٽائي ٿو، خطرو نه.
  • ان پٽ صفائي ڪافي نه آهي جڏهن توهان اسٽرنگ ڪنڪٽينيشن سان سوال ٺاهي رهيا آهيو.
  • پيرا ميٽرائيزڊ سوال صحيح دفاع آهن، ۽ هر جديد ٻولي يا فريم ورڪ انهن جي حمايت ڪري ٿو.
  • مبهم پيل لوڊ فلٽرن کان گذري سگهن ٿا، خاص طور تي جيڪڏهن انڪوڊنگ ٽرڪس شامل آهن.
  • جامد تجزيو (SAST) اوزار اهو پڪڙيندا آهن جيڪو انسان وڃائي ٿو.، جنهن ۾ ليگيسي ڪوڊ ۾ لڪيل غير محفوظ نمونا شامل آهن.
  • زائيگيني سڃاڻپ، ترجيح، ۽ حتي اصلاح کي خودڪار بڻائي ٿو تنهنڪري توهان جي ٽيم ڪمزورين جي پيروي ڪرڻ بدران، خاصيتن کي لکڻ تي ڌيان ڏئي سگهي ٿي.

نتيجو: فلٽرن تي ڀروسو نه ڪريو. ڊيزائن جي لحاظ کان محفوظ.

جهڙوڪ ڪمن تي ڀروسو ڪرڻ اسٽرپ چار شايد تڪڙو حل لڳي، پر اهي سيڪيورٽي جو غلط احساس پيدا ڪن ٿا. حملو ڪندڙ اسٽرنگ فلٽرن کان وڌيڪ تيزيءَ سان ترقي ڪن ٿا. انجڪشن حملن کي روڪڻ جو واحد قابل اعتماد طريقو ڊيزائن ذريعي محفوظ ڪوڊ لکڻ، ۽ ان ڊيزائن کي هر هنڌ لاڳو ڪرڻ آهي.

زائيگيني جهڙا اوزار توهان کي اهو خودڪار طريقي سان ڪرڻ ۾ مدد ڪن ٿا. کان pull request جي طرف pipeline، اهي اهو پڪڙيندا آهن جيڪو توهان جا فلٽر نٿا ڪن، ۽ پيداوار تائين پهچڻ کان اڳ ان کي درست ڪندا آهن.

اسڪا-ٽولز-سافٽ ويئر-ڪمپوزيشن-تجزيو-ٽولز
پنهنجي سافٽ ويئر خطرن کي ترجيح ڏيو، درست ڪريو، ۽ محفوظ ڪريو
پنهنجو مفت اڪائونٽ حاصل ڪريو.
ڪنهن به ڪريڊٽ ڪارڊ جي ضرورت نه آهي.

پنهنجي سافٽ ويئر ڊولپمينٽ ۽ پهچائڻ کي محفوظ بڻايو

زائيگيني پراڊڪٽ سوٽ سان