09/10/2022
লাখ টাকার প্রোডাক্ট ১ টাকায় — BUSINESS LOGIC VULNERABILITY
WHAT IS ● BUSINESS LOGIC VULNERABILITY?
অ্যাপ্লিকেশনের ডিজাইন বা ইমপ্লিমেন্টেশনে ত্রুটি থাকলে এরূপ VULNERABILITY-র দেখা মিলে; যা অ্যাটাকারকে ইমপ্লিমেন্টেশনগত ত্রুটিকে কাজে লাগিয়ে নিজের মতো করে ইনবিল্ড ফাংশনালিটিকে ম্যানিপুলেট বা পরিচালনা করার মাধ্যম তৈরি করে দেয়।
মূলত E-commerce টাইপের সেলিং সাইটগুলোতে VULNERABLE PARAMETER এর কারণে IDOR এর উৎপত্তি ঘটে এবং তা থেকে জন্ম নেয় "লাখ টাকার প্রোডাক্ট ১ টাকায়" ভালনারাবিলিটির। এই ভালনারাবিলিটির দরুন একজন অ্যাটাকার চাইলেই লাখ টাকার প্রোডাক্ট কয়েক টাকার বিনিময়ে ক্রয় করে ফেলতে পারে। চলুন সহজ একটি এক্সাম্পলের মাধ্যমে এর বাস্তবিক ধারণা নেওয়া যাক।
এক্ষেত্রে আপনাকে বিভিন্নভাবে সাইট এর প্যারামিটার চেক করে দেখতে হবে যে সঠিকভাবে VALIDATION SERVER SIDE থেকে করা হচ্ছে কিনা। ধরা যাক body তে থাকা PRODUCT-ID in short প্যারামিটারটি ভালনারেবেল। যা সঠিকভাবে ভেলিডেট করে প্রোডাক্ট অ্যাড করছে না ।।
এবার ধরা যাক,
A এবং B দুইটি প্রোডাক্ট; এর ভিতর A এর PID(PRODUCT-ID)=111000 যার PRICE 10 টাকা এবং অপর প্রোডাক্ট B এর PID=222000 যার PRICE 2,10,600 টাকা ।।
এবার CART-এ PRODUCT A অ্যাড করুন যার মূল্য ১০ টাকা। এবার সাবমিটে ক্লিক করে BURPSUITE ব্যবহার করে INTERCEPT করে ফেলুন। এতে করে POST REQUEST-এ প্রোডাক্ট A-এর একটি PID PARAMETER পাবেন।
এবার Kidney14 PRO MAX(B) নামক লাখ টাকার প্রোডাক্টের PRODUCT-ID(222000)টি নিয়ে 10 টাকার প্রোডাক্ট, A-এর PID এর সাথে রিপ্লেস করে দিন। এরপরও দেখবেন যে AMOUNT এর PARAMETER-এ মূল্য সেই 10 টাকাই রয়ে গিয়েছে। এর কারণ SERVER SIDE VALIDATION সঠিকভাবে করতে না পারা; যার ফলে মূল্যে কোন পরিবর্তনই আসে নি ।।
NOW FORWARD THE REQUEST AND BOOM !! TOTAL PRICE WILL BE LISTED AS 10BDT INSTEAD OF 2,10,600BDT ।।
হয়ে গেলো টেকনিক্যালি ২ লাখ টাকার প্রোডাক্ট ১০ টাকায় কেনা :'D CHEERS-MATE🥂
THE END | PART TWO
FT. SERIES — TRACKnBREAK
🖋Write-Up By AnonHaxor007 aka Anon007