Securing JSF Applications Against the OWASP Top Ten. The OWASP Foundation JSF One Rich Web Experience Sep 2008
|
|
|
- Bernard Gervais Watkins
- 10 years ago
- Views:
Transcription
1 Securing JSF Applications Against the OWASP Top Ten JSF One Rich Web Experience Sep 2008 David Chandler Sr. Engineer, Intuit Copyright The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-ShareAlike 2.5 License. To view this license, visit The OWASP Foundation
2 JSF is a Great Framework Tool-friendly MVC Component-orientation makes reuse easy But. Is it safe?
3 Framework Security Continuum More secure Less secure Framework makes it impossible for developers to write insecure code Developers must do all the right stuff, but you can use code scanning tools and limited inspection to find holes Possible, but developers must do all the right stuff Not possible to create a secure app (framework is flawed)
4 Security Analysis Goals Address framework / implementation vulnerabilities Lock front door and back door Inspect application code for vulnerabilities Ideally, centralize validation and use other JSF extensions to minimize inspection points Use automated scanning tools to verify that Application code uses only safe components / extensions Application code does not access the external context directly (HttpSession) or use Lifecycle in unsafe ways
5 Our Mission Today Learn how to secure JSF applications Using the OWASP Top Ten as a guide OWASP=Open Web Application Security Project Fantastic resource Go to an OWASP conference sometime If your security folks are focused mainly on firewalls, they need to go to an OWASP conference, too
6 What is JavaServer Faces (JSF)? What is JSF? Spec, not an implementation (JSR 127, 252) Many vendor implementations and two open source Mojarra (Sun) Apache MyFaces Where does it fit in the frameworks universe? MVC, component-based framework servlet Builds on Struts controller, form bean concepts Builds on Tapestry components
7 What s in a Typical JSF App View templates (JSP or Facelets) Managed bean for each view registered in facesconfig.xml Navigation rules in faces-config.xml
8 Major JSF Concepts Components Renderers Managed beans Converters / Validators Controller (navigation model) Event handling Request lifecycle
9 JSF Components Separate business logic from presentation Every view is composed of a component hierarchy Components can be added to view programmatically or via template (JSP by default, Facelets for superior performance and ease of development) Standard components divided into two groups: Faces Core <f:view>, <f:loadbundle> HTML wrappers <h:datatable>, <h:selectmany>, etc. Component = class + [renderer] + tag handler (JSP)
10 JSF Renderers Component renderer encodes (generates the HTML) for the component Renderer also decodes (sets component values from URL query string and form vars) Renderers are grouped into render kits Default render kit is HTML Provide device independence w/o changing the templating language or components themselves Most String I/O happens in renderers
11 JSF Managed Beans Link view to the model (like controller) Provide action methods which in turn call appropriate model code (save, new) Provide helper methods (getavailableselectitems) Hold references to one or more domain objects Managed by the framework in one of several scopes Standard: request, session, application, none SEAM offers conversation scope Spring Web Flow offers flashscope, flowscope, conversationscope
12 JSF Value Binding Component values bind to model beans For each request, the framework Converts each input value (String) into the underlying Java type (MoneyAmount) On output, converts underlying Java type to String You register converters for custom types All security validation therefore handled centrally and automatically by model type
13 JSF Value Binding Example view.xhtml In logger object
14 JSF Value Binding Example view.xhtml Managed beans are registered in faces-config.xml
15 JSF Converters / Validators Converters are bi-directional Input converter: getasobject() Output converter: getasstring() Validators work with Objects, not just Strings JSF supplies standard converters for date / time, numbers, etc. You write custom converters for rich types or special behavior
16 JSF Converters / Validators
17 JSF Converter Example Converter is registered in faces-config.xml, so all ValuedTypesafeEnum properties of any bean will use this converter Validators also registered in faces-config.xml, but not by class
18 JSF Controller Stateful or stateless navigation model Framework selects next view based on Previous view Outcome of the event handler Event itself (regardless of outcome) Any combination of the above Possibilities Universal error view (triggered by error outcome) Wildcard matching permitted in outcomes, view IDs
19 JSF Event Handling <h:commandbutton action= #{ReportCtrl.save} > Generates an event when pressed save() is a method on a managed bean JSF calls ReportController.save() Can also define action listeners associated with other components in the form Example: AccountSearch on any page without having to tell JSF navigation controller about each instance Custom ActionListenerImpl runs before invoking method
20 JSF Request Lifecycle Restore View Request Response Apply Request Values Retrieve component tree from client or session Process Validations Invoke bean method(s) Compute navigation Decode components (populate w/ String values) Update Model Invoke Application May skip to render phase or abort request Convert Strings to Objects Validate Objects Call bean getters to populate components Call setters on managed beans Render Response
21 JSF Extension Points Custom components Phase listeners (before, after any phase) Custom converters / validators Custom renderers Custion ActionListenerImpl to handle event Decorate or replace view handler, navigation handler, state manager, etc.
22 JSF Configuration faces-config.xml Contains navigation rules as well as any customizations / extensions Can be split among directories and subdirectories as well as jars Set javax.faces.application.config_files in web.xml Or put META-INF/faces-config.xml in jars so can bundle required configuration with code
23 OWASP Top Ten* A1 Unvalidated Input A2 Broken Access Control A3 Broken Authentication and Session Mgmt A4 Cross Site Scripting A5 Buffer Overflow A6 Injection Flaws A7 Improper Error Handling A8 Insecure Storage A9 Application Denial of Service A10 Insecure Configuration Mgmt * 2004 Top Ten listing used for better presentation flow
24 A1 Unvalidated Input Parameter tampering (hidden & list boxes) Required fields Length, data type, allowed values Cross site request forgery (CSRF) Buffer overflows (see A5)
25 A1 Unvalidated Input JSF Validation Process Validation is part of the request lifecycle When validation fails Throw ConverterException or ValidationException Add message to the message queue Message is associated with offending component Use <h:messages/> or <h:message for= component_id /> Don t forget one of these in your view! Skip directly to render response phase
26 JSF Request Lifecycle Restore View Apply Request Values Request Response Retrieve component tree from client or session Process Validations Invoke bean method(s) Compute navigation Decode components (populate w/ String values) Update Model Invoke Application May skip to render phase or abort request Convert Strings to Objects Validate Objects Call bean getters to populate components Call setters on managed beans Render Response
27 A1 Unvalidated Input JSF Validation Process Thing of beauty! Model values never updated with invalid data User remains on current view No action methods called Messages tagged with component ID Unless immediate= true for some component If so, managed bean can access raw component values through component tree (don t!) JSF will NEVER update model unless validation passes
28 A1 Unvalidated Input Parameter Tampering Hidden fields Multiple choices (radio, check box, select) Required fields
29 A1 Unvalidated Input Parameter Tampering (Hidden Fields) Did you say hidden fields? YUCK! Of course, they can be tampered with! Must rely on validation as with any other field
30 A1 Unvalidated Input Parameter Tampering (Select Options) List boxes, radio buttons, check boxes <h:selectoneradio value= #{bean.choice} > <f:selectitems value= #{bean.allchoices}> </h:selectoneradio> JSF selectone and selectmany components validate selected items against available choices Component calls selectitems getter again and compares selected String with available Strings See java.faces.component.uiselectone/many
31 A1 Unvalidated Input Parameter Tampering (Req d Fields) Required fields <h:inputtext value= #{bean.prop} required= true or EL /> If required field is empty (, not null), JSF will fail validation as usual Can change default msg in properties file Or for really custom requiredness checking, write a custom converter (because validator doesn t get called for empty fields, but converter does)
32 A1 Unvalidated Input Validating Length, Format, Data Type Built-in validators for length & range <f:validatelength />, <f:validatedoublerange />, <f:validatelongrange /> maxlength DOESN T affect validation Built-in converters For all wrapper types (Boolean, Byte, etc.) <f:convertdatetime />, <f:convertnumber /> See Tomahawk for , regex, credit card Server + client validators in Spring Web Flow Number, text (regex), date, currency Client-side built on Dojo
33 A1 Unvalidated Input Custom Validators Simple interface public void validate( ) throws ValidatorException Can invoke one of three ways setvalidator() in custom component As validator tag (Facelets auto-wiring ) like built-ins <my:customvalidator /> <h:inputtext validator= id #{bean.validator} >
34 A1 Unvalidated Input Custom Converters Simple interface getasobject( ) getasstring( ) Invoke one of four ways By type of model property bound to component setconverter() in custom component As converter tag (Facelets auto-wiring ) like builtins <my:customconverter /> <h:inputtext converter= id #{bean.converter} >
35 A1 Unvalidated Input Rich Type (Model Centric) Converter <converter-for-class>stringan</ > public static class UserCode extends StringAN { Public UserCode (String value) throws InvalidStringException { super(value, 14); // length } } In your model class, define & use type UserCode Now all components bound to property of type UserCode are automatically converted / validated StringAN does validation in constructor so an invalid instance can never be created
36 A1 Unvalidated Input JSF Validation Summary Strengths All validations declarative Associated with view, not action (so can t be overlooked in case of multiple actions) Model never updated unless all validations pass Converter-for-class eliminates need for explicit validator on every widget
37 A1 Unvalidated Input JSF Validation Summary Weaknesses Requires manual inspection of views and beans to confirm that you didn t miss a validator or two But can be automated You use only custom converters / validators that add the id of each validated component to a Request variable And use a phase listener after validation to walk the component tree and find unvalidated UIInputs Appropriate for QA, but likely not production
38 A1 Unvalidated Input JSF Validation Extra How can I validate related fields together? i.e., StartDate < EndDate Can do in bean action method. Not part of validation lifecyle, but can have all the same effects Return null outcome to remain on view Add message to queue Skip remainder of action method Alternatively, put a dummy tag after last form field <h:inputhidden validator= #{bean.method} /> But model not updated yet, so must hard code component IDs in bean
39 A1 Unvalidated Input What About JSF and AJAX? Approach 1 Separate servlet or JSF phase listener to intercept and handle AJAX queries Bypasses JSF validation (ouch) Approach 2 ICEFaces and AJAX4JSF provide simple AJAX-capable JSF components Retains JSF server-side validation (good!) Careful! Some AJAX components use JSON and may be subject to JavaScript hijacking
40 A1 Unvalidated Input Cross Site Request Forgery (CSRF) Aka session riding, one-click attack Example <img src=" frmacct=document.form.frmacct& toacct= &toswiftid=434343&amt= "> How to prevent? JSF always uses POST to invoke actions Attack above would therefore fail But attacker can POST via JavaScript Solution: random token in each request For sensitive transactions, also some form of transaction signing with request (token, etc.)
41 A1 Unvalidated Input Cross Site Request Forgery (CSRF) JSF can be extended to prevent all out-ofsequence requests, including CSRF Postback URL is obtained from the ViewHandler Decorate ViewHandlerImpl to override getactionurl() and append a hash of the URL Write custom phase listener to Generate new token in Session for each request Compare hash in the URL with expected token All <h:commandlink>s and <h:commandbutton>s are now protected (w/ no mappings required!) JSF 1.2 ispostback() headed the right direction, but not there yet (no random token)
42 A2 Broken Access Control Insecure IDs Forced Browsing Past Access Control Checks Path Traversal File Permissions Client Side Caching
43 A2 Broken Access Control Forced Browsing Past Access Control Safe approaches to user authentication Use built-in features of servlet container or portal Servlet filter Spring / ACEGI (see Cagatay Civici s presentation) Extend MyFacesGenericPortlet with auth hooks Portlet filter see MyFaces JIRA 434 Phase listener before RESTORE_VIEW ExternalContext.getUserPrincipal() ExternalContext.isUserInRole() Both servlet impl and portlet impl define these methods
44 A2 Broken Access Control Forced Browsing Past Access Control Safe ways to control access to views (easy) Use rendered attribute with bean permission getters for fine-grained control <h:column rendered= #{bean.haspermx} /> Use above with CSRF preventer Only have to check view perms when you display a link Mapping approaches Phase listener that maps view IDs to user perms And/or custom component to restrict access to view <my:authchecker reqperm= view_accounts /> Spring Security
45 A2 Broken Access Control Forced Browsing Past Access Control Safe ways to control access to actions (easy) Check perms in each bean action method Use rendered attribute with bean permission getters when displaying links <h:commandlink rendered= #{bean.haseditperm} /> JSF automatically prevents forcing the action, even without forced browsing preventer Centralized approach Decorate ActionListenerImpl to intercept events Conceivable to annotate bean methods with required permissions Spring Security
46 A2 Broken Access Control Client Side Caching Concern: browser caching, shared terminals Use phase listener to write no-cache headers
47 A3 Broken Authentication and Session Management Not JSF-specific Password policy, storage Roll-your-own session management (don t!) Protect login via SSL Login page should always POST, not GET JSF forms are always POSTed
48 A4 Cross Site Scripting Two types of attacks Stored (ex: malicious input stored in DB) Reflected (ex: malicious submits a request with cookie-stealing Javascript in text field) Reflected attacks are initiated externally (as via ) Forced browsing / session riding preventer stops these since request doesn t contain a valid hash Just make sure you don t put an unchecked HTTP header or cookie in the error message Two approaches: input & output filtering
49 A4 Cross Site Scripting Approach 1: Input Filtering Filter all input with Converters, Validators Positive enforcement (allowed characters only) stronger than negative enforcement (remove bad chars) JSF numeric converters protect numeric properties Don t forget HTTP headers & cookies are input, too Rich type converters greatly help with text input (i.e., UserCode = alphanumeric, maxlen 14) Then you only need to worry about value bindings to free form String model properties
50 A4 Cross Site Scripting Approach 2: Output Filtering JSF does this mostly for you <h:outputtext>, <h:outputformat>, <h:outputlabel>, and <h:select > values are escaped unless you turn off with escape= false <h:outputlink> URIs beginning with javascript: are escaped All other MyFaces 1.1.x components and attributes are safely rendered, but in 1.2 spec image attribute of <h:commandbutton> not esc d src attribute of <h:graphicimage> not esc d Escaped output chars are < > & NOT sufficient if JSF component within a JavaScript block!
51 A4 Cross Site Scripting XSS Code Review What to look for in view templates escape= false <h:outputlink value= #{bean.property} /> Any output components between <script> tags What to look for elsewhere Rich type (custom) converters should properly escape output characters < > & Likewise custom components and renderers
52 A5 Buffer Overflows Not an issue in Java per se Might be an issue for 3 rd party systems (DB) Always validate input for length Numeric types are safe (Integer, Long, etc.) Prefer rich types to Strings Use <f:maxlength> for String properties Keeping max lengths short also helps with XSS
53 A6 Injection Flaws Ex: SQL injection SELECT * FROM users where ID = URL.ID Suppose URL.ID = 34; DROP TABLE users Most effective protection is nearest the calls to external system Use O/R mapping Parameterize all queries JSF can help prevent often related information leakage
54 A6+ Information Leakage Common Problem: IDs in URLs JSF <h:datatable> uses indexed rows Don t use <f:param> with real IDs Use ListDataModel and getrowdata(). JSF will do the mapping and get the Object for you What if an item is added to the table between clicks? Could write custom HtmlDataTable component that overrides getclientid() to hash row values vs. index UIData is broken, see RichFaces ExtendedDataModel
55 A6+ Information Leakage Common Problem: IDs in OPTIONs Values of select options, radio buttons, check boxes often use real IDs Parameter tampering OK, but possible info leakage Several ways to avoid this Populate <f:selectitems> with Integer values that index into an array stored in your managed bean Could write SelectItemsHelper to map real values to indexed values, but creates dependency Better: create a custom converter w/ encrypted hash <my:hashconverter> used inside Select components Or perhaps even <my:selectitems> to replace JSF s
56 A6 Injection Flaws + Information Leakage Summary Command injection not an issue with JSF per se But JSF can help prevent related information leakage Once again, converters are the key
57 A7 Improper Error Handling Not a JSF issue per se Use standard servlet techniques <error-page> in web.xml, etc. Try not to Show the user a stack trace Reveal names of internal machines, etc.
58 A7 Improper Error Handling Facelets Has Beautiful Error Messages Beautiful, but more than the customer needs to know <context-param> <param-name> facelets.development </param-name> <param-value> false </param-value> </context-param>
59 A8 Insecure Storage Not a Web tier problem Use hash vs. encryption for password DB, etc. Don t write your own encryption algorithm! Except for one thing in web.xml (see A10)
60 A9 Application Denial of Service All Web apps are vulnerable to some degree Forced browsing listener will minimize damage by rejecting bogus requests early No known magic bullets for JSF like ping L Load test Load test Load test
61 A10 Insecure Config Mgmt Primarily concerned with Server OS, software, misconfigurations Improper file & directory permissions, etc. Unnecessary services What about JSF configuration? State saving method View handler (JSP or Facelets)
62 A10 Insecure Configuration Mgmt Beware Client State Saving Server- (default) or client-side state saving Out of the box, client-side state saving is Base64 encoded only (no encryption!) Allows hacker to alter component tree(!) Replace converters & validators Change EL expressions that populate fields, select boxes Change EL in command link to call different event handler, remove action listener
63 A10 Insecure Configuration Mgmt Enable Client State-Saving Encryption If client saving, provide encryption key in <initparam> org.apache.myfaces.secret Default algorithm is DES See myfaces-shared-impl StateUtils class to change Org.apache.myfaces.algorithm Org.apache.myfaces.algorithm.parameters Org.apache.myfaces.secret.cache
64 A10 Insecure Configuration Mgmt Lock Down.xhtml with Facelets Lock down.xhtml extension if using Facelets Rejecting servlet Or <security-constraint> in web.xml See Facelets doc for details
65 Putting It All Together Use only rich types in model beans Rich type converter(s) should Provide positive input validation Index values for select components (radio, check, menu) Escape all other output Use listener to check for unvalidated components Use forced browsing / session riding preventer Dump JSP for Facelets
66 Resources owasp.org facelets.dev.java.net springframework.org icefaces.org labs.jboss.com/jbossrichfaces learnjsf.com (blog, code, training, etc.)
Top Ten Web Application Vulnerabilities in J2EE. Vincent Partington and Eelco Klaver Xebia
Top Ten Web Application Vulnerabilities in J2EE Vincent Partington and Eelco Klaver Xebia Introduction Open Web Application Security Project is an open project aimed at identifying and preventing causes
OWASP and OWASP Top 10 (2007 Update) OWASP. The OWASP Foundation. Dave Wichers. The OWASP Foundation. OWASP Conferences Chair dave.wichers@owasp.
and Top 10 (2007 Update) Dave Wichers The Foundation Conferences Chair [email protected] COO, Aspect Security [email protected] Copyright 2007 - The Foundation This work is available
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda 1. Introductions for new members (5 minutes) 2. Name of group 3. Current
What is Web Security? Motivation
[email protected] http://www.brucker.ch/ Information Security ETH Zürich Zürich, Switzerland Information Security Fundamentals March 23, 2004 The End Users View The Server Providers View What is Web
Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet
Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet March 8, 2012 Stephen Kost Chief Technology Officer Integrigy Corporation Phil Reimann Director of Business Development
3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management
What is an? s Ten Most Critical Web Application Security Vulnerabilities Anthony LAI, CISSP, CISA Chapter Leader (Hong Kong) [email protected] Open Web Application Security Project http://www.owasp.org
Web Application Report
Web Application Report This report includes important security information about your Web Application. Security Report This report was created by IBM Rational AppScan 8.5.0.1 11/14/2012 8:52:13 AM 11/14/2012
Web Application Vulnerability Testing with Nessus
The OWASP Foundation http://www.owasp.org Web Application Vulnerability Testing with Nessus Rïk A. Jones, CISSP [email protected] Rïk A. Jones Web developer since 1995 (16+ years) Involved with information
ArcGIS Server Security Threats & Best Practices 2014. David Cordes Michael Young
ArcGIS Server Security Threats & Best Practices 2014 David Cordes Michael Young Agenda Introduction Threats Best practice - ArcGIS Server settings - Infrastructure settings - Processes Summary Introduction
Where every interaction matters.
Where every interaction matters. Peer 1 Vigilant Web Application Firewall Powered by Alert Logic The Open Web Application Security Project (OWASP) Top Ten Web Security Risks and Countermeasures White Paper
Defeating XSS and XSRF with JSF Frameworks
Defeating XSS and XSRF with JSF Frameworks About Me Steve Wolf Vice President, Application Security AsTech Consulting, Inc. [email protected] www.astechconsulting.com OWASP Chapter Lead Sacramento,
Magento Security and Vulnerabilities. Roman Stepanov
Magento Security and Vulnerabilities Roman Stepanov http://ice.eltrino.com/ Table of contents Introduction Open Web Application Security Project OWASP TOP 10 List Common issues in Magento A1 Injection
Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure
Vulnerabilities, Weakness and Countermeasures Massimo Cotelli CISSP Secure : Goal of This Talk Security awareness purpose Know the Web Application vulnerabilities Understand the impacts and consequences
An introduction to creating JSF applications in Rational Application Developer Version 8.0
An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create
Adobe Systems Incorporated
Adobe Connect 9.2 Page 1 of 8 Adobe Systems Incorporated Adobe Connect 9.2 Hosted Solution June 20 th 2014 Adobe Connect 9.2 Page 2 of 8 Table of Contents Engagement Overview... 3 About Connect 9.2...
Web Application Penetration Testing
Web Application Penetration Testing 2010 2010 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property. Will Bechtel [email protected]
Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security
Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security Presented 2009-05-29 by David Strauss Thinking Securely Security is a process, not
FINAL DoIT 11.03.2015 - v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES
Purpose: The Department of Information Technology (DoIT) is committed to developing secure applications. DoIT s System Development Methodology (SDM) and Application Development requirements ensure that
Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011
Creating Stronger, Safer, Web Facing Code JPL IT Security Mary Rivera June 17, 2011 Agenda Evolving Threats Operating System Application User Generated Content JPL s Application Security Program Securing
WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats
WHITE PAPER FortiWeb and the OWASP Top 10 PAGE 2 Introduction The Open Web Application Security project (OWASP) Top Ten provides a powerful awareness document for web application security. The OWASP Top
Enterprise Application Security Workshop Series
Enterprise Application Security Workshop Series Phone 877-697-2434 fax 877-697-2434 www.thesagegrp.com Defending JAVA Applications (3 Days) In The Sage Group s Defending JAVA Applications workshop, participants
Thick Client Application Security
Thick Client Application Security Arindam Mandal ([email protected]) (http://www.paladion.net) January 2005 This paper discusses the critical vulnerabilities and corresponding risks in a two
Sitefinity Security and Best Practices
Sitefinity Security and Best Practices Table of Contents Overview The Ten Most Critical Web Application Security Risks Injection Cross-Site-Scripting (XSS) Broken Authentication and Session Management
Web application security
Web application security Sebastian Lopienski CERN Computer Security Team openlab and summer lectures 2010 (non-web question) Is this OK? int set_non_root_uid(int uid) { // making sure that uid is not 0
CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities
CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities Thomas Moyer Spring 2010 1 Web Applications What has changed with web applications? Traditional applications
Web Application Guidelines
Web Application Guidelines Web applications have become one of the most important topics in the security field. This is for several reasons: It can be simple for anyone to create working code without security
The Top Web Application Attacks: Are you vulnerable?
QM07 The Top Web Application Attacks: Are you vulnerable? John Burroughs, CISSP Sr Security Architect, Watchfire Solutions [email protected] Agenda Current State of Web Application Security Understanding
WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY
WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY www.alliancetechpartners.com WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY More than 70% of all websites have vulnerabilities
ASP.NET MVC Secure Coding 4-Day hands on Course. Course Syllabus
ASP.NET MVC Secure Coding 4-Day hands on Course Course Syllabus Course description ASP.NET MVC Secure Coding 4-Day hands on Course Secure programming is the best defense against hackers. This multilayered
Still Aren't Doing. Frank Kim
Ten Things Web Developers Still Aren't Doing Frank Kim Think Security Consulting Background Frank Kim Consultant, Think Security Consulting Security in the SDLC SANS Author & Instructor DEV541 Secure Coding
Check list for web developers
Check list for web developers Requirement Yes No Remarks 1. Input Validation 1.1) Have you done input validation for all the user inputs using white listing and/or sanitization? 1.2) Does the input validation
FINAL DoIT 04.01.2013- v.8 APPLICATION SECURITY PROCEDURE
Purpose: This procedure identifies what is required to ensure the development of a secure application. Procedure: The five basic areas covered by this document include: Standards for Privacy and Security
JVA-122. Secure Java Web Development
JVA-122. Secure Java Web Development Version 7.0 This comprehensive course shows experienced developers of Java EE applications how to secure those applications and to apply best practices with regard
OWASP Top Ten Tools and Tactics
OWASP Top Ten Tools and Tactics Russ McRee Copyright 2012 HolisticInfoSec.org SANSFIRE 2012 10 JULY Welcome Manager, Security Analytics for Microsoft Online Services Security & Compliance Writer (toolsmith),
Web Application Security Assessment and Vulnerability Mitigation Tests
White paper BMC Remedy Action Request System 7.6.04 Web Application Security Assessment and Vulnerability Mitigation Tests January 2011 www.bmc.com Contacting BMC Software You can access the BMC Software
Advanced Web Technology 10) XSS, CSRF and SQL Injection 2
Berner Fachhochschule, Technik und Informatik Advanced Web Technology 10) XSS, CSRF and SQL Injection Dr. E. Benoist Fall Semester 2010/2011 Table of Contents Cross Site Request Forgery - CSRF Presentation
Security features of ZK Framework
1 Security features of ZK Framework This document provides a brief overview of security concerns related to JavaScript powered enterprise web application in general and how ZK built-in features secures
Ruby on Rails Secure Coding Recommendations
Introduction Altius IT s list of Ruby on Rails Secure Coding Recommendations is based upon security best practices. This list may not be complete and Altius IT recommends this list be augmented with additional
Last update: February 23, 2004
Last update: February 23, 2004 Web Security Glossary The Web Security Glossary is an alphabetical index of terms and terminology relating to web application security. The purpose of the Glossary is to
Ethical Hacking as a Professional Penetration Testing Technique
Ethical Hacking as a Professional Penetration Testing Technique Rochester ISSA Chapter Rochester OWASP Chapter - Durkee Consulting, Inc. [email protected] 2 Background Founder of Durkee Consulting since 1996
Software Assurance Tools: Web Application Security Scanner Functional Specification Version 1.0
Special Publication 500-269 Software Assurance Tools: Web Application Security Scanner Functional Specification Version 1.0 Paul E. Black Elizabeth Fong Vadim Okun Romain Gaucher Software Diagnostics and
Detecting Web Application Vulnerabilities Using Open Source Means. OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008
Detecting Web Application Vulnerabilities Using Open Source Means OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008 Kostas Papapanagiotou Committee Member OWASP Greek Chapter [email protected]
Web-Application Security
Web-Application Security Kristian Beilke Arbeitsgruppe Sichere Identität Fachbereich Mathematik und Informatik Freie Universität Berlin 29. Juni 2011 Overview Web Applications SQL Injection XSS Bad Practice
Top 10 Web Application Security Vulnerabilities - with focus on PHP
Top 10 Web Application Security Vulnerabilities - with focus on PHP Louise Berthilson Alberto Escudero Pascual 1 Resources The Top 10 Project by OWASP www.owasp.org/index.php/owasp_top_ten_project
Secure development and the SDLC. Presented By Jerry Hoff @jerryhoff
Secure development and the SDLC Presented By Jerry Hoff @jerryhoff Agenda Part 1: The Big Picture Part 2: Web Attacks Part 3: Secure Development Part 4: Organizational Defense Part 1: The Big Picture Non
(WAPT) Web Application Penetration Testing
(WAPT) Web Application Penetration Testing Module 0: Introduction 1. Introduction to the course. 2. How to get most out of the course 3. Resources you will need for the course 4. What is WAPT? Module 1:
How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering
How to break in Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering Time Agenda Agenda Item 9:30 10:00 Introduction 10:00 10:45 Web Application Penetration
Hack Yourself First. Troy Hunt @troyhunt troyhunt.com [email protected]
Hack Yourself First Troy Hunt @troyhunt troyhunt.com [email protected] We re gonna turn you into lean, mean hacking machines! Because if we don t, these kids are going to hack you Jake Davies, 19 (and
Cyber Security Challenge Australia 2014
Cyber Security Challenge Australia 2014 www.cyberchallenge.com.au CySCA2014 Web Penetration Testing Writeup Background: Pentest the web server that is hosted in the environment at www.fortcerts.cysca Web
elearning for Secure Application Development
elearning for Secure Application Development Curriculum Application Security Awareness Series 1-2 Secure Software Development Series 2-8 Secure Architectures and Threat Modeling Series 9 Application Security
Testing the OWASP Top 10 Security Issues
Testing the OWASP Top 10 Security Issues Andy Tinkham & Zach Bergman, Magenic Technologies Contact Us 1600 Utica Avenue South, Suite 800 St. Louis Park, MN 55416 1 (877)-277-1044 [email protected] Who Are
Implementation of Web Application Firewall
Implementation of Web Application Firewall OuTian 1 Introduction Abstract Web 層 應 用 程 式 之 攻 擊 日 趨 嚴 重, 而 國 內 多 數 企 業 仍 不 知 該 如 何 以 資 安 設 備 阻 擋, 仍 在 採 購 傳 統 的 Firewall/IPS,
Columbia University Web Security Standards and Practices. Objective and Scope
Columbia University Web Security Standards and Practices Objective and Scope Effective Date: January 2011 This Web Security Standards and Practices document establishes a baseline of security related requirements
Sichere Software- Entwicklung für Java Entwickler
Sichere Software- Entwicklung für Java Entwickler Dominik Schadow Senior Consultant Trivadis GmbH 05/09/2012 BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART
Web Application Attacks And WAF Evasion
Web Application Attacks And WAF Evasion Ahmed ALaa (EG-CERT) 19 March 2013 What Are We Going To Talk About? - introduction to web attacks - OWASP organization - OWASP frameworks - Crawling & info. gathering
Introduction:... 1 Security in SDLC:... 2 Penetration Testing Methodology: Case Study... 3
Table of Contents Introduction:... 1 Security in SDLC:... 2 Penetration Testing Methodology: Case Study... 3 Information Gathering... 3 Vulnerability Testing... 7 OWASP TOP 10 Vulnerabilities:... 8 Injection
Thomas Röthlisberger IT Security Analyst [email protected]
Thomas Röthlisberger IT Security Analyst [email protected] Compass Security AG Werkstrasse 20 Postfach 2038 CH-8645 Jona Tel +41 55 214 41 60 Fax +41 55 214 41 61 [email protected] www.csnc.ch What
Java Web Application Security
Java Web Application Security RJUG Nov 11, 2003 Durkee Consulting www.rd1.net 1 Ralph Durkee SANS Certified Mentor/Instructor SANS GIAC Network Security and Software Development Consulting Durkee Consulting
State of The Art: Automated Black Box Web Application Vulnerability Testing. Jason Bau, Elie Bursztein, Divij Gupta, John Mitchell
Stanford Computer Security Lab State of The Art: Automated Black Box Web Application Vulnerability Testing, Elie Bursztein, Divij Gupta, John Mitchell Background Web Application Vulnerability Protection
Attack Vector Detail Report Atlassian
Attack Vector Detail Report Atlassian Report As Of Tuesday, March 24, 2015 Prepared By Report Description Notes [email protected] The Attack Vector Details report provides details of vulnerability
Chapter 1 Web Application (In)security 1
Introduction xxiii Chapter 1 Web Application (In)security 1 The Evolution of Web Applications 2 Common Web Application Functions 4 Benefits of Web Applications 5 Web Application Security 6 "This Site Is
Top Ten Web Attacks. Saumil Shah Net-Square. BlackHat Asia 2002, Singapore
Top Ten Web Attacks Saumil Shah Net-Square BlackHat Asia 2002, Singapore TodayÕs battleground Ð the Web Web sites and web applications rapidly growing. Complex business applications are now delivered over
Security Code Review- Identifying Web Vulnerabilities
Security Code Review- Identifying Web Vulnerabilities Kiran Maraju, CISSP, CEH, ITIL, SCJP Email: [email protected] 1 1.1.1 Abstract Security Code Review- Identifying Web Vulnerabilities This paper
Semantic based Web Application Firewall (SWAF V 1.6) Operations and User Manual. Document Version 1.0
Semantic based Web Application Firewall (SWAF V 1.6) Operations and User Manual Document Version 1.0 Table of Contents 1 SWAF... 4 1.1 SWAF Features... 4 2 Operations and User Manual... 7 2.1 SWAF Administrator
Cracking the Perimeter via Web Application Hacking. Zach Grace, CISSP, CEH [email protected] January 17, 2014 2014 Mega Conference
Cracking the Perimeter via Web Application Hacking Zach Grace, CISSP, CEH [email protected] January 17, 2014 2014 Mega Conference About 403 Labs 403 Labs is a full-service information security and compliance
WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL. Ensuring Compliance for PCI DSS 6.5 and 6.6
WHITE PAPER FORTIWEB WEB APPLICATION FIREWALL Ensuring Compliance for PCI DSS 6.5 and 6.6 CONTENTS 04 04 06 08 11 12 13 Overview Payment Card Industry Data Security Standard PCI Compliance for Web Applications
Architectural Design Patterns. Design and Use Cases for OWASP. Wei Zhang & Marco Morana OWASP Cincinnati, U.S.A. http://www.owasp.
Architectural Design Patterns for SSO (Single Sign On) Design and Use Cases for Financial i Web Applications Wei Zhang & Marco Morana OWASP Cincinnati, U.S.A. OWASP Copyright The OWASP Foundation Permission
MatriXay WEB Application Vulnerability Scanner V 5.0. 1. Overview. (DAS- WEBScan ) - - - - - The best WEB application assessment tool
MatriXay DAS-WEBScan MatriXay WEB Application Vulnerability Scanner V 5.0 (DAS- WEBScan ) - - - - - The best WEB application assessment tool 1. Overview MatriXay DAS- Webscan is a specific application
Nuclear Regulatory Commission Computer Security Office Computer Security Standard
Nuclear Regulatory Commission Computer Security Office Computer Security Standard Office Instruction: Office Instruction Title: CSO-STD-1108 Web Application Standard Revision Number: 1.0 Effective Date:
Detecting and Defending Against Security Vulnerabilities for Web 2.0 Applications
Detecting and Defending Against Security Vulnerabilities for Web 2.0 Applications Ray Lai, Intuit TS-5358 Share experience how to detect and defend security vulnerabilities in Web 2.0 applications using
JavaServer Faces 2.0: The Complete Reference
JavaServer Faces 2.0: The Complete Reference TIB/UB Hannover 89 133 219 50X Contents Acknowledgments xxiii Introduction, xxv Part The JavaServer Faces Framework 1 Introduction to JavaServer Faces 3 What
1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications
1. Introduction 2. Web Application 3. Components 4. Common Vulnerabilities 5. Improving security in Web applications 2 What does World Wide Web security mean? Webmasters=> confidence that their site won
Essential IT Security Testing
Essential IT Security Testing Application Security Testing for System Testers By Andrew Muller Director of Ionize Who is this guy? IT Security consultant to the stars Member of OWASP Member of IT-012-04
The end. Carl Nettelblad 2015-06-04
The end Carl Nettelblad 2015-06-04 The exam and end of the course Don t forget the course evaluation! Closing tomorrow, Friday Project upload deadline tonight Book presentation appointments with Kalyan
External Network & Web Application Assessment. For The XXX Group LLC October 2012
External Network & Web Application Assessment For The XXX Group LLC October 2012 This report is solely for the use of client personal. No part of it may be circulated, quoted, or reproduced for distribution
Web Application Security
Web Application Security Prof. Sukumar Nandi Indian Institute of Technology Guwahati Agenda Web Application basics Web Network Security Web Host Security Web Application Security Best Practices Questions?
Introduction to Web Application Security. Microsoft CSO Roundtable Houston, TX. September 13 th, 2006
Introduction to Web Application Security Microsoft CSO Roundtable Houston, TX September 13 th, 2006 Overview Background What is Application Security and Why Is It Important? Examples Where Do We Go From
Intrusion detection for web applications
Intrusion detection for web applications Intrusion detection for web applications Łukasz Pilorz Application Security Team, Allegro.pl Reasons for using IDS solutions known weaknesses and vulnerabilities
WHITE PAPER. FortiWeb Web Application Firewall Ensuring Compliance for PCI DSS 6.5 and 6.6
WHITE PAPER FortiWeb Web Application Firewall Ensuring Compliance for PCI DSS 6.5 and 6.6 Ensuring compliance for PCI DSS 6.5 and 6.6 Page 2 Overview Web applications and the elements surrounding them
Securing Your Web Application against security vulnerabilities. Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group
Securing Your Web Application against security vulnerabilities Ong Khai Wei, IT Specialist, Development Tools (Rational) IBM Software Group Agenda Security Landscape Vulnerability Analysis Automated Vulnerability
Application Security Vulnerabilities, Mitigation, and Consequences
Application Security Vulnerabilities, Mitigation, and Consequences Sean Malone, CISSP, CCNA, CEH, CHFI [email protected] Institute of Internal Auditors April 10, 2012 Overview Getting Technical
JSF (Java Server Faces) Melih Sakarya www.melihsakarya.com [email protected]
JSF (Java Server Faces) Melih Sakarya www.melihsakarya.com [email protected] JSF Nedir? MVC (Model-View-Controller) JSR Standartı (JSR-127, JSR 252) Component Oriented Event Driven Farklı JSF implementasyonları
OWASP TOP 10 ILIA ALSHANETSKY @ILIAA HTTPS://JOIND.IN/15741
OWASP TOP 10 ILIA ALSHANETSKY @ILIAA HTTPS://JOIND.IN/15741 ME, MYSELF & I PHP Core Developer Author of Guide to PHP Security Security Aficionado THE CONUNDRUM USABILITY SECURITY YOU CAN HAVE ONE ;-) OPEN
05.0 Application Development
Number 5.0 Policy Owner Information Security and Technology Policy Application Development Effective 01/01/2014 Last Revision 12/30/2013 Department of Innovation and Technology 5. Application Development
HP WebInspect Tutorial
HP WebInspect Tutorial Introduction: With the exponential increase in internet usage, companies around the world are now obsessed about having a web application of their own which would provide all the
Application Security: What Does it Take to Build and Test a Trusted App? John Dickson, CISSP Denim Group
Application Security: What Does it Take to Build and Test a Trusted App? John Dickson, CISSP Denim Group Overview What is Application Security? Examples of Potential Vulnerabilities Potential Strategies
A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications. Slides by Connor Schnaith
A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications Slides by Connor Schnaith Cross-Site Request Forgery One-click attack, session riding Recorded since 2001 Fourth out of top 25 most
Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh
Web applications Web security: web basics Myrto Arapinis School of Informatics University of Edinburgh HTTP March 19, 2015 Client Server Database (HTML, JavaScript) (PHP) (SQL) 1 / 24 2 / 24 URLs HTTP
Criteria for web application security check. Version 2015.1
Criteria for web application security check Version 2015.1 i Content Introduction... iii ISC- P- 001 ISC- P- 001.1 ISC- P- 001.2 ISC- P- 001.3 ISC- P- 001.4 ISC- P- 001.5 ISC- P- 001.6 ISC- P- 001.7 ISC-
Web Security Testing Cookbook*
Web Security Testing Cookbook* Systematic Techniques to Find Problems Fast Paco Hope and Ben Walther O'REILLY' Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Foreword Preface xiii xv
Application Security. Petr Křemen. [email protected]
Application Security Petr Křemen [email protected] What is application security? Security is a set of measures that So, what can happen? taken from [7] first half of 2013 Let's focus on application
Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability
Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability WWW Based upon HTTP and HTML Runs in TCP s application layer Runs on top of the Internet Used to exchange
Web Application Security
Chapter 1 Web Application Security In this chapter: OWASP Top 10..........................................................2 General Principles to Live By.............................................. 4
Web Application Security
E-SPIN PROFESSIONAL BOOK Vulnerability Management Web Application Security ALL THE PRACTICAL KNOW HOW AND HOW TO RELATED TO THE SUBJECT MATTERS. COMBATING THE WEB VULNERABILITY THREAT Editor s Summary
Security Test s i t ng Eileen Donlon CMSC 737 Spring 2008
Security Testing Eileen Donlon CMSC 737 Spring 2008 Testing for Security Functional tests Testing that role based security functions correctly Vulnerability scanning and penetration tests Testing whether
Web Application Security Guidelines for Hosting Dynamic Websites on NIC Servers
Web Application Security Guidelines for Hosting Dynamic Websites on NIC Servers The Website can be developed under Windows or Linux Platform. Windows Development should be use: ASP, ASP.NET 1.1/ 2.0, and
BASELINE SECURITY TEST PLAN FOR EDUCATIONAL WEB AND MOBILE APPLICATIONS
BASELINE SECURITY TEST PLAN FOR EDUCATIONAL WEB AND MOBILE APPLICATIONS Published by Tony Porterfield Feb 1, 2015. Overview The intent of this test plan is to evaluate a baseline set of data security practices
