This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Guide Table of Contents

From OWASP
Revision as of 12:45, 22 May 2006 by Weilin Zhong (talk | contribs)

Jump to: navigation, search

Frontispiece

    1. Dedication
    1. Copyright and license
    1. Editors
    1. Authors and Reviewers
    1. Revision History

About The Open Web Application Security Project

    1. Structure and Licensing
    1. Participation and Membership
    1. Projects

Introduction

    1. Developing Secure Applications
    1. Improvements in this edition
    1. How to use this Guide
    1. Updates and errata
    1. With thanks

What are web applications?

    1. Technologies
    1. First generation – CGI
    1. Filters
    1. Scripting
    1. Web application frameworks – J
    1. Small to medium scale applications
    1. Large scale applications
    1. View
    1. Controller
    1. Model
    1. Conclusion

Policy Frameworks

    1. Organizational commitment to security
    1. OWASP’s Place at the Framework table
    1. Development Methodology
    1. Coding Standards
    1. Source Code Control
    1. Summary

Secure Coding Principles

    1. Asset Classification
    1. About attackers
    1. Core pillars of information security
    1. Security Architecture
    1. Security Principles

Threat Risk Modeling

    1. Threat Risk Modeling
    1. Performing threat risk modeling using the Microsoft Threat Modeling Process
    1. Alternative Threat Modeling Systems
    1. Trike
    1. AS/NZS
    1. CVSS
    1. OCTAVE
    1. Conclusion
    1. Further Reading

Handling E-Commerce Payments

    1. Objectives
    1. Compliance and Laws
    1. PCI Compliance
    1. Handling Credit Cards
    1. Further Reading

Phishing

    1. What is phishing?
    1. User Education
    1. Make it easy for your users to report scams
    1. Communicating with customers via e-mail
    1. Never ask your customers for their secrets
    1. Fix all your XSS issues
    1. Do not use pop-ups
    1. Don’t be framed
    1. Move your application one link away from your front page
    1. Enforce local referrers for images and other resources
    1. Keep the address bar, use SSL, do not use IP addresses
    1. Don’t be the source of identity theft
    1. Implement safe-guards within your application
    1. Monitor unusual account activity
    1. Get the phishing target servers offline pronto
    1. Take control of the fraudulent domain name
    1. Work with law enforcement
    1. When an attack happens
    1. Further Reading

Web Services

    1. Securing Web Services
    1. Communication security
    1. Passing credentials
    1. Ensuring message freshness
    1. Protecting message integrity
    1. Protecting message confidentiality
    1. Access control
    1. Audit
    1. Web Services Security Hierarchy
    1. SOAP
    1. WS-Security Standard
    1. WS-Security Building Blocks
    1. Communication Protection Mechanisms
    1. Access Control Mechanisms
    1. Forming Web Service Chains
    1. Available Implementations
    1. Problems
    1. Further Reading

Ajax and Other "Rich" Interface Technologies

    1. Objective
    1. Platforms Affected
    1. Architecture
    1. Access control: Authentication and Authorization
    1. Silent transactional authorization
    1. Untrusted or absent session data
    1. State management
    1. Tamper resistance
    1. Privacy
    1. Proxy Façade
    1. SOAP Injection Attacks
    1. XMLRPC Injection Attacks
    1. DOM Injection Attacks
    1. XML Injection Attacks
    1. JSON (Javascript Object Notation) Injection Attacks
    1. Encoding safety
    1. Auditing
    1. Error Handling
    1. Accessibility
    1. Further Reading

Authentication

    1. Objective
    1. Environments Affected
    1. Relevant COBIT Topics
    1. Best Practices
    1. Common web authentication techniques
    1. Strong Authentication
    1. Federated Authentication
    1. Client side authentication controls
    1. Positive Authentication
    1. Multiple Key Lookups
    1. Referer Checks
    1. Browser remembers passwords
    1. Default accounts
    1. Choice of usernames
    1. Change passwords
    1. Short passwords
    1. Weak password controls
    1. Reversible password encryption
    1. Automated password resets
    1. Brute Force
    1. Remember Me
    1. Idle Timeouts
    1. Logout
    1. Account Expiry
    1. Self registration
    1. CAPTCHA
    1. Further Reading
    1. Authentication

Authorization

    1. Objectives
    1. Environments Affected
    1. Relevant COBIT Topics
    1. Best Practices
    1. Best Practices in Action
    1. Principle of least privilege
    1. Centralized authorization routines
    1. Authorization matrix
    1. Controlling access to protected resources
    1. Protecting access to static resources
    1. Reauthorization for high value activities or after idle out
    1. Time based authorization
    1. Be cautious of custom authorization controls
    1. Never implement client-side authorization tokens
    1. Further Reading

Session Management

    1. Objective
    1. Environments Affected
    1. Relevant COBIT Topics
    1. Description
    1. Best practices
    1. Exposed Session Variables
    1. Page and Form Tokens
    1. Weak Session Cryptographic Algorithms
    1. Session Token Entropy
    1. Session Time-out
    1. Regeneration of Session Tokens
    1. Session Forging/Brute-Forcing Detection and/or Lockout
    1. Session Token Capture and Session Hijacking
    1. Session Tokens on Logout
    1. Session Validation Attacks
    1. PHP
    1. Sessions
    1. Further Reading
    1. Session Management

