It’s always better live. MSDN Events Securing Web Applications Part 1 of 2 Understanding Threats and Attacks.

Slides:



Advertisements
Similar presentations
Nick Feamster CS 6262 Spring 2009
Advertisements

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.
OWASP’s Ten Most Critical Web Application Security Vulnerabilities
Hands-on SQL Injection Attack and Defense HI-TEC July 21, 2013.
Don’t get Stung (An introduction to the OWASP Top Ten Project) Barry Dorrans Microsoft Information Security Tools NEW AND IMPROVED!
SEC835 OWASP Top Ten Project.
ATTACKING AUTHENTICATION The Web Application Hacker’s Handbook, Ch. 6 Presenter: Jie Huang 10/31/2012.
EECS 354 Network Security Cross Site Scripting (XSS)
Security Issues and Challenges in Cloud Computing
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.
Handling Security Threats in Kentico CMS Karol Jarkovsky Sr. Solution Architect Kentico Software
The 10 Most Critical Web Application Security Vulnerabilities
Web Application Vulnerabilities Checklist. EC-Council Parameter Checklist  URL request  URL encoding  Query string  Header  Cookie  Form field 
Introduction to Application Penetration Testing
Web Security Overview Lohika ASC team 2009
OWASP Zed Attack Proxy Project Lead
Cosc 4765 Server side Web security. Web security issues From Cenzic Vulnerability report
HTTP and Server Security James Walden Northern Kentucky University.
+ Websites Vulnerabilities. + Content Expand of The Internet Use of the Internet Examples Importance of the Internet How to find Security Vulnerabilities.
WEB SECURITY WEEK 3 Computer Security Group University of Texas at Dallas.
The OWASP Way Understanding the OWASP Vision and the Top Ten.
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.
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.
© All rights reserved. Zend Technologies, Inc. PHP Security Kevin Schroeder Zend Technologies.
November 13, 2008 Ohio Information Security Forum Attack Surface of Web Applications James Walden Northern Kentucky University
Web 2.0 Security James Walden Northern Kentucky University.
Copyright 2007 © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright 2007 © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
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
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
SEC835 Runtime authentication Secure session management Secure use of cryptomaterials.
The attacks ● XSS – type 1: non-persistent – type 2: persistent – Advanced: other keywords (, prompt()) or other technologies such as Flash.
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
Web Applications Testing By Jamie Rougvie Supported by.
Building Secure Web Applications With ASP.Net MVC.
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.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 9 1COMP9321, 15s2, Week.
CS526Topic 12: Web Security (2)1 Information Security CS 526 Topic 9 Web Security Part 2.
Web Security Lesson Summary ●Overview of Web and security vulnerabilities ●Cross Site Scripting ●Cross Site Request Forgery ●SQL Injection.
OWASP Building Secure Web Applications And the OWASP top 10 vulnerabilities.
Copyright © The OWASP Foundation This work is available under the Creative Commons SA 2.5 license The OWASP Foundation OWASP Denver February 2012.
CSRF Attacks Daniel Chen 11/18/15. What is CSRF?  Cross Site Request Forgery (Sea-Surf)  AKA XSRF/ One Click / Sidejacking / Session Riding  Exploits.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
The OWASP Foundation Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under.
Do not try any of the techniques discussed in this presentation on a system you do not own. It is illegal and you will get caught.
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,
Page 1 Ethical Hacking by Douglas Williams. Page 2 Intro Attackers can potentially use many different paths through your application to do harm to your.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Building Secure ColdFusion Applications
Web Application Vulnerabilities
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
TOPIC: Web Security (Part-4)
World Wide Web policy.
امنیت نرم‌افزارهای وب تقديم به پيشگاه مقدس امام عصر (عج) عباس نادری
CSC 495/583 Topics of Software Security Intro to Web Security
Lecture 2 - SQL Injection
WWW安全 國立暨南國際大學 資訊管理學系 陳彥錚.
Exploring DOM-Based Cross Site Attacks
Presentation transcript:

It’s always better live. MSDN Events Securing Web Applications Part 1 of 2 Understanding Threats and Attacks

Challenges When Implementing Security Attacker needs to understand only one security issue Defender needs to secure all entry points Attacker has unlimited time Defender works with time and cost constraints Attacker needs to understand only one security issue Defender needs to secure all entry points Attacker has unlimited time Defender works with time and cost constraints Attackers vs. Defenders Developers and management think that security does not add any business value Addressing security issues just before a product is released is very expensive Developers and management think that security does not add any business value Addressing security issues just before a product is released is very expensive Security As an Afterthought Security? Secure systems are more difficult to use Complex and strong passwords are difficult to remember Users prefer simple passwords Secure systems are more difficult to use Complex and strong passwords are difficult to remember Users prefer simple passwords Security vs. Usability

Agenda A Closer look at Top Web Vulnerabilities: Cross Site Scripting Injection Flaws Malicious File Execution Insecure Direct Object Reference Cross Site Request Forgery (CSRF) Information Leakage and Improper Error Handling Broken Authentication and Session Management Insecure Cryptography Insecure Communications Failure to Restrict URL Access Open Web Application Security Project (OWASP)

