Top Banner
Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani
13

Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani.

Dec 13, 2015

Download

Documents

Jean Lane
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani.

Web Application with AJAX

CS 526 advanced interned and Web system

PresentersFaris Kateb

Mohammed AbdulAzizOmar Alzahrani

Page 2: Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani.

Agenda • Introduction to Ajax

• General Techniques used by Ajax?

• Ajax Security Vulnerabilities• JS Array poisoning

• Flash-based cross domain access

• Malformed JS Object serialization

• JSON pair injection

• Manipulated XML stream

• Script injection in DOM

April 30, 2012AJAX/Faris Kateb, Mohammed Abdulaziz & Omar Alzahrani 2

Page 3: Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani.

-Country: -Country:

-State:

-Country:

-City:

-State:

Server Database

USA USA USA

CO CO

Denver -City:

-State: CO

Denver -City:

-State:

-City:

Before AJAX

April 30, 2012AJAX/Faris Kateb, Mohammed Abdulaziz & Omar Alzahrani 3

Page 4: Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani.

-Country:

-City:

-State:

Server Database

USA

CO

Denver

After AJAX

April 30, 2012AJAX/Faris Kateb, Mohammed Abdulaziz & Omar Alzahrani 4

Page 5: Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani.

AJAX- What’s AJAX?

Asynchronous Javascript And XMLE.g., Google Search String

Matching/Suggestions

- How it achieve that?- The XMLHttpRequest Object

Base object for AJAX Available in most browsers ThroughThe XMLHttpRequest object you can :

April 30, 2012AJAX/Faris Kateb, Mohammed Abdulaziz & Omar Alzahrani 5

Page 6: Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani.

General Technique

April 30, 2012AJAX/Faris Kateb, Mohammed Abdulaziz & Omar Alzahrani 6

Page 7: Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani.

Ajax vulnerabilities• There are many vulnerabilities

• Our concentration are on the security holes

• A list of some security holes included in our research

• JS Array poisoning

• Flash-based cross domain access

• Malformed JS Object serialization

• JSON pair injection

• Manipulated XML stream

• Script injection in DOM

April 30, 2012AJAX/Faris Kateb, Mohammed Abdulaziz & Omar Alzahrani 7

Page 8: Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani.

JS Array poisoning• Popular object for serialization

• Easy and effective

• Poisoning a JS array spoils the DOM context.

• A JS array can be exploited with simple cross-site scripting in the browser.

• Example: auction site for a used mobile

new Array(“Android”, “nexus s”, “Tmobile”, “500$”, “1 years”)• user can inject a script in the last field

• alert(’Array has length ' + a2.length + ' and its element is also ' + a2[5]);

April 30, 2012AJAX/Faris Kateb, Mohammed Abdulaziz & Omar Alzahrani 8

Page 9: Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani.

Flash-based cross domain access

• It is possible to make GET and POST requests from JavaScripts within a browser by using a Flash plugin’s Ajax interface.

• This also enables cross-domain calls to be made from any particular domain.

• The page code

• Attackers link to swf

April 30, 2012AJAX/Faris Kateb, Mohammed Abdulaziz & Omar Alzahrani 9

<object><param name="movie" value="swf/banner.swf" /><param name="img" value="image1.jpg" /><param name="link" value="http://www.whitehatsec.com" /><embed src="swf/banner.swf" flashvars="img=image1.jpg&amp;link=http://www.whitehatsec.com" /></object>

http://www.example.com/swf/banner.swf?img=http://web.appsec.ws/images/WH.jpg&link=javascript:confirm('Session%20Information%20Sent%20to%20Hacker');//

Page 10: Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani.

April 30, 2012AJAX/Faris Kateb, Mohammed Abdulaziz & Omar Alzahrani 10

Page 11: Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani.

REFERENCES[1] http://www.asp.net/ajax.

[2] http://www.w3schools.com/ajax/ajax_intro.asp.

[3] Ajax Security Holes and Driving Factors http://www.net-security.org.

[4] SC Magazine, Article: Hot or not: AJAX vulnerabilities, http://www.scmagazine.com

[5] https://blog.whitehatsec.com/tag/crossdomain-xml/

[6] Article: AJAX Vulnerabilities: How Big the Threat?, http://www.about.com

April 30, 2012AJAX/Faris Kateb, Mohammed Abdulaziz & Omar Alzahrani 11

Page 12: Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani.

Malformed JS Object serialization

JavaScript supports (OOP).

Allows the user to create an object using

"New Object()“.

Object can be serialized using Ajax and used by JavaScript code.

Attacker can sends a malicious “subject” line embedded with script then it makes the receiver a victim of XSS.

]3[

April 30, 2012AJAX/Faris Kateb, Mohammed Abdulaziz & Omar Alzahrani 12

Page 13: Web Application with AJAX CS 526 advanced interned and Web system Presenters Faris Kateb Mohammed AbdulAziz Omar Alzahrani.

JSON pair injectionJavaScript Object Notation (JSON) is a simple

data exchange format which can contain object.

Attacker can inject a malicious script in either "Link" or "Desc" (XSS).

Another way to serialize malicious content to the user.

]3[

April 30, 2012AJAX/Faris Kateb, Mohammed Abdulaziz & Omar Alzahrani 13