Windows Security 2002 BlackHat New Orleans WhiteHat Security “Web Application Security” and “Presenting” Jeremiah Grossman

Slides:



Advertisements
Similar presentations
Module XII Web Application Vulnerabilities
Advertisements

Cross-Site Scripting Issues and Defenses Ed Skoudis Predictive Systems © 2002, Predictive Systems.
Nick Feamster CS 6262 Spring 2009
Webgoat.
What is code injection? Code injection is the exploitation of a computer bug that is caused by processing invalid data. Code injection can be used by.
Creating Stronger, Safer, Web Facing Code JPL IT Security Mary Rivera June 17, 2011.
©2009 Justin C. Klein Keane PHP Code Auditing Session 5 XSS & XSRF Justin C. Klein Keane
EECS 354 Network Security Cross Site Scripting (XSS)
Vulnerability Assessment Course Applications Assessment.
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.
It’s always better live. MSDN Events Securing Web Applications Part 1 of 2 Understanding Threats and Attacks.
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Hacking Web Server Defiana Arnaldy, M.Si
Web Application Security "The Land that Information Security Forgot." BlackHat Europe 2001 Jeremiah Grossman WhiteHat Security.
The 10 Most Critical Web Application Security Vulnerabilities
WEB SECURITY WORKSHOP TEXSAW 2013 Presented by Joshua Hammond Prepared by Scott Hand.
Web Application Vulnerabilities Checklist. EC-Council Parameter Checklist  URL request  URL encoding  Query string  Header  Cookie  Form field 
W3af LUCA ALEXANDRA ADELA – MISS 1. w3af  Web Application Attack and Audit Framework  Secures web applications by finding and exploiting web application.
Workshop 3 Web Application Security Li Weichao March
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Web Security Overview Lohika ASC team 2009
Cosc 4765 Server side Web security. Web security issues From Cenzic Vulnerability report
Cross-Site Scripting Vulnerabilities Adam Doupé 11/24/2014.
Prevent Cross-Site Scripting (XSS) attack
WEB SECURITY WEEK 3 Computer Security Group University of Texas at Dallas.
CSCI 6962: Server-side Design and Programming Secure Web Programming.
Lecture 14 – Web Security SFDV3011 – Advanced Web Development 1.
Ladd Van Tol Senior Software Engineer Security on the Web Part One - Vulnerabilities.
1-Vulnerabilities 2-Hackers 3-Categories of attacks 4-What a malicious hacker do? 5-Security mechanisms 6-HTTP Web Servers 7-Web applications attacks.
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.
Penetration Testing James Walden Northern Kentucky University.
A Security Review Process for Existing Software Applications
November 13, 2008 Ohio Information Security Forum Attack Surface of Web Applications James Walden Northern Kentucky University
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
Software Security Testing Vinay Srinivasan cell:
1 Internet Browsing Vulnerabilities and Security ECE4112 Final Lab Ye Yan Frank Park Scott Kim Neil Joshi.
Client Side Vulnerabilities Aka, The Perils of HTTP Lesson 14.
Online Translation Service Capstone Design Eunyoung Ku Jason Roberts Jennifer Pitts Gregory Woodburn Kim Tran.
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
Web Application Security ECE ECE Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.
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
CSCE 201 Web Browser Security Fall CSCE Farkas2 Web Evolution Web Evolution Past: Human usage – HTTP – Static Web pages (HTML) Current: Human.
All Input is Evil (Part 1) Introduction Will not cover everything Healthy level of paranoia Use my DVD Swap Shop application (week 2)
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Web Security.
October 3, 2008IMI Security Symposium Application Security through a Hacker’s Eyes James Walden Northern Kentucky University
Crash Course in Web Hacking
Web Security Group 5 Adam Swett Brian Marco. Why Web Security? Web sites and web applications constantly growing Complex business applications are now.
Module: Software Engineering of Web Applications Chapter 3 (Cont.): user-input-validation testing of web applications 1.
Secure Transactions Chapter 17. The user's machine No control over security of user's machine –Might be in very insecure: library, school, &c. Users disable.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
ASP.NET 2.0 Security Alex Mackman CM Group Ltd
By Collin Donaldson. Hacking is only legal under the following circumstances: 1.You hack (penetration test) a device/network you own. 2.You gain explicit,
SlideSet #20: Input Validation and Cross-site Scripting Attacks (XSS) SY306 Web and Databases for Cyber Operations.
Web Security (cont.) 1. Referral issues r HTTP referer (originally referrer) – HTTP header that designates calling resource  Page on which a link is.
Module: Software Engineering of Web Applications
Building Secure ColdFusion Applications
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
World Wide Web policy.
A Security Review Process for Existing Software Applications
Security.
CSC 495/583 Topics of Software Security Intro to Web Security
Lecture 2 - SQL Injection
Security.
Online Translation Service Capstone Design
Cross-Site Scripting Issues and Defenses Ed Skoudis Predictive Systems
Presentation transcript:

