Security Testing
Security testing examines systems and software for weaknesses that could let an attacker bypass intended protections. It combines automated checks and human investigation, then turns reproducible findings into repair work and retesting.
itOffensive security and application security | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — Security Testing
Security testing is the disciplined business of asking a system unpleasant questions in a setting where it is allowed to answer. The purpose is not to announce that software has been attacked. It is to find out whether a protection still holds when input is malformed, a role changes, a configuration drifts, or an authorized tester follows an attack path. This is less glamorous than the films promised. It is also much more useful.
The first surprise is that the test starts before the first request. Rules of engagement define the targets, identities, techniques, time window, data handling, and stop conditions. They are not paperwork that security testing must drag behind it like a reluctant suitcase. They are what make an active test controlled rather than accidental. A newly discovered system may be interesting, but it is not suddenly in scope because it waved from across the network.
Everything else hangs on a test basis, meaning the requirement, threat model, standard, policy, or design that says what secure behavior should be. Then comes the attack surface: the reachable components, interfaces, identities, and trust relationships. A scan of ten hosts can be very thorough about ten hosts and still miss two authorized hosts entirely. Numbers are loyal servants and terrible coverage claims.
Tools have jobs, not magical powers. Static analysis looks at code without running it. Dynamic analysis interacts with running software. Configuration review examines deployed settings. Vulnerability assessment emphasizes broad discovery, while penetration testing follows selected attack paths to demonstrate impact. Automation provides breadth and repeatability. Manual testing supplies the context needed for roles, states, workflows, and chained weaknesses. A scanner result is a lead, not a finding wearing a tiny graduation cap.
A finding earns its place by connecting an asset, precondition, action, observable result, and impact. That chain makes repair possible. It also makes retesting possible: repeat the original path after remediation, check relevant variants, and record the tested build. A closed ticket proves a workflow changed. A supported retest says the tested weakness no longer works under the recorded conditions. Those are related facts, which is not the same as being the same fact.
The remaining tabs turn this orientation into a working map. The intro explains the testing system and its limits. The slides compress the relationships and decisions. The cheatsheet keeps the evidence chain, access models, and coverage questions nearby. The practice reference and exercise use a local training target to rehearse scope, observation, and retesting without confusing a public system for a laboratory. The quiz checks the distinctions that keep a test honest.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://csrc.nist.gov/pubs/sp/800/115/final
Supports
- Planning, conducting, analyzing, and reporting technical security tests
- Rules of engagement, assessment logistics, and data handling
- Review, identification and analysis, and target-vulnerability validation techniques
- Benefits and limitations of vulnerability scanning and penetration testing
- Mitigation and post-testing activities
- Quiz answers about authorization, assessment type, access, validation, and limits
- https://csrc.nist.gov/pubs/sp/800/42/final
Supports
- October 2003 publication date
- Consistent network security testing programs, techniques, and tools
- Supersession by NIST SP 800-115 in September 2008
- https://owasp.org/www-project-web-security-testing-guide/
Supports
- WSTG purpose and versioned scenario identifiers
- Availability of version 4.2 as a versioned release
- Security testing as detailed application assessment guidance
- https://owasp.org/www-project-web-security-testing-guide/v42/
Supports
- Web test coverage across information gathering, configuration, identity, authorization, sessions, input validation, business logic, client-side behavior, and APIs
- Manual and tool-assisted web testing scenarios
- Quiz answers about authorization requirements and retesting relevant variants
- https://owasp.org/www-project-web-security-testing-guide/v42/0-Foreword/README
Supports
- Security testing cannot exhaust every way an application may fail
- Tools and testing complement broader secure development work
- Quiz answer about the limit of a clean result
- https://owasp.org/www-project-web-security-testing-guide/v41/2-Introduction/
Supports
- Testing framework rather than an issue checklist
- Integration of web application testing into the software development life cycle
- 2014 Testing Guide version 4 milestone meaning
- https://owasp.org/www-project-web-security-testing-guide/v41/6-Appendix/E-History
Supports
- Testing Guide project origin in 2003
- Release dates for Testing Guide versions 1, 2, 3, and 4
- https://owasp.org/www-project-application-security-verification-standard/
Supports
- ASVS as a basis for testing application technical security controls
- Verification requirements as a measurable test basis
- Quiz answers about role requirements and control-level retesting
- https://csrc.nist.gov/pubs/sp/800/218/final
Supports
- Security verification and vulnerability response within software development
- Reference-path rationale for integrating testing with releases
- https://www.first.org/cvss/v4-0/specification-document
Supports
- CVSS vulnerability characteristic groups and scoring model
- Severity as structured vulnerability information rather than complete business priority
- https://attack.mitre.org/resources/getting-started/
Supports
- ATT&CK as a knowledge base of adversary tactics and techniques
- Use of ATT&CK to inform hypotheses and coverage without proving control effectiveness
- https://owasp.org/about/
Supports
- OWASP launch on December 1, 2001
- Open software-security projects, documentation, and standards
- https://owasp.org/www-project-developer-guide/
Supports
- Developer Guide 1.0 publication in 2002
- Original penetration-testing material later covered by WSTG
- https://portswigger.net/about
Supports
- Burp Suite 1.0 launch in June 2003
- Initial Proxy, Sock, Spider, and Repeater tools
- https://owasp.org/2020/12/17/owasp-zap-210-release.html
Supports
- ZAP tenth birthday in 2020 and 2010 origin
- ZAP as an OWASP web application scanner project
- https://owasp.org/www-event-2020-NewZealandDay/assets/presentations/Manico--Keynote-Abridged_History_of_AppSec--20200221.pdf
Supports
- 2010 OWASP ZAP release milestone
- Security-testing history context
- https://github.com/sindresorhus/awesome
Supports
- Discovery route from the requested root index to security and testing lists
- https://github.com/enaqx/awesome-pentest
Supports
- Discovery of Nuclei, Dradis, sqlmap, Kali Linux, and SecLists as relevant ecosystem resources
- Awesome Links curation decision
- https://docs.projectdiscovery.io/opensource/nuclei/overview
Supports
- Nuclei as a template-driven scanner across applications, infrastructure, cloud, and networks
- Awesome Links rationale about repeatable protocol-aware checks
- https://dradis.com/support/guides/projects.html
Supports
- Projects, methodologies, finding review, and report generation
- Awesome Links rationale about engagement evidence and reporting
- https://github.com/sqlmapproject/sqlmap/wiki/Introduction
Supports
- Automated SQL injection detection and validation
- Awesome Links rationale about focused automation
- https://github.com/ffuf/ffuf
Supports
- Web fuzzing for content and parameter discovery
- Awesome Links rationale about attack-surface mapping
- https://www.kali.org/docs/
Supports
- Operation of a penetration-testing distribution and its tool ecosystem
- Awesome Links rationale about a controlled testing workstation
- https://www.kali.org/tools/seclists/
Supports
- SecLists collections for usernames, passwords, URLs, fuzzing payloads, and other test inputs
- Awesome Links rationale about purpose-built input lists
- https://portswigger.net/burp/documentation/desktop/tools
Supports
- Burp tools for intercepting, replaying, and scanning web traffic
- Burp Suite landscape placement
- https://www.zaproxy.org/docs/automate/automation-framework/
Supports
- YAML automation plans, authentication, passive scanning, and active scanning
- OWASP ZAP landscape placement
- https://www.invicti.com/product/
Supports
- Automated web and API security testing and remediation workflow
- Invicti landscape placement
- https://www.tenable.com/products/nessus
Supports
- Nessus vulnerability assessment of hosts, services, and configurations
- Tenable Nessus landscape placement
- https://www.qualys.com/apps/vulnerability-management-detection-response
Supports
- Asset discovery, vulnerability assessment, prioritization, and remediation workflow
- Qualys VMDR landscape placement
- https://docs.rapid7.com/insightvm/
Supports
- InsightVM console, distributed scan engines, sites, findings, and reports
- Rapid7 InsightVM landscape placement
- https://docs.rapid7.com/insightvm/working-with-vulnerabilities/
Supports
- Scan result review and varying certainty of vulnerability evidence
- Metasploit integration for controlled validation
- Quiz answer about validating version-based signals
- https://greenbone.github.io/docs/latest/
Supports
- OpenVAS scanner and self-managed Greenbone vulnerability-testing stack
- Greenbone landscape placement
- https://semgrep.dev/products/semgrep-code/
Supports
- Rule-based static analysis in development workflows
- Semgrep landscape placement
- https://snyk.io/product/
Supports
- Testing of code, dependencies, containers, and infrastructure definitions
- Snyk landscape placement
- https://checkmarx.com/product/checkmarx-one/
Supports
- Centralized application security testing across code, dependencies, infrastructure, and APIs
- Checkmarx One landscape placement
- https://docs.metasploit.com/
Supports
- Exploit modules and controlled vulnerability validation
- Metasploit Framework landscape placement
- https://www.cobalt.io/platform
Supports
- Managed penetration testing coordination and finding workflow
- Cobalt landscape placement
- https://github.com/juice-shop/juice-shop
Supports
- Juice Shop as an intentionally insecure application for security training and security-tool testing
- Loopback-only Docker setup for a local training instance
- Practice reference and exercise safety boundary
