Skip to content

Commit e16e0e2

Browse files
committed
chore: Apply discussed PR changes
1 parent ae3a60c commit e16e0e2

File tree

5 files changed

+20
-9
lines changed

5 files changed

+20
-9
lines changed

2019/en/src/0xa3-excessive-data-exposure.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,12 @@ the site.
4242
* Never rely on the client side to perform sensitive data filtering.
4343
* Review the responses from the API to make sure they contain only legitimate
4444
data.
45-
* Explicitly define and enforce data returned by all API methods including errors: give all JSON objects schemas, all string objects patterns, use clear field names.
46-
* Define all sensitive and personally identifiable information (PII) that your application stores and works with and review all API calls returning such information to see if these responses can be a security issue.
45+
* Explicitly define and enforce data returned by all API methods, including
46+
errors. Whenever possible: use schemas for responses, patterns for all strings
47+
and clear field names.
48+
* Define all sensitive and personally identifiable information (PII) that your
49+
application stores and works with and review all API calls returning such
50+
information to see if these responses can be a security issue.
4751

4852
## References
4953

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

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,19 @@ errors.
4949
[file descriptors, and processes][4].
5050
* Implement a limit on how often a client can call the API within a defined
5151
timeframe.
52-
* For sensitive operations such as login or password reset, consider rate limits by API method (for example, authentication), client (for example, IP address), property (for example, username).
52+
* For sensitive operations such as login or password reset, consider rate limits
53+
by API method (e.g., authentication), client (e.g., IP address), property
54+
(e.g., username).
5355
* Notify the client when the limit is exceeded by providing the limit number and
5456
the time at which the limit will be reset.
5557
* Add proper server-side validation for query string and request body
5658
parameters, specifically the one that controls the number of records to be
5759
returned in the response.
58-
* Define and enforce maximum size of data on all incoming parameters and payloads such as maximum length for strings and maximum number of elements in arrays.
59-
* If your API accepts zip files check compression ratios before expanding the files to protect yourself against "zip bombs".
60+
* Define and enforce maximum size of data on all incoming parameters and
61+
payloads such as maximum length for strings and maximum number of elements in
62+
arrays.
63+
* If your API accepts compressed files check compression ratios before expanding
64+
the files to protect yourself against "zip bombs".
6065

6166
## References
6267

2019/en/src/0xa6-mass-assignment.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ shell command injection once the attacker downloads the video as MP4.
7575
* Whitelist only the properties that should be updated by the client.
7676
* Use built-in features to blacklist properties that should not be accessed by
7777
clients.
78-
* In API contracts, explicitly define and enforce schemas for all JSON payloads.
78+
* If applicable, explicitly define and enforce schemas for the input data
79+
payloads.
7980

8081
## References
8182

2019/en/src/0xa7-security-misconfiguration.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,9 @@ The API life cycle should include:
6565
assets (e.g., images).
6666
* An automated process to continuously assess the effectiveness of the
6767
configuration and settings in all environments.
68-
* To prevent exception traces and other valuable information from being sent back to attackers, define and enforce all API response payload schemas including error responses.
68+
* To prevent exception traces and other valuable information from being sent
69+
back to attackers, if applicable, define and enforce all API response payload
70+
schemas including error responses.
6971

7072
## References
7173

2019/en/src/0xb0-next-devs.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ comprehensive list of available projects.
1515

1616
| | |
1717
|-|-|
18-
| **Education** | You can start reading [OWASP Education Project materials][2] according to your profession and interest. For hands-on learning, we added **crAPI** - **C**ompletely **R**idiculous **API** on [our roadmap][3]. Meanwhile, you can practice WebAppSec using the [OWASP DevSlop Pixi Module][4], a vulnerable WebApp and API service intent to teach users how to test modern web applications and API's for security issues, and how to write more secure API's in the future. You can also attend [OWASP AppSec Conference][5] training sessions, or [join your local chapter][6]. Read about the latest API vulnerabilities and breaches at [APIsecurity.io][15]|
18+
| **Education** | You can start reading [OWASP Education Project materials][2] according to your profession and interest. For hands-on learning, we added **crAPI** - **C**ompletely **R**idiculous **API** on [our roadmap][3]. Meanwhile, you can practice WebAppSec using the [OWASP DevSlop Pixi Module][4], a vulnerable WebApp and API service intent to teach users how to test modern web applications and API's for security issues, and how to write more secure API's in the future. You can also attend [OWASP AppSec Conference][5] training sessions, or [join your local chapter][6]. |
1919
| **Security Requirements** | Security should be part of every project from the beginning. When doing requirements elicitation, it is important to define what "secure" means for that project. OWASP recommends you use the [OWASP Application Security Verification Standard (ASVS)][7] as a guide for setting the security requirements. If you're outsourcing, consider the [OWASP Secure Software Contract Annex][8], which should be adapted according to local law and regulations. |
2020
| **Security Architecture** | Security should remain a concern during all the project stages. The [OWASP Prevention Cheat Sheets][9] are a good starting point for guidance on how to design security in during the architecture phase. Among many others, you'll find the [REST Security Cheat Sheet][10] and the [REST Assessment Cheat Sheet][11]. |
2121
| **Standard Security Controls** | Adopting Standard Security Controls reduces the risk of introducing security weaknesses while writing your own logic. Despite the fact that many modern frameworks now come with built-in standard effective controls, [OWASP Proactive Controls][12] gives you a good overview of what security controls you should look to include in your project. OWASP also provides some libraries and tools you may find valuable, such as validation controls. |
@@ -35,4 +35,3 @@ comprehensive list of available projects.
3535
[12]: https://www.owasp.org/index.php/OWASP_Proactive_Controls#tab=OWASP_Proactive_Controls_2018
3636
[13]: https://www.owasp.org/index.php/OWASP_SAMM_Project
3737
[14]: https://www.owasp.org/index.php/Category:OWASP_Code_Review_Project
38-
[15]: https://APIsecurity.io

0 commit comments

Comments
 (0)