OWASP Top Ten #1 Unvalidated Input. Agenda What is the OWASP Top 10? Where can I find it? What is Unvalidated Input? What environments are effected? How.

Slides:



Advertisements
Similar presentations
Cross-Site Scripting Issues and Defenses Ed Skoudis Predictive Systems © 2002, Predictive Systems.
Advertisements

Webgoat.
OWASP’s Ten Most Critical Web Application Security Vulnerabilities
Lecture 6/2/12. Forms and PHP The PHP $_GET and $_POST variables are used to retrieve information from forms, like user input When dealing with HTML forms.
Creating Stronger, Safer, Web Facing Code JPL IT Security Mary Rivera June 17, 2011.
Web Application Security Vulnerabilities Yen-Cheng Chen Department of Information Management National Chi Nan University Puli, 545 Nantou, Taiwan
Application Security: What Does it Take to Build and Test a “Trusted” App? John Dickson, CISSP Denim Group.
By Brian Vees.  SQL Injection  Username Enumeration  Cross Site Scripting (XSS)  Remote Code Execution  String Formatting Vulnerabilities.
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
Chapter 9 Web Applications. Web Applications are public and available to the entire world. Easy access to the application means also easy access for malicious.
Information Networking Security and Assurance Lab National Chung Cheng University The Ten Most Critical Web Application Security Vulnerabilities Ryan J.W.
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
Web Application Security An Introduction. OWASP Top Ten Exploits *Unvalidated Input Broken Access Control Broken Authentication and Session Management.
Dec 13 th CS555 presentation1 Yiwen Wang --“Securing the DB may be the single biggest action an organization can take to protect its assets” David C. Knox.
CROSS SITE SCRIPTING..! (XSS). Overview What is XSS? Types of XSS Real world Example Impact of XSS How to protect against XSS?
The 10 Most Critical Web Application Security Vulnerabilities
Designing Security In Web Applications Andrew Tomkowiak 10/8/2013 UW-Platteville Software Engineering Department
Web Application Security
Introduction to Application Penetration Testing
PHP Security.
Chapter 9 Web Applications. Web Applications are public and available to the entire world. Easy access to the application means also easy access for malicious.
A Security Review Process for Existing Software Applications
Lecture 16 Page 1 CS 236 Online SQL Injection Attacks Many web servers have backing databases –Much of their information stored in a database Web pages.
Security Testing Case Study 360logica Software Testing Services.
OSI and TCP/IP Models And Some Vulnerabilities AfNOG th May 2011 – 10 th June 2011 Tanzania By Marcus K. G. Adomey.
nd Joint Workshop between Security Research Labs in JAPAN and KOREA Profile-based Web Application Security System Kyungtae Kim High Performance.
CGI Security COEN 351. CGI Security Security holes are exploited by user input. We need to check user input against Buffer overflows etc. that cause a.
Security Scanners Mark Shtern. Popular attack targets Web – Web platform – Web application Windows OS Mac OS Linux OS Smartphone.
Top Five Web Application Vulnerabilities Vebjørn Moen Selmersenteret/NoWires.org Norsk Kryptoseminar Trondheim
Analysis of SQL injection prevention using a filtering proxy server By: David Rowe Supervisor: Barry Irwin.
Beyond negative security Signatures are not always enough Or Katz Trustwave ot.com/
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Security Attacks CS 795. Buffer Overflow Problem Buffer overflows can be triggered by inputs that are designed to execute code, or alter the way the program.
nd Joint Workshop between Security Research Labs in JAPAN and KOREA Marking Scheme for Semantic- aware Web Application Security HPC.
Aniket Joshi Justin Thomas. Agenda Introduction to SQL Injection SQL Injection Attack SQL Injection Prevention Summary.
Web Applications Testing By Jamie Rougvie Supported by.
By Sean Rose and Erik Hazzard.  SQL Injection is a technique that exploits security weaknesses of the database layer of an application in order to gain.
© 2009 Stephen Wolff Application Security 1 Spring, 2009 OWASP Top Ten  Ten most critical WebApp security flaws. The top 2 are: 1. XSS – Cross Site Scripting.
Lecture 16 Page 1 CS 236 Online Web Security CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
1 CHAPTER 7 UNEXPECTED INPUT. 2 Why Unexpected Data is Dangerous Three classes of attack can result from unexpected data: Three classes of attack can.
OWASP Building Secure Web Applications And the OWASP top 10 vulnerabilities.
Security Issues with PHP  PHP installation  PHP programming Willa Zhu & Eugene Burger.
 Previous lessons have focused on client-side scripts  Programs embedded in the page’s HTML code  Can also execute scripts on the server  Server-side.