Cross Site Scripting (XSS) What is Cross Site Scripting Exploit applications that echo raw, unfiltered input to Web pages Malicious code is echoed back into the HTML Find a field or query string parameter whose value is echoed to the Web page and put in malicious script and get a user to navigate to the page Allows attackers to execute scripts Can hijack user sessions Deface web sites or insert hostile content Conduct Phishing attacks Take over the user’s browsers

Cross Site Scripting (XSS) Three known types of cross site scripting Reflected Stored DOM Injection

Cross Site Scripting (XSS) Reflected A page will reflect user supplied data directly back to the user Occurs when a site does not filter content before displaying it Allows for hidden site details such as session or authentication structure to be captured and potentially utilized

Cross Site Scripting (XSS) Stored / Sticky XSS Stores hostile / non-approved data in a file or a database Sometimes assumed that stored data is inherently safe Internal attacks often exploit this assumption Dangerous to Systems such as: Content Management Systems Blogs or forums Sites that allow users to see input by other users

Cross Site Scripting (XSS) DOM based attacks JavaScript code is manipulated Attacks can be a blend of various attacks Generally carried out using JavaScript Allows hackers to manipulate the rendered page Manipulating the DOM tree Can allow Form Data Hijacking Can occur without user interaction in complete transparency Can utilize the XmlHttpRequest Object (AJAX) Can compromise checkout information

Cross Site Scripting (XSS) Cross Site Scripting Demo Discovery using Reflected Method Using Stored or Sticky Method Non-Persistent Attack via

Cross Site Request Forgery Simple and Potentially Devastating Forces a logged-on victim’s browser to send a request to a vulnerable web application Then performs an action on behalf of the victim Occurs when authorization is performed solely on automatically submitted credentials such as: Session cookies Basic authorization credentials Source IP Addresses SSL Certificates Windows domain credentials

Cross Site Request Forgery

Cross Site Request Forgery Demo

Injection Flaws SQL Injection flaws are common vulnerabilities Occurs when external input is used in database commands The supplied data changes the command being executed Can allow attackers to create, read, update or delete data. Can potentially compromise an entire application

Injection Flaws Example exploit: SELECT COUNT(*) FROM Users WHERE User = ‘User’ AND Password = ‘Password’ The query relies on user submitted information to perform the query Malicious code can be submitted such as Where input could be ‘or 1 = 1 -- ‘ closes preceding string in SQL statement or 1=1 matches every record in the table -- comments out the remainder of the SQL statement

Injection Flaws SQL Injection Flaw Demos Adding an Admin Account Compromising Database Table Structure and Data Defacing a Website

Injection Flaws Not limited to SQL Injection only LDAP, XPATH, XXI, MX(Mail) HTML Injection (XSS) HTTP Injection (HTTP Response Splitting)

Malicious File Execution Occurs when the application is tricked into executing commands or creating files on the server System allows potentially hostile input to be utilized with file or stream functions such as URLS or file system references Can lead to arbitrary remote and hostile content being included or invoked by server Allows for remote code execution Remote root installations or system compromises

Insecure Direct Object Reference Occurs when an internal implementation object is exposed such as a: File Directory Database Record or Key URL Form Parameter These can be manipulated if no access control check is in place

Insecure Direct Object Reference Applications expose internal objects to users Parameter Tampering allow references to be changed Can violate the intended but unenforced access control policy Any exposed application construct could be vulnerable Code can be attacked when user input is determining location of Object Using input parameters such as:../../…/ - can allow an attacker to traverse the file system

Insecure Direct Object Reference Insecure Direct Object Reference Demo Accessing Source Code Accessing Sensitive Information

Information Leakage and Improper Error Handling Applications can unintentionally leak information about their configuration or internal workings They can leak state information Improper error handling exposes internal workings and implementation details Stack traces Failed SQL statements Other debugging information This Information can help a hacker successfully exploit other vulnerabilities This is an extremely common error and can occur if the web.config file is not properly configured

Information Leakage and Improper Error Handling Information Leakage and Improper Error Handling DEMO Too Much Info on Login Attempts Too Much Error Information

Broken Authentication and Session Management Improper authentication and session management Use of pseudo random session values Failing to protect credentials and session tokens after login Can lead to hijacking of user or admin accounts Undermine authorization and accountability controls Can cause privacy violations

Broken Authentication and Session Management Generally ancillary functions cause problems such as: Logout Password Management Timeout Remember me Secret question Account update

Broken Authentication and Session Management Broken Authentication and Session Management Demo Displaying Others Profile Information

Insecure Cryptographic Storage Correct use of data encryption tools is key to protection Flaws can lead to disclosure of sensitive data and compliance violations Some of the most common flaws include: Not encrypting sensitive data Insecure use of strong algorithms Usage of weak / homegrown algorithms A.K.A. “encraption” Hard coding keys or not protecting them

Insecure Communications Unencrypted traffic can be sniffed Can access conversation Potentially expose sensitive information or credentials Could risk exposing authentication or session token Traffic sniffers can access credentials or sensitive information Varies by network Not using SSL for each authenticated request

Failure to Restrict URL Access Generally URL protection is based on authentication Pages can still be accessed if not secured properly Security by obscurity is not sufficient Hidden URLS that are only available to certain users can be stumbled upon or discovered Client side privilege authentication

Failure to Restrict URL Access Failure to Restrict URL Access Demo Security by Obscurity