Dark Mode
Capec-136 Detail
LDAP Injection
Standard Software Likelihood: High Typical Severity: High
Parents: 248
Threats: T290
Not present
| External ID | Source | Link | Description |
|---|---|---|---|
| CAPEC-136 | capec | https://capec.mitre.org/data/definitions/136.html | |
| CWE-77 | cwe | http://cwe.mitre.org/data/definitions/77.html | |
| CWE-90 | cwe | http://cwe.mitre.org/data/definitions/90.html | |
| CWE-20 | cwe | http://cwe.mitre.org/data/definitions/20.html | |
| 29 | WASC | http://projects.webappsec.org/LDAP-Injection | LDAP Injection |
| OWASP Attacks | https://owasp.org/www-community/attacks/LDAP_Injection | LDAP Injection | |
| REF-17 | reference_from_CAPEC | http://projects.webappsec.org/LDAP-Injection | WASC Threat Classification 2.0, 2010, The Web Application Security Consortium (WASC) |
| REF-608 | reference_from_CAPEC | https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/06-Testing_for_LDAP_Injection.html | OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP) |
Explore
-
Survey application: The attacker takes an inventory of the entry points of the application.
| Techniques |
|---|
| Spider web sites for all available links |
| Sniff network communications with application using a utility such as WireShark. |
Experiment
-
Determine user-controllable input susceptible to LDAP injection: For each user-controllable input that the attacker suspects is vulnerable to LDAP injection, attempt to inject characters that have special meaning in LDAP (such as a single quote character, etc.). The goal is to create a LDAP query with an invalid syntax
-
Try to exploit the LDAP injection vulnerability: After determining that a given input is vulnerable to LDAP Injection, hypothesize what the underlying query looks like. Possibly using a tool, iteratively try to add logic to the query to extract information from the LDAP, or to modify or delete information in the LDAP.
| Techniques |
|---|
| Use web browser to inject input through text fields or through HTTP GET parameters |
| Use a web application debugging tool such as Tamper Data, TamperIE, WebScarab,etc. to modify HTTP POST parameters, hidden fields, non-freeform fields, or other HTTP header. |
| Use modified client (modified by reverse engineering) to inject input. |
| Techniques |
|---|
| Add logic to the LDAP query to change the meaning of that command. Automated tools could be used to generate the LDAP injection strings. |
| Use a web application debugging tool such as Tamper Data, TamperIE, WebScarab,etc. to modify HTTP POST parameters, hidden fields, non-freeform fields, or other HTTP header. |
- The target application must accept a string as user input, fail to sanitize characters that have a special meaning in LDAP queries in the user input, and insert the user-supplied string in an LDAP query which is then processed.
Not present
| Medium |
|---|
| The attacker needs to have knowledge of LDAP, especially its query syntax. |
| Integrity | Availability | Authorization | Access Control | Accountability | Authentication | Confidentiality | Non-Repudiation |
|---|---|---|---|---|---|---|---|
| Modify Data | Unreliable Execution | Execute Unauthorized Commands (Run Arbitrary Code) | Bypass Protection Mechanism | Gain Privileges | Gain Privileges | Read Data | Gain Privileges |
| Gain Privileges | |||||||
| Bypass Protection Mechanism |
- PowerDNS before 2.9.18, when running with an LDAP backend, does not properly escape LDAP queries, which allows remote attackers to cause a denial of service (failure to answer ldap questions) and possibly conduct an LDAP injection attack. See also: CVE-2005-2301