Skip to content

Commit 2234252

Browse files
committed
Fix typo in example API call
The text says that 200 users are retrieved and shown, but the API call only asks for 100. This commit makes the two numbers consistent. I opted to use 200 users instead of 100, as the increased number used to achieve DoS in the example is 200000.
1 parent 9cae4a2 commit 2234252

6 files changed

+6
-6
lines changed

2019/ar/src/0xa4-lack-of-resources-and-rate-limiting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
## السيناريو الثاني :
3434

35-
يقوم التطبيق بعرض المستخدمين بحد اقصى 100 مستخدم في كل صفحة من خلال ارسال طلب الى `/api/users?page=1&size=100`، مما قد يمكن المهاجم من تغير القيمة الى 200000 في عدد أسماء المستخدمين المعروضة في صفحة واحد مما يسبب في حدوث مشكلات في أداة قاعدة البيانات وفي الوقت نفسة تصبح واجهة برمجة التطبيقات غير متاحة وغير قادرة على التعامل مع الطلبات الأخرى ( هجمة حجب الخدمة DOS ) ويمكن استخدام نفس السيناريو لاستعراض الأخطاء او لاستغلال بعض عمليات Integer Overflow او Buffer Overflow.
35+
يقوم التطبيق بعرض المستخدمين بحد اقصى 100 مستخدم في كل صفحة من خلال ارسال طلب الى `/api/users?page=1&size=200`، مما قد يمكن المهاجم من تغير القيمة الى 200000 في عدد أسماء المستخدمين المعروضة في صفحة واحد مما يسبب في حدوث مشكلات في أداة قاعدة البيانات وفي الوقت نفسة تصبح واجهة برمجة التطبيقات غير متاحة وغير قادرة على التعامل مع الطلبات الأخرى ( هجمة حجب الخدمة DOS ) ويمكن استخدام نفس السيناريو لاستعراض الأخطاء او لاستغلال بعض عمليات Integer Overflow او Buffer Overflow.
3636

3737
### كيف أمنع هذه الثغرة؟
3838

2019/en/src/0xa4-lack-of-resources-and-rate-limiting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ during the creation of thumbnails and the API becomes unresponsive.
3535

3636
We have an application that contains the users' list on a UI with a limit of
3737
`200` users per page. The users' list is retrieved from the server using the
38-
following query: `/api/users?page=1&size=100`. An attacker changes the `size`
38+
following query: `/api/users?page=1&size=200`. An attacker changes the `size`
3939
parameter to `200 000`, causing performance issues on the database. Meanwhile,
4040
the API becomes unresponsive and is unable to handle further requests from this
4141
or any other clients (aka DoS).

2019/fr/src/0xa4-lack-of-resources-and-rate-limiting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Lorsque le téléversement est terminé, l'API crée plusieurs vignettes avec di
2727

2828
### Scénario #2
2929

30-
Nous avons une application qui contient la liste des utilisateurs avec une limite de `200` utilisateurs par page. La liste des utilisateurs est obtenue auprès du serveur avec la requête suivante : `/api/users?page=1&size=100`. Un attaquant change la valeur de `size`
30+
Nous avons une application qui contient la liste des utilisateurs avec une limite de `200` utilisateurs par page. La liste des utilisateurs est obtenue auprès du serveur avec la requête suivante : `/api/users?page=1&size=200`. Un attaquant change la valeur de `size`
3131
en `200 000`, entrainant des problèmes de perfomance sur la base de données. De ce fait, l'API ne répond plus et n'est plus capable de traiter d'autres requêtes de ce client ou d'autres clients (autrement dit déni de service).
3232

3333
Le même scénario peut être utilisé pour générer des erreurs Integer Overflow ou Buffer Overflow.

2019/pt-br/src/0xa4-lack-of-resources-and-rate-limiting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Um atacante faz *uploads* de imagens grandes enviando request POST em `/api/v1/i
2626

2727
### Cenário #2
2828

29-
Uma aplicação contém uma lista de usuários em uma interface com o limite de `200` usuários por página. A lista é solicitada ao servidor utilizando a seguinte *query* `/api/users?page=1&size=100`. Um atacante modifica o parâmetro `size` de `200` para `200000`, provocando problemas de desempenho no banco de dados. Enquanto isso, a API torna-se indisponível e portanto incapaz de responder outras requisições deste e de todos os demais clientes (também conhecido como DoS).
29+
Uma aplicação contém uma lista de usuários em uma interface com o limite de `200` usuários por página. A lista é solicitada ao servidor utilizando a seguinte *query* `/api/users?page=1&size=200`. Um atacante modifica o parâmetro `size` de `200` para `200000`, provocando problemas de desempenho no banco de dados. Enquanto isso, a API torna-se indisponível e portanto incapaz de responder outras requisições deste e de todos os demais clientes (também conhecido como DoS).
3030

3131
Este mesmo cenário pode ser utilizado para provocar erros de *Integer Overflow* ou *Buffer Overflow*.
3232

2019/pt-pt/src/0xa4-lack-of-resources-and-rate-limiting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ indisponível.
3838

3939
Uma aplicação apresenta uma listagem de utilizadores até ao limite de 200 por
4040
página. A lista dos utilizadores é obtida por meio dum pedido ao _endpoint_
41-
`/api/users?page=1&size=100`. Um atacante altera o valor do parâmetro `size`
41+
`/api/users?page=1&size=200`. Um atacante altera o valor do parâmetro `size`
4242
de `200` para `200000`, causando problemas de performance no servidor de base de
4343
dados. Enquanto se verificam estes problemas de performance a API fica
4444
indisponível e incapaz de satisfazer pedidos de qualquer utilizador (DoS).

2019/ru/src/0xa4-lack-of-resources-and-rate-limiting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ API4:2019 Отсутствие Ограничений на Количество
2626

2727
### Сценарий #2
2828

29-
Рассмотрим приложение, отображающее список пользователей в пользовательском интерфейсе с ограничением `200` штук на страницу. Для получения списка пользователей приложение отправляет следующий запрос на сервер: `/api/users?page=1&size=100`. Злоумышленник увеличивает `size` до `200 000`, что приводит к проблемам производительности в базе данных. API перестает отвечать на запросы и больше не может обработать запросы текущего или любого другого клиента (отказ в обслуживании).
29+
Рассмотрим приложение, отображающее список пользователей в пользовательском интерфейсе с ограничением `200` штук на страницу. Для получения списка пользователей приложение отправляет следующий запрос на сервер: `/api/users?page=1&size=200`. Злоумышленник увеличивает `size` до `200 000`, что приводит к проблемам производительности в базе данных. API перестает отвечать на запросы и больше не может обработать запросы текущего или любого другого клиента (отказ в обслуживании).
3030

3131
Аналогичный сценарий может быть использован для обнаружения ошибок переполнения буфера или целочисленного переполнения.
3232

0 commit comments

Comments
 (0)