We found the product to contain at least one exploitable SQL Injection vulnerability that would allow a normal user to gain administrative privileges to the Leigh Business Enterprises's Web HelpDesk product.
Credit:
The information has been provided by Noam Rathaus.
Vulnerable Systems:
* Leigh Business Enterprises's (LBE) Web HelpDesk 4.0.80 and prior
Immune Systems:
* Leigh Business Enterprises's (LBE) Web HelpDesk version 4.0.0.81 or newer
We found the product to contain at least one exploitable SQL Injection vulnerability that would allow a normal user to at the very least gain administrative privileges to the Leigh Business Enterprises's Web HelpDesk product, at the worst case he will be able to get complete control over (administrative privileges) the computer on which the Leigh Business Enterprises's Web HelpDesk is installed and utilize it to gain access to other computers.
The vulnerable page is the jobedit.asp, and its 'id' parameter. The parameter receives, from the user, part of SQL statement that is later used by the Leigh Business Enterprises's Web HelpDesk. If we insert a malicious SQL statement to the 'id' parameter, we can modify the 'users' table, and add a new user that will have the permissions of as an operator.
See the below exploit code demonstrating how we gain administrative privileges to Leigh Business Enterprises's Web HelpDesk, by only providing it with a username and password (regular user).
Testing Methodology:
A few months ago Beyond Security built a new module for its Automated Scanning Vulnerability Assessment engine to test web sites and web applications for security vulnerabilities. This module adds the capability to dynamically crawl through a web site and find vulnerabilities in its dynamic pages.
This type of tool was considered to be different from the network VA tools, but we at Beyond Security believe that these two types of tools should be merged into one, and this is what made us incorporate the Web Site Security Audit module to our Automated Scanning engine.
while (<$remote>)
{
if (/Unable to find Job id = 0 ; INSERT INTO users/g)
{
print "Successfully added record\nYou can now log on as Hacked/password (Username/Password)\n";
}
# print $_;
}