আমি বুঝতে পেরেছি যে প্যারামিটারাইজড এসকিউএল কোয়েরিগুলি ব্যবহারকারী ইনপুট রয়েছে এমন প্রশ্নের নির্মাণের সময় ব্যবহারকারীর ইনপুটকে স্যানিটাইজ করার সর্বোত্তম উপায়, তবে আমি ভাবছি যে ব্যবহারকারী ইনপুট নেওয়া এবং কোনও একক উদ্ধৃতি থেকে বেরিয়ে আসা এবং একক উদ্ধৃতি সহ পুরো স্ট্রিংকে ঘিরে is কোডটি এখানে:
sSanitizedInput = "'" & Replace(sInput, "'", "''") & "'"
ব্যবহারকারী প্রবেশ করানো যে কোনও একক-উদ্ধৃতিগুলি ডাবল সিঙ্গল-কোটগুলির সাথে প্রতিস্থাপন করা হবে, যা ব্যবহারকারীদের স্ট্রিংটি শেষ করার ক্ষমতা সরিয়ে দেয়, তাই তারা যে কোনও কিছু লিখতে পারে যেমন সেমিকোলনস, শতাংশ চিহ্ন ইত্যাদি, সব স্ট্রিংয়ের অংশ হবে এবং কমান্ডের অংশ হিসাবে বাস্তবায়িত হয়নি uted
আমরা মাইক্রোসফ্ট এসকিউএল সার্ভার 2000 ব্যবহার করছি, যার জন্য আমি বিশ্বাস করি যে একক-উদ্ধৃতি হ'ল স্ট্রিং ডিলিমিটার এবং স্ট্রিং ডিলিমিটার থেকে বেরিয়ে আসার একমাত্র উপায়, সুতরাং ব্যবহারকারীর মধ্যে যে কোনও কিছু কার্যকর করার কোনও উপায় নেই।
আমি এর বিরুদ্ধে এসকিউএল ইঞ্জেকশন আক্রমণ চালানোর কোনও উপায় দেখছি না, তবে আমি বুঝতে পারি যে এটি যদি আমার কাছে মনে হয় বুলেটপ্রুফ হয় তবে অন্য কেউ এরই মধ্যে ইতিমধ্যে ভেবেছিলেন এবং এটি সাধারণ অনুশীলন হবে।
এই কোডটিতে কি সমস্যা আছে? এই স্যানিটাইজেশন কৌশলটি পেরিয়ে যাওয়ার জন্য কি কোনও এসকিউএল ইঞ্জেকশন আক্রমণ পাওয়ার উপায় আছে? এই কৌশলটি ব্যবহার করে এমন নমুনা ব্যবহারকারীর ইনপুটটি খুব সহায়ক হবে।
হালনাগাদ:
এই কোডটির বিপরীতে কোনও এসকিউএল ইঞ্জেকশন আক্রমণ কার্যকরভাবে চালিত করার কোনও উপায় আমি এখনও জানি না। কিছু লোক পরামর্শ দিয়েছিল যে একটি ব্যাকস্ল্যাশ একটি একক উদ্ধৃতি থেকে রক্ষা পাবে এবং অন্যটিকে স্ট্রিংটি শেষ করতে ছেড়ে দেবে যাতে বাকী স্ট্রিং এসকিউএল কমান্ডের অংশ হিসাবে কার্যকর করা যায় এবং আমি বুঝতে পারি যে এই পদ্ধতিটি এসকিউএলকে ইনজেক্ট করার জন্য কাজ করবে realize একটি মাইএসকিউএল ডাটাবেস, তবে এসকিউএল সার্ভার ২০০০-এ একক-উদ্ধৃতি থেকে বাঁচার একমাত্র উপায় (যেটি আমি খুঁজে পেতে পেরেছি) অন্য একক উদ্ধৃতি সহ; ব্যাকস্ল্যাশগুলি এটি করবে না।
এবং একক-উদ্ধৃতি থেকে বেরিয়ে আসা বন্ধ করার কোনও উপায় না থাকলে, ব্যবহারকারীর বাকী ইনপুটটির কোনওটিই কার্যকর করা হবে না কারণ এটি সমস্তই একটি স্বতন্ত্র স্ট্রিং হিসাবে নেওয়া হবে।
আমি বুঝতে পারি যে ইনপুট স্যানিটাইজ করার আরও ভাল উপায় আছে তবে আমি উপরে যে পদ্ধতিটি সরবরাহ করেছি তা কেন কার্যকর হবে তা শেখার ক্ষেত্রে আমি আরও আগ্রহী। এই স্যানিটাইজেশন পদ্ধতির বিরুদ্ধে এসকিউএল ইনজেকশন আক্রমণ চালানোর কোনও নির্দিষ্ট উপায় যদি কেউ জানেন তবে আমি এটি দেখতে পছন্দ করব।