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

This commit is contained in:
Translator 2025-04-15 00:02:22 +00:00
parent 78858c5657
commit 4d6e90ab1e

View File

@ -39,11 +39,11 @@ Or even take advantage to extract sensitive information with Boolean queries or
| `,` / `or` | Logiczny operator **OR**. Filtruje wiersze, gdzie *przynajmniej jeden* warunek jest *prawdziwy*| `/api/v2/myTable?q=columnA==valueA,columnB==valueB` |
| `==` | Wykonuje zapytanie **równości**. Zwraca wszystkie wiersze z *myTable*, gdzie wartości w *columnA* dokładnie równe są *queryValue* | `/api/v2/myTable?q=columnA==queryValue` |
| `=q=` | Wykonuje zapytanie **wyszukiwania**. Zwraca wszystkie wiersze z *myTable*, gdzie wartości w *columnA* zawierają *queryValue* | `/api/v2/myTable?q=columnA=q=queryValue` |
| `=like=` | Wykonuje zapytanie **podobieństwa**. Zwraca wszystkie wiersze z *myTable*, gdzie wartości w *columnA* są podobne do *queryValue* | `/api/v2/myTable?q=columnA=like=queryValue` |
| `=in=` | Wykonuje zapytanie **w**. Zwraca wszystkie wiersze z *myTable*, gdzie *columnA* zawiera *valueA* LUB *valueB* | `/api/v2/myTable?q=columnA=in=(valueA, valueB)` |
| `=out=` | Wykonuje zapytanie **wykluczenia**. Zwraca wszystkie wiersze z *myTable*, gdzie wartości w *columnA* nie są ani *valueA*, ani *valueB* | `/api/v2/myTable?q=columnA=out=(valueA,valueB)` |
| `!=` | Wykonuje zapytanie *nie równości*. Zwraca wszystkie wiersze z *myTable*, gdzie wartości w *columnA* nie są równe *queryValue* | `/api/v2/myTable?q=columnA!=queryValue` |
| `=notlike=` | Wykonuje zapytanie **nie podobieństwa**. Zwraca wszystkie wiersze z *myTable*, gdzie wartości w *columnA* nie są podobne do *queryValue* | `/api/v2/myTable?q=columnA=notlike=queryValue` |
| `=like=` | Wykonuje zapytanie **jak**. Zwraca wszystkie wiersze z *myTable*, gdzie wartości w *columnA* są podobne do *queryValue* | `/api/v2/myTable?q=columnA=like=queryValue` |
| `=in=` | Wykonuje zapytanie **in**. Zwraca wszystkie wiersze z *myTable*, gdzie *columnA* zawiera *valueA* LUB *valueB* | `/api/v2/myTable?q=columnA=in=(valueA, valueB)` |
| `=out=` | Wykonuje zapytanie **wyklucz**. Zwraca wszystkie wiersze z *myTable*, gdzie wartości w *columnA* nie są ani *valueA*, ani *valueB* | `/api/v2/myTable?q=columnA=out=(valueA,valueB)` |
| `!=` | Wykonuje zapytanie *nie równa się*. Zwraca wszystkie wiersze z *myTable*, gdzie wartości w *columnA* nie są równe *queryValue* | `/api/v2/myTable?q=columnA!=queryValue` |
| `=notlike=` | Wykonuje zapytanie **nie jak**. Zwraca wszystkie wiersze z *myTable*, gdzie wartości w *columnA* nie są podobne do *queryValue* | `/api/v2/myTable?q=columnA=notlike=queryValue` |
| `<` & `=lt=` | Wykonuje zapytanie **mniejsze niż**. Zwraca wszystkie wiersze z *myTable*, gdzie wartości w *columnA* są mniejsze niż *queryValue* | `/api/v2/myTable?q=columnA<queryValue` <br> `/api/v2/myTable?q=columnA=lt=queryValue` |
| `=le=` & `<=` | Wykonuje zapytanie **mniejsze niż** lub **równe**. Zwraca wszystkie wiersze z *myTable*, gdzie wartości w *columnA* są mniejsze lub równe *queryValue* | `/api/v2/myTable?q=columnA<=queryValue` <br> `/api/v2/myTable?q=columnA=le=queryValue` |
| `>` & `=gt=` | Wykonuje zapytanie **większe niż**. Zwraca wszystkie wiersze z *myTable*, gdzie wartości w *columnA* są większe niż *queryValue* | `/api/v2/myTable?q=columnA>queryValue` <br> `/api/v2/myTable?q=columnA=gt=queryValue` |
@ -65,7 +65,7 @@ Or even take advantage to extract sensitive information with Boolean queries or
**Uwaga**: Tabela oparta na informacjach z aplikacji [**rsql-parser**](https://github.com/jirutka/rsql-parser).
## Wyciek informacji i enumeracja użytkowników
Następujące zapytanie pokazuje punkt końcowy rejestracji, który wymaga parametru email, aby sprawdzić, czy istnieje jakikolwiek użytkownik zarejestrowany pod tym adresem email i zwrócić wartość prawda lub fałsz w zależności od tego, czy istnieje w bazie danych:
Następujące zapytanie pokazuje punkt końcowy rejestracji, który wymaga parametru email, aby sprawdzić, czy istnieje jakikolwiek użytkownik zarejestrowany pod tym adresem e-mail i zwrócić wartość prawda lub fałsz w zależności od tego, czy istnieje w bazie danych:
### Zapytanie
```
GET /api/registrations HTTP/1.1
@ -215,7 +215,7 @@ Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Access-Control-Allow-Origin: *
```
Ponownie korzystamy z filtrów i specjalnych operatorów, które pozwolą nam na alternatywny sposób uzyskania informacji o użytkownikach i ominięcia kontroli dostępu. Na przykład, filtruj według tych *użytkowników*, którzy zawierają literę “*a*” w swoim *ID* użytkownika:
Ponownie wykorzystujemy filtry i specjalne operatory, które pozwolą nam na alternatywny sposób uzyskania informacji o użytkownikach i ominięcia kontroli dostępu. Na przykład, filtruj według tych *użytkowników*, którzy zawierają literę “*a*” w swoim *ID* użytkownika:
### Request
```
GET /api/users?filter[users]=id=in=(*a*) HTTP/1.1
@ -435,11 +435,11 @@ Access-Control-Allow-Origin: *
}, {
.......
```
## Podszywanie się lub Niebezpieczne Bezpośrednie Odwołania do Obiektów (IDOR)
## Impersonacja lub Niebezpieczne Bezpośrednie Odwołania do Obiektów (IDOR)
Oprócz użycia parametru `filter`, możliwe jest użycie innych parametrów, takich jak `include`, który pozwala na uwzględnienie w wyniku określonych parametrów (np. język, kraj, hasło...).
W następującym przykładzie pokazane są informacje o naszym profilu użytkownika:
### Request
W poniższym przykładzie pokazane są informacje o naszym profilu użytkownika:
### Żądanie
```
GET /api/users?include=language,country HTTP/1.1
Host: localhost:3000