Windows Security 2002 BlackHat New Orleans WhiteHat Security “Web Application Security” and “Presenting” Jeremiah Grossman

Topics  Web Application Security Landscape  Why is Web Application Security Important  Common Web Application Security Mistakes  Web Application Attack Methodologies

Web Application Security Landscape Entertainment Message Boards WebMail Guest Books Voting Polls E-Commerce Shopping Auctions Banking Stock Trading Just Plain Crazy Printers PDA’s Cell Phones System Configuration.NET/Passport

Web Application The Simple Definition A web application or web service is a software application that is accessible using a web browser or HTTP(s) user agent.

Web Application The “EASIER” Definition If it runs on port 80 or port 443, then is probably a web application.

Why is Web Application Security Important? Easiest way to compromise hosts, networks and users. Widely deployed. No Logs! (POST Request payload) Incredibly hard to defend against or detect. Most don’t think of locking down web applications. Intrusion detection is a joke. Firewall? What firewall? I don’t see no firewall… Encrypted transport layer does nothing. How much easier can it get!? Unicode.

Common Web Application Security Mistakes Trusting Client-Side Data Unescaped Special Characters HTML Output Character Filtering SUID ActiveX/JavaScript Authentication Lack of User Authentication before performing critical task.

Trusting Client-Side Data DO NOT TRUST CLIENT-SIDE DATA!!! Trusting client-side data is #1 cause of vulnerabilities. Identify all input parameters that trust client-side data.

Unescaped Special Characters The Level of Trust : Searches/Queries/Templates Path: Or better yet…