CHAPTER 7 Unexpected Input. INTRODUCTION What is Unexpected Input? Something (normally user-supplied data) that is unexpected happen to an application.
Example – SQL Injection MySQL & PHP code: // The next instruction prompts the user is to supply an ID $personID = getIDstringFromUser(); $sqlQuery = "SELECT.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
ASP.NET 2.0 Security Alex Mackman CM Group Ltd
PHP: Further Skills 02 By Trevor Adams. Topics covered Persistence What is it? Why do we need it? Basic Persistence Hidden form fields Query strings Cookies.
Carrie Estes Collin Donaldson.  Zero day attacks  “zero day”  Web application attacks  Signing up for a class  Hardening the web server  Enhancing.
CFUNITED – The premier ColdFusion conference ColdFusion Application Security The Top Ten Most Critical Web Application Security Vulnerabilities.
2006 Adobe Systems Incorporated. All Rights Reserved. ColdFusion Application Security Adam Wayne Lehman ColdFusion Specialist Adobe Systems, Inc.
An Introduction to Web Application Security
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Securing Your Web Application in Azure with a WAF
Chapter 7: Identifying Advanced Attacks
World Wide Web policy.
CS 371 Web Application Programming
Example – SQL Injection
SQL Injection Attacks Many web servers have backing databases
A Security Review Process for Existing Software Applications
Marking Scheme for Semantic-aware Web Application Security
Security of web applications.
Website Security Testing: Why Business Need It Very Badly.
Riding Someone Else’s Wave with CSRF
WWW安全 國立暨南國際大學 資訊管理學系 陳彥錚.
CS5123 Software Validation and Quality Assurance
Cross-Site Scripting Issues and Defenses Ed Skoudis Predictive Systems
Presentation transcript:

OWASP Top Ten #1 Unvalidated Input

Agenda What is the OWASP Top 10? Where can I find it? What is Unvalidated Input? What environments are effected? How to determine if you are vulnerable How to protect yourself Demonstration

What is the OWASP Top 10? Provides minimum standard for web app security. Broad consensus about what the most critical web application security flaws are. Compiled by a variety of security experts from around the world. Available in multiple languages.

Where is the Top Ten List Provided on the OWASP web site OWASP Sanctioned Project OWASP_Top_Ten_Projecthttp:// OWASP_Top_Ten_Project Available either online (for browsing), in word format, or in PDF format.

What is Unvalidated Input? In order for a web application to be useful it must pass information from the client to the server and then back again. The input passed from the client to the server helps the server determine how to respond to the client. Although the client side has been programmed with a certain understanding of process flow in mind, malicious users can modify information before it is passed back to the server. In a vulnerable application this could cause problems if the malicious input is not handled properly.

What is Unvalidated Input? A surprisingly large number of applications rely only on client side validation of data. The client side data transmission is susceptible to manipulation. There is the possibility that this manipulation could cause problems on the server.  Cross Site Scripting Flaws  Buffer Overflows  Injection Flaws

Effected Environments All:  Web Servers  Application Servers  And Web Applications

Are you vulnerable? Any parameter passed through HTTP that is not carefully validated is thought to be “tainted.” Therefore all HTTP parameters (both GET and POST) must be processed before anything is done with the variable. There are libraries built into certain web packages and OWASP packages available for other packages. Check to see if you are vulnerable.  Use a package like WebScarab to input a multitude of unexpected input to your web application. See what happens.

Are you vulnerable? Bad code: <?php $myvar = $_POST[‘fieldName’] ; ?> Better code: <?php $myvar = validate($_POST[‘fiel dName’]); ?>

How to Protect Yourself Ensure that all parameters are validated before use.  An effective way of doing this is to write a centralized library to do the validate.  This library should use “positive” filtering specifications. In other words filter for data that should be there and ignore everything else.

How to Protect Yourself Definitions for positive filtering:  Data type (string, integer, real, etc.)  Allowed character set  Min and max field length  Null check (are nulls allowed?)  Required parameter check  Numeric range check  Is this a member of an enumeration  Regex patterns

How to Protect Yourself Third party Unvalidated Input Protection:  Web application firewalls Configurable security “device” used to do input validation. Is not called from the application nor is it part of the application. Black-box style security.

How to Protect Yourself Third party Unvalidated Input Protection continued:  The OWASP Filters Project Project is designed to be a group of re-usable filters for input validation The Stinger HTTP request validation engine is an example of this implementation developed by OWASP for J2EE validation. Project Other projects are in the works (PHP for example).

How to Protect Yourself Be very careful about what you put into web forms  Use hidden inputs sparingly and smartly  Don’t always trust cookie data  Try to store persistent data other ways Session Database

Unvalidated Input Demo Demo will show two simple vulnerabilities:  SQL Injection Flaws  Cross Site Scripting Flaws