Translated ['src/pentesting-web/rsql-injection.md'] to it

This commit is contained in:
Translator 2025-04-15 00:02:26 +00:00
parent f75066b7e6
commit 01b946a01c

View File

@ -7,10 +7,10 @@
## RSQL Injection
## Cos'è RSQL?
RSQL è un linguaggio di query progettato per il filtraggio parametrizzato degli input nelle API RESTful. Basato su FIQL (Feed Item Query Language), originariamente specificato da Mark Nottingham per interrogare i feed Atom, RSQL si distingue per la sua semplicità e la capacità di esprimere query complesse in modo compatto e conforme agli URI su HTTP. Questo lo rende un'ottima scelta come linguaggio di query generale per la ricerca degli endpoint REST.
RSQL è un linguaggio di query progettato per il filtraggio parametrizzato degli input nelle API RESTful. Basato su FIQL (Feed Item Query Language), specificato originariamente da Mark Nottingham per interrogare i feed Atom, RSQL si distingue per la sua semplicità e la capacità di esprimere query complesse in modo compatto e conforme agli URI su HTTP. Questo lo rende un'ottima scelta come linguaggio di query generale per la ricerca degli endpoint REST.
## Panoramica
L'RSQL Injection è una vulnerabilità nelle applicazioni web che utilizzano RSQL come linguaggio di query nelle API RESTful. Simile a [SQL Injection](https://owasp.org/www-community/attacks/SQL_Injection) e [LDAP Injection](https://owasp.org/www-community/attacks/LDAP_Injection), questa vulnerabilità si verifica quando i filtri RSQL non sono adeguatamente sanitizzati, consentendo a un attaccante di iniettare query dannose per accedere, modificare o eliminare dati senza autorizzazione.
L'iniezione RSQL è una vulnerabilità nelle applicazioni web che utilizzano RSQL come linguaggio di query nelle API RESTful. Simile a [SQL Injection](https://owasp.org/www-community/attacks/SQL_Injection) e [LDAP Injection](https://owasp.org/www-community/attacks/LDAP_Injection), questa vulnerabilità si verifica quando i filtri RSQL non sono adeguatamente sanitizzati, consentendo a un attaccante di iniettare query dannose per accedere, modificare o eliminare dati senza autorizzazione.
## Come funziona?
RSQL consente di costruire query avanzate nelle API RESTful, ad esempio:
@ -125,7 +125,7 @@ Content-Length: 85
}]
}
```
Sebbene ci si aspetti un `/api/registrations?email=<emailAccount>`, è possibile utilizzare i filtri RSQL per tentare di enumerare e/o estrarre informazioni sugli utenti attraverso l'uso di operatori speciali:
Sebbene ci si aspetti un `/api/registrations?email=<emailAccount>`, è possibile utilizzare filtri RSQL per tentare di enumerare e/o estrarre informazioni sugli utenti attraverso l'uso di operatori speciali:
### Request
```
GET /api/registrations?filter[userAccounts]=email=='test@test.com' HTTP/1.1
@ -209,7 +209,7 @@ Access-Control-Allow-Origin: *
}
```
## Evasione dell'autorizzazione
In questo scenario, partiamo da un utente con un ruolo base e nel quale non abbiamo permessi privilegiati (ad es. amministratore) per accedere all'elenco di tutti gli utenti registrati nel database:
In questo scenario, partiamo da un utente con un ruolo di base e nel quale non abbiamo permessi privilegiati (ad es. amministratore) per accedere all'elenco di tutti gli utenti registrati nel database:
### Richiesta
```
GET /api/users HTTP/1.1
@ -348,7 +348,7 @@ Access-Control-Allow-Origin: *
"data": []
}
```
Utilizzando determinati operatori, potremmo enumerare gli utenti amministratori:
Utilizzando determinati operatori potremmo enumerare gli utenti amministratori:
### Richiesta
```
GET /api/companyUsers?include=role&filter[companyUsers]=user.id=='94****************************' HTTP/1.1