top 10 web security vulnerabilities

Download Top 10 Web Security Vulnerabilities

If you can't read please download the document

Upload: carol-mcdonald

Post on 16-Apr-2017

12.334 views

Category:

Documents


6 download

TRANSCRIPT

OWASP Top 10 Web Security Vulnerabilities



Carol McDonald
Sun Microsystems

About the Speaker

Carol cDonald:

Java Architect at Sun Microsystems

Before Sun, worked on software development of:

Application to manage car Loans for Toyota (>10 million loans)

Pharmaceutical Intranet apps (Roche Switzerland)

Telecom Network Mgmt (Digital France)

X.400 Email Server (IBM Germany)

OWASP Top 10

Open Web Application Security Project

promotes the development of secure web applications

developers guide, test guide, top 10, ESAPI...

http://www.OWASP.org

OWASP TOP 10

The Ten Most Critical Issues

Aimed to educate about the most common web application security vulnerabilities

Living document: 2007 Top 10 different from 2004 Top 10

WebGoat and WebScarab from OWASP

Enterprise Security API

http://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API

Frameworks and ESAPI

ESAPI is NOT a framework

collection of security building blocks, not lock in

Designed to help retrofit existing applications

Wrap your existing libraries and services

Extend and customize

Enterprise Security API

Enterprise Security API

A1: Cross Site Scripting XSS

Reflected XSS:

HTML page reflects user input data back to the browser, without sanitizing the response

out.writeln(You searched for: +request.getParameter(query);

Stored XSS:

Attackers script is stored on the server (e.g. blog) and later displayed in HTML pages, without proper filtering

out.writeln("" + guest.name + "" + guest.comment);

DOM XSS:

input data or data from the server written to dynamic HTML (DOM) elements, without filtering

A1 Cross Site Scripting Example

Site reflects the script back to user where it executes and sends thesession cookie to the hacker.

Hacker tricks user into sending request containing script in search parameter.

alert(document.cookie)

Allows hacker to execute script in victim's browser

Script executes with victim's trust of the affected site

Never Trust Input

HttpServletRequest.getParameter()

HttpServletRequest.getCookies()

HttpServletRequest.getHeader()

Etc

Bad patterns

Input unchecked -> Output == XSS

A1 Cross Site Scripting
Protection

Defense

Input Validation

do use White List (what is allowed), reject if invalid

do Not filter with black-list (what is not allowed)

Output Encoding

Set character Encoding for HTML pages:

user supplied data should be HTML or XML entity encoded before rendering

means < becomes <

in markup represented by