Skip to content

Commit

Permalink
v4 Import
Browse files Browse the repository at this point in the history
Cloning the v4 Testing Guide, converted from Mediawiki format to Markdown (via Pandoc)
  • Loading branch information
itscooper committed Jun 14, 2017
1 parent 2cc54b1 commit 2824785
Show file tree
Hide file tree
Showing 132 changed files with 17,377 additions and 0 deletions.
Empty file added 1. OWASP Summit Session
Empty file.
Empty file added 2. OWASP Summit Session
Empty file.
Empty file added 3. Create OWASP Summit Session
Empty file.
Empty file added 4. OWASP Summit Session
Empty file.
Empty file added 5. OWASP Summit Session
Empty file.
72 changes: 72 additions & 0 deletions document/0 Foreward/0 Foreword.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
Foreword by [Eoin Keary](https://www.owasp.org/index.php/Eoin_Keary), OWASP Global Board
----------------------------------------------------------------------------------------

The problem of insecure software is perhaps the most important technical challenge of our time. The dramatic rise of web applications enabling business, social networking etc has only compounded the requirements to establish a robust approach to writing and securing our Internet, Web Applications and Data.

At The Open Web Application Security Project (OWASP), we're trying to make the world a place where insecure software is the anomaly, not the norm. The OWASP Testing Guide has an important role to play in solving this serious issue. It is vitally important that our approach to testing software for security issues is based on the principles of engineering and science. We need a consistent, repeatable and defined approach to testing web applications. A world without some minimal standards in terms of engineering and technology is a world in chaos.

It goes without saying that you can't build a secure application without performing security testing on it. Testing is part of a wider approach to building a secure system. Many software development organizations do not include security testing as part of their standard software development process. What is even worse is that many security vendors deliver testing with varying degrees of quality and rigor.

Security testing, by itself, isn't a particularly good stand alone measure of how secure an application is, because there are an infinite number of ways that an attacker might be able to make an application break, and it simply isn't possible to test them all. We can't hack ourselves secure and we only have a limited time to test and defend where an attacker does not have such constraints.

In conjunction with other OWASP projects such as the Code review Guide, the Development Guide and tools such as OWASP ZAP, this is a great start towards building and maintaining secure applications. The [Development Guide](Building_Guide "wikilink") will show your project how to architect and build a secure application, the [Code Review Guide](Code_Review_Guide "wikilink") will tell you how to verify the security of your application's source code, and this [Testing Guide](Testing_Guide "wikilink") will show you how to verify the security of your running application. I highly recommend using these guides as part of your application security initiatives.

Why OWASP?
----------

Creating a guide like this is a huge undertaking, requiring the expertise of hundreds of people around the world. There are many different ways to test for security flaws and this guide captures the consensus of the leading experts on how to perform this testing quickly, accurately, and efficiently. OWASP gives like minded security folks the ability to work together and form a leading practice approach to a security problem.

The importance of having this guide available in a completely free and open way is important for the foundations mission. It gives anyone the ability to understand the techniques used to test for common security issues. Security should not be a black art or closed secret that only a few can practice. It should be open to all and not exclusive to security practitioners but also QA, Developers and Technical Managers. The project to build this guide keeps this expertise in the hands of the people who need it - you, me and anyone that is involved in building software.

This guide must make its way into the hands of developers and software testers. There are not nearly enough application security experts in the world to make any significant dent in the overall problem. The initial responsibility for application security must fall on the shoulders of the developers, they write the code. It shouldn't be a surprise that developers aren't producing secure code if they're not testing for it or consider the types of bugs which introduce vulnerability.

Keeping this information up to date is a critical aspect of this guide project. By adopting the wiki approach, the OWASP community can evolve and expand the information in this guide to keep pace with the fast moving application security threat landscape.

This Guide is a great testament to the passion and energy our members and project volunteers have for this subject. It shall certainly help change the world a line of code at a time.

Tailoring and Prioritizing
--------------------------

You should adopt this guide in your organization. You may need to tailor the information to match your organization's technologies, processes, and organizational structure.

In general there are several different roles within organizations that may use this guide:

- Developers should use this guide to ensure that they are producing secure code. These tests should be a part of normal code and unit testing procedures.

<!-- -->

- Software testers and QA should use this guide to expand the set of test cases they apply to applications. Catching these vulnerabilities early saves considerable time and effort later.

<!-- -->

- Security specialists should use this guide in combination with other techniques as one way to verify that no security holes have been missed in an application.

<!-- -->

- Project Managers should consider the reason this guide exists and that security issues are manifested via bugs in code and design.

The most important thing to remember when performing security testing is to continuously re-prioritize. There are an infinite number of possible ways that an application could fail, and organizations always have limited testing time and resources. Be sure time and resources are spent wisely. Try to focus on the security holes that are a real risk to your business. Try to contextualize risk in terms of the application and its use cases.

This guide is best viewed as a set of techniques that you can use to find different types of security holes. But not all the techniques are equally important. Try to avoid using the guide as a checklist, new vulnerabilities are always manifesting and no guide can be an exhaustive list of “things to test for”, but rather a great place to start.

The Role of Automated Tools
---------------------------

There are a number of companies selling automated security analysis and testing tools. Remember the limitations of these tools so that you can use them for what they're good at. As Michael Howard put it at the [2006 OWASP AppSec Conference in Seattle](OWASP_AppSec_Seattle_2006/Agenda "wikilink"), “Tools do not make software secure! They help scale the process and help enforce policy.”

Most importantly, these tools are generic - meaning that they are not designed for your custom code, but for applications in general. That means that while they can find some generic problems, they do not have enough knowledge of your application to allow them to detect most flaws. In my experience, the most serious security issues are the ones that are not generic, but deeply intertwined in your business logic and custom application design.

These tools can also be seductive, since they do find lots of potential issues. While running the tools doesn't take much time, each one of the potential problems takes time to investigate and verify. If the goal is to find and eliminate the most serious flaws as quickly as possible, consider whether your time is best spent with automated tools or with the techniques described in this guide. Still, these tools are certainly part of a well-balanced application security program. Used wisely, they can support your overall processes to produce more secure code.

Call to Action
--------------

If you're building, designing or testing software, I strongly encourage you to get familiar with the security testing guidance in this document. It is a great road map for testing the most common issues facing applications today, but it is not exhaustive. If you find errors, please add a note to the discussion page or make the change yourself. You'll be helping thousands of others who use this guide.

Please consider [joining us](Membership "wikilink") as an individual or corporate member so that we can continue to produce materials like this testing guide and all the other great projects at OWASP.

Thank you to all the past and future contributors to this guide, your work will help to make applications worldwide more secure.

--[Eoin Keary](https://www.owasp.org/index.php/Eoin_Keary), OWASP Board Member, April 19, 2013

\_\_NOTOC\_\_
159 changes: 159 additions & 0 deletions document/1 Frontispiece/1 Frontispiece.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
Welcome to the OWASP Testing Guide 4.0
--------------------------------------

“Open and collaborative knowledge: that is the OWASP way.”\
With V4 we realized a new guide that will be the standard de-facto guide to perform Web Application Penetration Testing. -- [Matteo Meucci](User:Mmeucci "wikilink")\

OWASP thanks the many authors, reviewers, and editors for their hard work in bringing this guide to where it is today. If you have any comments or suggestions on the Testing Guide, please e-mail the Testing Guide mail list:

[`http://lists.owasp.org/mailman/listinfo/owasp-testing`](http://lists.owasp.org/mailman/listinfo/owasp-testing)

Or drop an e-mail to the project leaders: [Andrew Muller](mailto:andrew.muller@owasp.org) [Matteo Meucci](mailto:matteo.meucci@owasp.org)

Version 4.0
-----------

The OWASP Testing Guide version 4 improves on version 3 in three ways:

1\. This version of the Testing Guide integrates with the two other flagship OWASP documentation products: the Developers Guide and the Code Review Guide. To achieve this we aligned the testing categories and test numbering with those in other OWASP products. The aim of the Testing and Code Review Guides is to evaluate the security controls described by the Developers Guide.

2\. All chapters have been improved and test cases expanded to 87 (64 test cases in v3) including the introduction of four new chapters and controls:\
- Identity Management Testing \
- Error Handling \
- Cryptography \
- Client Side Testing \

3\. This version of the Testing Guide encourages the community not to simply accept the test cases outlined in this guide. We encourage security testers to integrate with other software testers and devise test cases specific to the target application. As we find test cases that have wider applicability we encourage the security testing community to share them and contribute them to the Testing Guide. This will continue to build the application security body of knowledge and allow the development of the Testing Guide to be an iterative rather than monolithic process.

Copyright and License
---------------------

Copyright (c) 2014 The OWASP Foundation.

This document is released under the [Creative Commons 2.5 License](http://creativecommons.org/licenses/by-sa/2.5/). Please read and understand the license and copyright conditions.

Revision History
----------------

The Testing Guide v4 will be released in 2014. The Testing guide originated in 2003 with Dan Cuthbert as one of the original editors. It was handed over to Eoin Keary in 2005 and transformed into a wiki. Matteo Meucci has taken on the Testing guide and is now the lead of the OWASP Testing Guide Project. From 2012 Andrew Muller co-leadership the project with Matteo Meucci.

2014
: “OWASP Testing Guide”, Version 4.0

<!-- -->

15th September, 2008
: “OWASP Testing Guide”, Version 3.0

<!-- -->

December 25, 2006
: “OWASP Testing Guide”, Version 2.0

<!-- -->

July 14, 2004
: “OWASP Web Application Penetration Checklist”, Version 1.1

<!-- -->

December 2004
: “The OWASP Testing Guide”, Version 1.0

Editors
-------

**Andrew Muller**: OWASP Testing Guide Lead since 2013.\
**Matteo Meucci**: OWASP Testing Guide Lead since 2007.\
**Eoin Keary**: OWASP Testing Guide 2005-2007 Lead.\
**Daniel Cuthbert**: OWASP Testing Guide 2003-2005 Lead.

v4 Authors
----------

---------------------------- ----------------------- -------------------------- ------------------------
- Matteo Meucci - Cecil Su - Brad Causey - Davide Danelon
- Pavol Luptak - Aung KhAnt - Vicente Aguilera - Alexander Antukh
- Marco Morana - Norbert Szetei - Ismael Gonçalves - Thomas Kalamaris
- Giorgio Fedon - Michael Boman - David Fern - Alexander Vavousis
- Stefano Di Paola - Wagner Elias - Tom Eston - Clerkendweller
- Gianrico Ingrosso - Kevin Horvat - Kevin Horvath - Christian Heinrich
- Giuseppe Bonfà - Tom Brennan - Rick Mitchell - Babu Arokiadas
- Andrew Muller - Juan Galiana Lara - Eduardo Castellanos - Rob Barnes
- Robert Winkel - Sumit Siddharth - Simone Onofri - Ben Walther
- Roberto Suggi Liverani - Mike Hryekewicz - Harword Sheen
- Robert Smith - Simon Bennetts - Amro AlOlaqi
- Tripurari Rai - Ray Schippers - Suhas Desai
- Thomas Ryan - Raul Siles - Tony Hsu Hsiang Chih
- Tim Bertels - Jayanta Karmakar - Ryan Dewhurst
- Zaki Akhmad
---------------------------- ----------------------- -------------------------- ------------------------

v4 Reviewers
------------

-------------------------
- Davide Danelon
- Andrea Rosignoli
- Irene Abezgauz
- Lode Vanstechelman
- Sebastien Gioria
- Yiannis Pavlosoglou
- Aditya Balapure
-------------------------

v3 Authors
----------

---------------------- ------------------------ ---------------------------- --------------------- --------------------------- --------------------------
- Anurag Agarwwal - Giorgio Fedon - Gianrico Ingrosso - Ferruh Mavituna - Antonio Parata - Andrew Van der Stock
- Daniele Bellucci - Adam Goodman - Roberto Suggi Liverani - Marco Mella - Cecil Su
- Ariel Coronel - Christian Heinrich - Kuza55 - Matteo Meucci - Harish Skanda Sureddy
- Stefano Di Paola - Kevin Horvath - Pavol Luptak - Marco Morana - Mark Roxberry
---------------------- ------------------------ ---------------------------- --------------------- --------------------------- --------------------------

v3 Reviewers
------------

------------------ ------------------- -------------------
- Marco Cova - Matteo Meucci - Rick Mitchell
- Kevin Fuller - Nam Nguyen
------------------ ------------------- -------------------

v2 Authors
----------

---------------------------- ------------------------------- ------------------------- --------------------------
- Vicente Aguilera - David Endler - Matteo Meucci - Anush Shetty
- Mauro Bregolin - Giorgio Fedon - Marco Morana - Larry Shields
- Tom Brennan - Javier Fernández-Sanguino - Laura Nunez - Dafydd Studdard
- Gary Burns - Glyn Geoghegan - Gunter Ollmann - Andrew van der Stock
- Luca Carettoni - Stan Guzik - Antonio Parata - Ariel Waissbein
- Dan Cornell - Madhura Halasgikar - Yiannis Pavlosoglou - Jeff Williams
- Mark Curphey - Eoin Keary - Carlo Pelliccioni - Tushar Vartak
- Daniel Cuthbert - David Litchfield - Harinath Pudipeddi
- Sebastien Deleersnyder - Andrea Lombardini - Alberto Revelli
- Stephen DeVries - Ralph M. Los - Mark Roxberry
- Stefano Di Paola - Claudio Merloni - Tom Ryan
---------------------------- ------------------------------- ------------------------- --------------------------

v2 Reviewers
------------

---------------------- -------------------- --------------------- ----------------------- --------------------- ---------------- -------------------- --------------------- --------------------- -------------------
- Vicente Aguilera - Mauro Bregolin - Daniel Cuthbert - Stefano Di Paola - Simona Forti - Eoin Keary - Katie McDowell - Matteo Meucci - Antonio Parata - Mark Roxberry
- Marco Belotti - Marco Cova - Paul Davies - Matteo G.P. Flora - Darrell Groundy - James Kist - Marco Mella - Syed Mohamed A. - Alberto Revelli - Dave Wichers
---------------------- -------------------- --------------------- ----------------------- --------------------- ---------------- -------------------- --------------------- --------------------- -------------------

Trademarks
----------

- Java, Java Web Server, and JSP are registered trademarks of Sun Microsystems, Inc.
- Merriam-Webster is a trademark of Merriam-Webster, Inc.
- Microsoft is a registered trademark of Microsoft Corporation.
- Octave is a service mark of Carnegie Mellon University.
- VeriSign and Thawte are registered trademarks of VeriSign, Inc.
- Visa is a registered trademark of VISA USA.
- OWASP is a registered trademark of the OWASP Foundation

All other products and company names may be trademarks of their respective owners. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark.

0 comments on commit 2824785

Please sign in to comment.