[SePro Bugtraq] SQL-Injection in PerlDesk 1.x
SQL-Injection in PerlDesk
Discovered by deluxe89 and Astovidatu
[ www.security-project.org ]
Vendor: LogicNow
Homepage: http://www.perldesk.com/
Vulnerable versions: 1.x
Login required: no
Description:
"PerlDesk is a feature packed web based help desk and email management
application designed to streamline the operation of managing emails or support
requests, with built in tracking and response logging. It is an ideal help desk
solution for companies with one or more members of staff or for those who want
to organise client support."
(direct quote from www.perldesk.com)
Summary:
PerlDesk has got a SQL-Injection vulnerability, which allows potential users to
read informations from the database.
The "view"-parameter isn't filtered, so an attacker can manipulate the query.
Proof of Concept:
[code=vulnerable]
if ($ENV{'QUERY_STRING'} =~ /^view/)
{
$id = $q->param('view');
$statement = 'SELECT * FROM perlDesk_kb_entries WHERE id = ' . "$id";
[/code]
As one can see the "view"-parameter is stored in $id which is then passed to
the SQL-Statement completely unfiltered.
Using a malformed query string one can exploit this issue.
For example "http://www.site.com/dir/kb.cgi?view=0 UNION SELECT
1,3,password,username,3,7 FROM users"
If the user table is named "users", this query will read the username and
password.
The same report but with exploit code can be found at:
http://www.security-project.org/projects/board/showthread.php?p=5172#post5172
Patch:
Upgrade to version 2.x.