Sunday, July 27, 2008

XSS-ing Firefox Extensions

[EDIT]:It turns out I fail at testing things on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 latest version, see comments for some more details, sorry about that Roee.[/EDIT]

Roee Hay recently posted a blog post on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Watchfire blog about an XSS bug in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Tamper Data extension (it was posted much earlier, but removed quickly; RSS is fun), however when he assessed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 impact he was wrong.

The context of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 window is still within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 extension, and so by executing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following code you can launch an executable:



var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("C:\\WINDOWS\\system32\\cmd.exe");
file.launch();



(Code stolen from http://developer.mozilla.org/en/docs/Code_snippets:Running_applications)

But even cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n; I had never even heard of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Graphing functionality in Tamper Data, and given cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 need to actually use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 functionality on a dodgy page, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chance of anyone getting owned with this seems very small to me.

3 comments:

Anonymous said...

Hey,

Did you get your payload working?

When i first disclosed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 vulnerability I actually tried exploiting it with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 exact payload, however, Firefox refused to create cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 nsILocalFile object (I couldn't even elevate privileges using netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")).

-Roee

Anonymous said...

To be more specific:

Firefox throws "A script from "moz-nullprincipal:{270839df-288d-476b-b8ec-742aab92ffbb}" was denied UniversalXPConnect privileges." for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 elevation request and "Error: Permission denied to get property XPCComponents.classes" for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 nsILocalFile instantiation.

-Roee

kuza55 said...

Turns out I fail at testing things.

I *did* get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 payload working, but since my main computer was out of commision at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time, I had tested it on a computer running without approx. 4 months of patches to tamper data + firefox; having tries cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same payload in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 latest version of tamper data it no longer seems to work.

One thing which seemed different between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 old version of Tamper Data where this worked and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 new version where this didn't was that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 old version seemed to be writing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 data directly to an about:blank window, whereas cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 newer version seems to be using a data: URI window to do something similar (not quite sure how though). I'll have a look at this in more detail when I get some time.