Data Validation

    1. Objective
    1. Platforms Affected
    1. Relevant COBIT Topics
    1. Description
    1. Definitions
    1. Where to include integrity checks
    1. Where to include validation
    1. Where to include business rule validation
    1. Data Validation Strategies
    1. Prevent parameter tampering
    1. Hidden fields
    1. ASP.NET Viewstate
    1. URL encoding
    1. HTML encoding
    1. Encoded strings
    1. Data Validation and Interpreter Injection
    1. Delimiter and special characters
    1. Further Reading

Interpreter Injection

    1. Objective
    1. Platforms Affected
    1. Relevant COBIT Topics
    1. User Agent Injection
    1. HTTP Response Splitting
    1. SQL Injection
    1. ORM Injection
    1. LDAP Injection
    1. XML Injection
    1. Code Injection
    1. Further Reading
    1. SQL-injection
    1. Code Injection
    1. Command injection

Canoncalization, locale and Unicode

    1. Objective
    1. Platforms Affected
    1. Relevant COBIT Topics
    1. Description
    1. Unicode
    1. http://www.ietf.org/rfc/rfc##
    1. Input Formats
    1. Locale assertion
    1. Double (or n-) encoding
    1. HTTP Request Smuggling
    1. Further Reading

Error Handling, Auditing and Logging

    1. Objective
    1. Environments Affected
    1. Relevant COBIT Topics
    1. Description
    1. Best practices
    1. Error Handling
    1. Detailed error messages
    1. Logging
    1. Noise
    1. Cover Tracks
    1. False Alarms
    1. Destruction
    1. Audit Trails
    1. Further Reading
    1. Error Handling and Logging

File System

    1. Objective
    1. Environments Affected
    1. Relevant COBIT Topics
    1. Description
    1. Best Practices
    1. Defacement
    1. Path traversal
    1. Insecure permissions
    1. Insecure Indexing
    1. Unmapped files
    1. Temporary files
    1. PHP
    1. Includes and Remote files
    1. File upload
    1. Old, unreferenced files
    1. Second Order Injection
    1. Further Reading
    1. File System

Distributed Computing

    1. Objective
    1. Environments Affected
    1. Relevant COBIT Topics
    1. Best Practices
    1. Race conditions
    1. Distributed synchronization
    1. Further Reading

Buffer Overflows

    1. Objective
    1. Platforms Affected
    1. Relevant COBIT Topics
    1. Description
    1. General Prevention Techniques
    1. Stack Overflow
    1. Heap Overflow
    1. Format String
    1. Unicode Overflow
    1. Integer Overflow
    1. Further reading

Administrative Interface

    1. Objective
    1. Environments Affected
    1. Relevant COBIT Topics
    1. Best practices
    1. Administrators are not users
    1. Authentication for high value systems
    1. Further Reading

Cryptography

    1. Objective
    1. Platforms Affected
    1. Relevant COBIT Topics
    1. Description
    1. Cryptographic Functions
    1. Cryptographic Algorithms
    1. Algorithm Selection
    1. Key Storage
    1. Insecure transmission of secrets
    1. Reversible Authentication Tokens
    1. Safe UUID generation
    1. Summary
    1. Further Reading
    1. Cryptography

Configuration

    1. Objective
    1. Platforms Affected
    1. Relevant COBIT Topics
    1. Best Practices
    1. Default passwords
    1. Secure connection strings
    1. Secure network transmission
    1. Encrypted data
    1. PHP Configuration
    1. Global variables
    1. register_globals
    1. Database security
    1. Further Reading
    1. ColdFusion Components (CFCs)
    1. Configuration

Software Quality Assurance

    1. Objective
    1. Platforms Affected
    1. Best practices
    1. Process
    1. Metrics
    1. Testing Activities

Deployment

    1. Objective
    1. Platforms Affected
    1. Best Practices
    1. Release Management
    1. Secure delivery of code
    1. Code signing
    1. Permissions are set to least privilege
    1. Automated packaging
    1. Automated deployment
    1. Automated removal
    1. No backup or old files
    1. Unnecessary features are off by default
    1. Setup log files are clean
    1. No default accounts
    1. Easter eggs
    1. Malicious software
    1. Further Reading

Maintenance

    1. Objective
    1. Platforms Affected
    1. Relevant COBIT Topics
    1. Best Practices
    1. Security Incident Response
    1. Fix Security Issues Correctly
    1. Update Notifications
    1. Regularly check permissions
    1. Further Reading
    1. Maintenance

GNU Free Documentation License

    1. PREAMBLE
    1. APPLICABILITY AND DEFINITIONS
    1. VERBATIM COPYING
    1. COPYING IN QUANTITY
    1. MODIFICATIONS
    1. COMBINING DOCUMENTS
    1. COLLECTIONS OF DOCUMENTS
    1. AGGREGATION WITH INDEPENDENT WORKS
    1. TRANSLATION
    1. TERMINATION
    1. FUTURE REVISIONS OF THIS LICENSE