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
OWASP Code Review V2 Table of Contents
From OWASP
Revision as of 07:38, 6 January 2014 by Gary David Robinson (talk | contribs)
- 1 OWASP Code Review Guide v2.0:
- 1.1 Forward
- 1.2 Code Review Guide Introduction
- 1.2.1 What is source code review and Static Analysis
- 1.2.2 What is Code Review
- 1.2.3 Manual Review - Pros and Cons
- 1.2.4 Advantages of Code Review to Development Practices
- 1.2.5 Why code review
- 1.2.6 We can't hack ourselves secure
- 1.2.7 360 Review: Coupling source code review and Testing / Hybrid Reviews
- 1.2.8 Can static code analyzers do it all?
- 2 Methodology
- 3 Reviewing by Technical Control
- 3.1 Reviewing code for Authentication controls
- 3.2 Reviewing code Authorization weakness
- 3.2.1 Checking authz upon every request
- 3.2.2 Reducing the attack surface
- 3.2.3 SSL/TLS Implementations
- 3.2.4 Reviewing code for Session handling
- 3.2.5 Reviewing client side code
- 3.2.6 Review code for input validation
- 3.2.7 Reviewing code for contextual encoding
- 3.2.8 Reviewing file and resource handling code
- 3.2.9 Resource Exhaustion - error handling
- 3.2.10 Reviewing Logging code - Detective Security
- 3.2.11 Reviewing Error handling and Error messages
- 3.2.12 Reviewing Security alerts
- 3.2.13 Review for active defense
- 3.2.14 Reviewing Secure Storage
- 3.2.15 Hashing & Salting - When, How and Where
- 4 Reviewing by Vulnerability
- 4.1 Review Code for XSS
- 4.2 Persistent - The Anti pattern
- 4.3 Reflected - The Anti pattern
- 4.4 Stored - The Anti pattern
- 4.5 DOM XSS
- 4.6 JQuery mistakes
- 4.7 Reviewing code for SQL Injection
- 4.8 The Anti pattern
- 4.9 Reviewing code for CSRF Issues
- 4.10 Transactional logic / Non idempotent functions / State Changing Functions
- 4.11 Reviewing code for poor logic /Business logic/Complex authorization
- 4.12 Reviewing Secure Communications
- 4.13 Tech-Stack pitfalls
- 4.14 Framework specific Issues
- 4.14.1 Spring
- 4.14.2 Struts
- 4.14.3 Drupal
- 4.14.4 Ruby on Rails
- 4.14.5 Django
- 4.14.6 .NET Security / MVC
- 4.14.7 Security in ASP.NET applications
- 4.14.8 PHP Specific Issues
- 4.14.9 Classic ASP
- 4.14.10 C#
- 4.14.11 C/C++
- 4.14.12 Objective C
- 4.14.13 Java
- 4.14.14 Android
- 4.14.15 Coldfusion
- 4.14.16 CodeIgniter
- 5 Security code review for Agile development
- 6 Code Review Tools
OWASP Code Review Guide v2.0:
Forward
- Author - Eoin Keary
- Previous version to be updated:[[1]]
Code Review Guide Introduction
- Author - Eoin Keary
- Previous version to be updated:[[2]]
What is source code review and Static Analysis
What is Code Review
- Author - Zyad Mghazli, Eoin Keary
- New Section
Manual Review - Pros and Cons
- Author - Zyad Mghazli, Eoin Keary,Gary David Robinson
- New Section
- Suggestion: Benchmark of different Stataic Analysis Tools Zyad Mghazli
- Put content here
Advantages of Code Review to Development Practices
- Author - Gary David Robinson
- New Section
- Put content here
Why code review
Scope and Objective of secure code review
- Author - Ashish Rao
- Put content here
We can't hack ourselves secure
- Author - Eoin Keary
- New Section
- Put content here
360 Review: Coupling source code review and Testing / Hybrid Reviews
- Author - eoin Keary
- New Section
- Put content here
Can static code analyzers do it all?
- Author - Ashish Rao
- New Section
- Put content here
Methodology
The code review approach
- Author - Johanna Curiel
- Put content here
Preparation and context
- Author - Gary David Robinson
- Previous version to be updated: [[3]]
- Put content here
Application Threat Modeling
- Author - Larry Conklin
- Previous version to be updated: [[4]]
- Put content here
Understanding Code layout/Design/Architecture
- Author - Open
- Put content here
SDLC Integration
- Author - Larry Conklin
- Previous version to be updated: [[5]]
- Put content here
Deployment Models
Secure deployment configurations
- Author -
- Put content here
- New Section
Metrics and code review
- Author [email protected]
- Previous version to be updated: [[6]]
- Put content here
Source and sink reviews
- Author - Open
- New Section
- Put content here
Code review Coverage
- Author - Open
- Previous version to be updated: [[7]]
- Put content here
Design Reviews
- Author - Ashish Rao
- Why to review design?
- Building security in design - secure by design principle
- Design Areas to be reviewed
- Common Design Flaws
A Risk based approach to code review
- Author - Gary David Robinson
- New Section
- "Doing things right or doing the right things..."
- "Not all bugs are equal
Crawling code
- Author - Open
- Previous version to be updated: [[8]]
- API of Interest:
- Java
- .NET
- PHP
- RUBY
- Frameworks:
- Spring
- .NET MVC
- Struts
- Zend
- New Section
- Searching for code in C/C++
- Author - Gary David Robinson
Code reviews and Compliance
- Author -Open
- Previous version to be updated: [[9]]
- Put content here
Reviewing by Technical Control
Reviewing code for Authentication controls
- Author - Open
- Put content here
Forgot password
- Author Abbas Naderi, Larry Conklin
- Put content here
Authentication
- Author - Open
- Put content here
CAPTCHA
- Author Larry Conklin, Joan Renchie
Out of Band considerations
- Author - Open
- Previous version to be updated: [[10]]
- Put content here
Reviewing code Authorization weakness
- Author Eoin Keary .NET MVC added
- Put content here
Checking authz upon every request
- Author - Abbas Naderi
- Put content here
Reducing the attack surface
- Author Open
- Previous version to be updated: [[11]]
- Put content here
SSL/TLS Implementations
- Author - Eoin Keary
- Put content here
Reviewing code for Session handling
- Author - Abbas Naderi
- Previous version to be updated: [[12]]
- Put content here
Reviewing client side code
- New Section
- Put content here
Javascript
- Author - Abbas Naderi
- Put content here
JSON
- Author - Open
- Put content here
Content Security Policy
- Author - Open
- Put content here
"Jacking"/Framing
- Author - Eoin Keary
- Put content here
HTML 5?
- Author - Open
- Put content here
Browser Defenses policy
- Author - Open
- Put content here
etc...
Review code for input validation
- Author - Open
- Put content here
Regex Gotchas
- Author - Open
- New Section
- Put content here
ESAPI
- Author - Open
- New Section
- Internal Link: [[13]]
- Put content here
Reviewing code for contextual encoding
Overall approach to content encoding and anti XSS
HTML Attribute
- Author - Eoin Keary
- Put content here
HTML Entity
- Author - Eoin Keary
- Put content here
Javascript Parameters
- Author - Eoin Keary
- Put content here
JQuery
- Author - Open
- Put content here
Reviewing file and resource handling code
- Author - Open
- Put content here
Resource Exhaustion - error handling
- Author - Open
- Put content here
native calls
- Author Open
- Put content here
Reviewing Logging code - Detective Security
- Author - Open
- Where to Log
- What to log
- What not to log
- How to log
- Internal link: [[14]]
- Put content here
Reviewing Error handling and Error messages
- Author - Gary David Robinson
- Previous version to be updated: [[15]]
- Put content here
Reviewing Security alerts
- Author - Open
- Put content here
Review for active defense
- Author - Colin Watson
- Put content here
Reviewing Secure Storage
- Author - Open source
- New Section
- Put content here
Hashing & Salting - When, How and Where
Encrpyption
.NET
- Author Larry Conklin, Joan Renchie
- Previous version to be updated: [[16]]
- Can we talk about key storage as well i.e. key management for encryption techniques used in the application? - Ashish Rao
Reviewing by Vulnerability
Review Code for XSS
- Author Examples added by Eoin Keary
- Previous version to be updated: [[17]]
- In reviewing code for XSS - we can give more patterns on "source to sink" patterns for ASP.NET wrf to difference versions and mechanisms to display data in a page - Ashish Rao
- Put content here
Persistent - The Anti pattern
- Author
- Put content here
.NET
- Author Johanna Curiel, Eoin Keary
- Put content here
.Java
- Author Johanna Curiel
- Put content here
PHP
- Author Abbas Naderi
- Put content here
Ruby
- Author Open
- Put content here
Reflected - The Anti pattern
.NET
- Author Johanna Curiel
- Put content here
.Java
- Author Johanna Curiel
- Put content here
PHP
- Author Abbas Naderi
- Put content here
Ruby
- Author - Open
- Put content here
Stored - The Anti pattern
- Author - Open
- Put content here
.NET
- Author Johanna Curiel
- Put content here
.Java
- Author Johanna Curiel
- Put content here
PHP
- Author Abbas Naderi
- Put content here
Ruby
- Author - Open
- Put content here
DOM XSS
- Author Larry Conklin
- Put content here
JQuery mistakes
- Author
- Put content here
Reviewing code for SQL Injection
- Author Open
- Previous version to be updated: [[18]]
- Put content here
PHP
- Author - Mennouchi Islam Azeddine
- Put content here
Java
- Author - Johanna Curiel
- Put content here
.NET
- Author - Open
- Put content here
HQL
- Author - Open
- Put content here
The Anti pattern
- Author Larry Conklin
- Content here
https://www.owasp.org/index.php/CRV2_AntiPattern
PHP
- Author -
- Put content here
Java
- Author -
- => Searching for traditional SQL,JPA,JPSQL,Criteria,...
- Put content here
.NET
- Author Open
- Put content here
Ruby
- Author - Open
- Put content here
Cold Fusion
- Author - Open
- Put content here
Reviewing code for CSRF Issues
- Author Abbas Naderi
- Previous version to be updated: [[19]]
- Put content here
Transactional logic / Non idempotent functions / State Changing Functions
- Author Abbas Naderi
- Put content here
Reviewing code for poor logic /Business logic/Complex authorization
- Author - Open
- Put content here
Reviewing Secure Communications
.NET Config
- Author Johanna Curiel, Renchie Joan
- Put content here
Spring Config
- Author - Open
- Put content here
HTTP Headers
- Author Open
- Put content here
CSP
- Author Open
- Put content here
HSTS
- Author Open
- Put content here
Tech-Stack pitfalls
- Author Open
- Put content here
Framework specific Issues
Spring
- Author - Open
- Put content here
Struts
- Author - Open
- Put content here
Drupal
- Author Open
- Put content here
Ruby on Rails
- Author - Open
- Put content here
Django
- Author Open
- Put content here
.NET Security / MVC
- Author Johanna Curiel, Eoin Keary
- Put content here
Security in ASP.NET applications
- Author Johanna Curiel
- Put content here
Strongly Named Assemblies
- Author Johanna Curiel, Larry Conklin
- Put content here
Round Tripping
- Author - Open
- Put content here
How to prevent Round tripping
- Author - Open
- Author Johanna Curiel
- Put content here
Setting the right Configurations
- Author Johanna Curiel
- Put content here
Authentication Options
- Author Johanna Curiel
- Put content here
Code Review for Managed Code - .Net 1.0 and up
- Author Johanna Curiel
- Put content here
Using OWASP Top 10 as your guideline
- Author Johanna Curiel
- Put content here
Code review for Unsafe Code (C#)
- Author Johanna Curiel
- Put content here
PHP Specific Issues
- Author Open
- Put content here
Classic ASP
- Author Johanna Curiel
- Put content here
C#
- Author Open
- Put content here
C/C++
- Author Open
- Put content here
Objective C
- Author Open
- Put content here
Java
- Author Open
- Put content here
Android
- Author Open
- Put content here
Coldfusion
- Author Open
- Put content here
CodeIgniter
- Author Open
- Put content here
Security code review for Agile development
- Author Carlos Pantelides
- Put content here