Unescaped Special Characters $ % ^ & * ( ) -_ + ` ~ \ | [ ] { } ; : ' " ? /,. > < Check for: Unescaped special characters within input strings

HTML Character Filtering Proper handling of special characters > =>> < "=>" & =>& Null characters should all be removed. %00

More mistakes… SUID (Does a web application really need root?) Authentication mechanisms using technologies such as JavaScript or ActiveX. Lack of re-authenticating the user before issuing new passwords or performing critical tasks. Hosting of uncontrolled data on a protected domain.

WhiteHat Arsenal GUI Web-Based Interface Session Based Discovery Utilities Active Assessment Encoding/Decoding Reporting

Web Application Penetration Methodologies Information Gathering & Discovery Input/Output Client-Side Data Manipulation

Information Gathering & Discovery  Spidering /Site Map  Identifiable Characteristics  Error and Response Codes  File / Application Enumeration

Spidering

Spidering/Site Crawling Site Map Service Map Documentation Hidden Services CGI's and Forms addresses

Identifiable Characteristics Comment Lines URL Extensions Meta Tags Cookies Client-Side scripting languages Enormous wealth of information about process flows, debug command, system types and configurations.

Error and Response Codes HTTP Response Headers Server: IBM/Apache Cookie Characteristics Error Messages Exception Messages (Java / SQL) 404 Error Pages Failed Login Locked Account Database or file non-existent

File/Application Enumeration Commonly referred to as “forced browsing” or “CGI Scanning”.

File/Application Enumeration Sample Files Template Directories Temp or Backup files Hidden Files Vulnerable CGIs

Common Directories

Common Log Files

Common Backup Files

Input/Output Client-Side Data Manipulation URL Manipulation CGI Parameter Tampering HTTP Client-Header Injection Filter/Intrusion Detection Evasion Protocol/Method Manipulation Overflows

Input Manipulation Parameter Tampering "Twiddling Bits." " Cross-Site Scripting " Filter-Bypass Manipulation " OS Commands " Meta Characters " Path/Directory Traversal " Hidden Form Field Manipulation " HTTP Headers

Cross-Site Scripting Bad name given to a dangerous security issue Attack targets the user of the system rather than the system itself. Outside client-side languages executing within the users web environment with the same level of privilege as the hosted site.

Client-Side Scripting Languages DHTML (HTML, XHTML, HTML x.0) Opens all the doors. " JavaScript (1.x)Browser/DOM Manipulation " Java (Applets)Malicious Applets " VBScriptBrowser/DOM Manipulation " FlashDangerous Third-Party Interactivity " ActiveXLet me count the ways… " XML/XSLAnother Door Opener " CSSBrowser/DOM Manipulation

The Scenarios " Trick a user to re-login to a spoofed page " Compromise authentication credentials " Load dangerous of malicious ActiveX " Re-Direct a user or ALL users " Crash the machine or the browser

CSS Danger “The Remote Launch Pad.” " Successfully CSS a user via a protected domain. " Utilizing a Client-Side utility (JavaScript, ActiveX, " VBScript, etc.), exploit a browser hole to download " a trojan/virus. " User is unknowingly infected/compromised within " a single HTTP page load. " ActiveX Netcat Anyone?

2 Types of CSS  Click on a link to activate Click Here  Auto-Execute by viewing HTML run evil JavaScript

Dangerous HTML “HTML Bad” " Malicious Java Applications " Altering HTML Page Characteristics " Embedding Third-Party Applications (Flash, etc.) " Directly calling in other uncontrolled HTML " Altering HTML Page Characteristics " Directly calling in other uncontrolled HTML " SCRing Protocol attacks and other abuses " Directly calling in other uncontrolled HTML " META Refreshes. (Client-Redirects) " ActiveX (Nuff Said) " JavaScript/VBScript Loading " Style Sheet and Scripting Alterations

Dangerous Attributes “Attributes Bad” " ATTRIBUTE DANGER LIST " (Any HTML Tag that has these attributes) " STYLE " SRC " HREF " TYPE

Power of the Dots and Slashes piping input to the command line. " Path Directory Traversal " " DotDot Slash: " " Dot Slash: " " Double DotDot Slash: "

More Filter Bypassing " Method Alteration(HEAD, PUT, POST, GET, ect.) " URL Encode " " Null Characters " " More… " Alternate Case, Unicode, String Length, Multi-Slash, etc.

More Filter Bypassing " Method Alteration(HEAD, PUT, POST, GET, ect.) " URL Encode " " Null Characters " " More… " Alternate Case, Unicode, String Length, Multi-Slash, etc.

Authentication & Session Management Brute/Reverse Force Session Hi-Jacking Session Replay Session Forgoing Page Sequencing

Reporting XML/HTML Based Manual Hack Attack Log w/ Descriptor Common Directory Force Browsing Common Log File Force Browsing Backup File Force Browsing Spider Log

Spider XML Log

Attempts XML Log

A few quick things to help secure a web application. Do Not Trust Client-Side Data Escape and filter all input/output data Set-up parameter and request method allow lists. Don’t use what your not expecting to receive.

Thank You! BlackHat and Attendees Questions? Jeremiah Grossman WhiteHat Security All presentation updates will be available on and community.whitehatsec.com