Skip to content

Commit

Permalink
Merge pull request #4962 from aboyadzhiev/issue-8056-update-vulnerabi…
Browse files Browse the repository at this point in the history
…lities

commonlib: add solution to vulnerabilities
  • Loading branch information
thc202 authored Oct 5, 2023
2 parents 5f7ec41 + dca9fa7 commit 860b81a
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
1 change: 1 addition & 0 deletions addOns/commonlib/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## Unreleased
### Changed
- Add solution to 'Brute Forcing Log-in Credentials', 'Brute Forcing Session Identifiers' and 'Brute Forcing Directories and Files' vulnerabilities (Issue 8056).
- Update vulnerabilities' CWE references to use HTTPS scheme.

## [1.17.0] - 2023-09-07
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -342,7 +342,16 @@ Ensure that all failures in resource allocation place the system into a safe pos

The most common type of a brute force attack in web applications is an attack against log-in credentials. Since users need to remember passwords, they often select easy to memorize words or phrases as passwords, making a brute force attack using a dictionary useful. Such an attack attempting to log-in to a system using a large list of words and phrases as potential passwords is often called a "word list attack" or a "dictionary attack". Attempted passwords may also include variations of words common to passwords such as those generated by replacing "o" with "0" and "i" with "1" as well as personal information including family member names, birth dates and phone numbers.
</desc>
<solution></solution>
<solution>Brute force attacks are among the hardest to prevent, but with thorough analysis, design, and multiple countermeasures, you could limit your system's exposure to them. The general strategy is to decrease the automation potential and credential discovery likelihood. Techniques to consider include:
* Password Policy: Implement adequate requirements for complex passwords that are long enough and contain uncommon words, digits, and special characters;
* Multi-factor Authentication (MFA): MFA requires the user to provide more than one type of evidence to the authentication mechanism, thus limiting the automation potential;
* CAPTCHA: The CAPTCHA aims to decrease the automation potential;
* Web Application Firewall (WAF): WAFs strive to detect patterns of malicious traffic and could help to recognize and block brute force attacks;
* Rate Limiting: Restricting the number of unsuccessful login attempts from an IP address over a given period will limit the automation potential;
* Account Lockouts: Lock an account for a certain period after a defined number of unsuccessful login attempts;
It is important that the techniques used to limit user access to the system be implemented properly in order to prevent abuses and negative side effects such as denial of service.

Additionally consider migrating to password-less authentication mechanisms like passkeys.</solution>
<reference>http://projects.webappsec.org/Brute-Force</reference>
</vuln_item_wasc_11a>

Expand All @@ -353,7 +362,7 @@ The most common type of a brute force attack in web applications is an attack ag

Since HTTP is a stateless protocol, in order to maintain state web applications need to ensure that a session identifier is sent by the browser with each request. The session identifier is most commonly stored in an HTTP cookie or URL. Using a brute force attack, an attacker can guess the session identifier of another user. This can lead to the attacker impersonating the user, retrieving personal information and performing actions on behalf of the user.
</desc>
<solution></solution>
<solution>Use mechanisms that generate random, transient, and unpredictable session identifiers.</solution>
<reference>http://projects.webappsec.org/Brute-Force</reference>
</vuln_item_wasc_11b>

Expand All @@ -366,7 +375,7 @@ When files reside in directories that are served by the web server but are not l

A brute force attack tries to locate the unlinked file by trying to access a large number of files. The list of attempted file names might be taken from a list of known potential files or based on variants of the visible files on the web site. More information on brute forcing directories and files can be found in the associated vulnerability, predictable resource location.
</desc>
<solution></solution>
<solution>Never rely on "security by obscurity" mechanisms to restrict access to sensitive files and directories on a web server. Implement appropriate access control measures if hosting sensitive information is required.</solution>
<reference>http://projects.webappsec.org/Brute-Force</reference>
</vuln_item_wasc_11c>

Expand Down

0 comments on commit 860b81a

Please sign in to comment.