Parameter Delimiter

From OWASP
Revision as of 15:27, 4 September 2007 by Nsrav (Talk | contribs)

Jump to: navigation, search
This is an Attack. To view all attacks, please see the Attack Category page.


Description

This attack is based on manipulation of parameters delimiter used by web application input vectors, in order to cause unexpected behaviors like access control and authorization bypass, information disclosure, among others.


Examples

In order to illustrate this vulnerability, it’ll be used a vulnerability found on Poster V2, a posting system based on PHP programming language.

This application has a dangerous vulnerability that allows inserting data into user fields (username, password, email address and privileges) in “mem.php” file, which is responsible for managing application user.

An example of the file “mem.php”, where user Jose has admin privileges and Alice user access:

<?
Jose|12345678|jose@attack.com|admin|
Alice|87654321|alice@attack.com|normal|
?>

When a user wants to edit his profile, he must use edit account” option in the “index.php” page and enter his login information. However, using “|” as a parameter delimiter on email field followed by “admin”, the user could elevate his privileges to administrator. Example:

Username: Alice
Password: 87654321
Email: alice@attack.com |admin| 

This information will be recorded in “mem.php” file like this:

Alice|87654321|alice@attack.com|admin|normal|

In this case, the last parameter delimiter considered is “|admin|” and the user could elevate his privileges by assigning administrator profile.

Although this vulnerability doesn’t allow manipulation of others user profiles, it allows privilege escalation for application users.


External References


Related Threats

Category: Authorization

Category: Command Execution


Related Attacks

Category:Injection Attack


Related Vulnerabilities

Category: Input Validation Vulnerability


Related Countermeasures

Category: Input Validation Vulnerability


Categories

Category:Injection Attack