[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20031208054340.13159.qmail@sf-www3-symnsj.securityfocus.com>
Date: 8 Dec 2003 05:43:40 -0000
From: <gdayworld@...mail.com>
To: bugtraq@...urityfocus.com
Subject: Land Down Under 601
Application :- Land Down Under
=+++++++++++++++++++++++++=
http://ldu.neocrome.net/
Versions Affect: LDU 601 (other versions not checked)
Risk Factor - Undertimend
Impact - In the least, the attacker could gain access to a users account (unless logged in)
Type of Exploit - SQL Injection (auth.php)
Vendor Status: Vendor Notified
Date: 08 December, 2003
Credit: HelloWorld
Tested on a localhost, magic_quotes_goc off. Php 4.0.1
1) Introduction
2) The vulnerability
3) The exploit
4) The fix
5) Credit/Conclusion
1) Introduction
This php script is easily exploited. It comes in a form of an SQL injection, through the standard login form (auth.php) and from appearances, many other places. It appears the writer of the script is unaware of SQL injection vulnerability, or relies solely on magic_quote_gpc (a php option which allows automatic slashing to all ‘ and “ in GET/POST/COOKIE data).
The Vulnerability
Land Down Under lacks basic security for checking user inputted data. It makes no attempt to apply slashes to any of the incomming data, and therefore the attacker can simply ‘inject’ some extra SQL to the original query.
Here is where the actual vulnerable code exists (comments added by me):
############### START HERE ###############
// More code above
if ($a=="check")
{
ldu_shield_protect();
$rusername = cv('rusername','P','TXT');
$rpassword = cv('rpassword','P','TXT');
$rmdpass = md5($rpassword);
$query="SELECT user_id, user_active, user_banned, user_banexpire, user_level, user_skin, user_lang FROM $db_users WHERE user_password='$rmdpass' AND user_name='$rusername'";
$sql = ldu_mysql_query($query);
// Continues to validate.
################ END HERE ################
The Exploit
Using the form simply put in "' OR 1=1 -- " (without quotes). For a specific user, simply type "' OR user_name='USERNAME' -- " (without quotes)
The Fix
Wait vendor respounce. Basic solution would be to addslashes to the incoming data, or turn on magic_quotes.gpc via php ini. Most likely there are more possible exploits, further auditing definetly needs to occur. Some may not need ‘ either, allowing SQL injection even if magic_quotes_gpc is on.
Credit/Conclusion
Sorry for the badly formatted and poorly written document. Written as quick as the vulneribility was found, which wasn't long. The package contains some nice features, and its skins are pleasant to the eye, but lacks the basic and vital security to enable it to be accessible via the public.
This vulnerability was discovered by HelloWorld
email:
gdayworld
hotmail
com
Good Luck
HelloWorld.
Powered by blists - more mailing lists