mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/pentesting-web/rsql-injection.md'] to it
This commit is contained in:
parent
f75066b7e6
commit
01b946a01c
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user