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-2022-31692 — Un progetto che dimostra un'app vulnerabile al bypass dell'autorizzazione di Spring Security CVE-2022-31692 | Kitploit
Strumenti/GitHubGitHub/blipzip/cve-2022-31692
Autenticazione e AutorizzazioneAnalisi delle VulnerabilitàSfruttamento di Applicazioni WebPenetration TestingApprendimento e Formazione
GitHubblipzip/cve-2022-31692

cve-2022-31692

Un progetto che dimostra un'app vulnerabile al bypass dell'autorizzazione di Spring Security CVE-2022-31692

Vedi Repository
3563 anni faRevisionato da Kitploit

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-2022-31692 Demo

Panoramica

Una semplice applicazione Spring Boot che dimostra una configurazione vulnerabile a CVE-2022-31692.

Questa vulnerabilità può attirare l'attenzione per la sua gravità: ha un punteggio base CVSS 3.x di 9.8 in quanto consente il bypass dell'autenticazione. Lo scopo di questo progetto è dimostrare le condizioni descritte nell'avviso, che portano all'applicabilità della vulnerabilità.

  • L'applicazione si aspetta che Spring Security applichi la sicurezza ai tipi di dispatcher forward e include.
  • L'applicazione utilizza AuthorizationFilter manualmente o tramite il metodo authorizeHttpRequests().
  • L'applicazione configura FilterChainProxy per applicarsi a richieste forward e/o include (ad es. spring.security.filter.dispatcher-types = request, error, async, forward, include).
  • L'applicazione può inoltrare (forward) o includere la richiesta a un endpoint con privilegi più elevati.
  • L'applicazione configura Spring Security per applicarsi a ogni tipo di dispatcher tramite authorizeHttpRequests().shouldFilterAllDispatcherTypes(true)

Per riferimento, sono abbastanza sicuro che questo sia il commit che risolve la vulnerabilità.

Dimostrazione

L'applicazione ha tre URL:

  1. / La pagina principale
  2. /admin Una pagina di amministrazione, che richiede all'utente di fornire autenticazione Basic (credenziali "user"/"pass") e di avere il ruolo ROLE_ADMIN
  3. /forward Un forward lato server verso la pagina di amministrazione

I controlli di accesso sono specificati tramite authorizeHttpRequests() nella classe SecurityConfig.

root@kitploit:~
.authorizeHttpRequests((authz) -> authz
	.antMatchers("/").permitAll()
	.antMatchers("/forward").permitAll()
	.antMatchers("/admin").hasAuthority("ROLE_ADMIN")
	.shouldFilterAllDispatcherTypes(true)
)

Comportamenti attesi

  1. L'utente accede a / e non è autenticato (grazie a permitAll())

  2. L'utente accede a /admin. Non fornisce autenticazione e la richiesta viene rifiutata (401 Non autorizzato).

  3. L'utente accede a /admin. Fornisce autenticazione valida, ma la richiesta viene comunque rifiutata (403 Non autorizzato) perché non ha il ruolo richiesto .hasAuthority("ROLE_ADMIN").

  4. L'utente accede a /forward. La sua richiesta attraversa la catena di filtri di sicurezza per GET /forward, che passa come valida (grazie a permitAll()). Il controller elabora la richiesta e restituisce forward:/admin al Dispatcher. Come indicato dalle impostazioni spring.security.filter.dispatcher-types e .shouldFilterAllDispatcherTypes(true), questo è un tipo FORWARD, quindi dovrebbe essere nuovamente passato attraverso la catena di filtri. Questo secondo passaggio attraverso il filtro comporta il rifiuto della richiesta (ancora, grazie a hasAuthority("ROLE_ADMIN")).

Comportamento effettivo

L'utente accede a /forward, la richiesta viene passata attraverso la catena di filtri una volta e passa come valida. Il forward viene elaborato, ma invece di essere passato nuovamente attraverso la catena, viene semplicemente considerato valido e viene restituita la pagina di amministrazione.

Scarica lo strumento