WordPress SQL column truncation vulnerability
			
			
		 
	
	
		
		
This vulnerability has been published some days ago where an attacker could create a duplicated “admin” user and recover the legitimate “admin” password. SQL column truncation is an attacking technique whereby an attacker take advance of some kind of mismatch between an application and the database structure used by it.
Let’s have a look to the vulnerable code.
In schema.php in the Wordpress application it is defined the creation of the database table containing users:
	
	
		
		CREATE TABLE $wpdb->users (
ID bigint(20) unsigned NOT NULL auto_increment,
user_login varchar(60) NOT NULL default '',
 
	
	
		
		
As we can see, the user_login field has a length of 60 bytes. However, the application does not enforce this limitation and allows longer usernames.
An attacker could create a user called “admin[55 spaces]X”. The last “X” is character 61 and therefore will be ignored by the database.
Later in the code, we can see that the user_login field is trim()ed and all the spaces are removed, so it becomes “admin”:
	
	
		
		<?php 
if ( strstr($_POST['user_login'], '@') ) {
$user_data = get_user_by_email(trim($_POST['user_login']));
if ( empty($user_data) )
$errors->add('invalid_email', __('<strong>ERROR</strong>: There is no user registered with that email address.'));
} else {
$login = trim($_POST['user_login']);
$user_data = get_userdatabylogin($login);
?>
 
	
	
		
		
In summary, this is a very creative vulnerability and an interesting vector of attack.
[1]: http://irk4z.wordpress.com/2008/09/14/sql-column-truncation-vulnerability/
	
	
	
	
	
	
 
	
	
		
			
				
You may also be interested in...
			
			
				
					
						
						
							
							
							
							SPARTA is a python GUI application which simplifies network infrastructure penetration testing by aiding the penetration tester in the scanning and enumeration phase.
							See more
						 
					 
					 
				 
				
					
						
						
							
							
							
							This blog post is the first part of a series focused on malware detection evasion techniques on Windows. In particular, we look at userland API hooking techniques employed by various security products and ways to identify and bypass them.
							See more