Web Security
Web security protects web applications and their users from attacks that exploit the HTTP model, browser trust, and server-side processing. It covers vulnerabilities like cross-site scripting, injection, authentication flaws, and the defensive controls that neutralize them.
itWeb development | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — Web Security
Web security is the discipline of deciding what a browser request may do after it reaches a system. This sounds like a modest job until the request begins touring the browser, edge, application, identity service, data store, dependency chain, and deployment machinery. It brings data, authority, or both to every stop. Bureaucracy has never traveled so quickly.
The part to keep is the question authorization asks: can this identity perform this action on this object? Authentication establishes an identity. A session connects that identity to later HTTP requests. Neither one grants universal permission, however much a valid cookie may look as though it is wearing a tiny badge. The server, at the point that performs the action, makes the decision.
Data arrives with similarly optimistic paperwork. Request parameters, cookies, headers, files, messages, and third-party responses are untrusted until checked at a trust boundary, the place where data or authority crosses between components. Parameterized interfaces keep data out of query and command syntax. Contextual output encoding keeps it from becoming browser markup or code. These are different jobs because HTML text, attributes, URLs, CSS, and JavaScript do not agree on what a piece of data means. Naturally, they all have opinions.
HTTPS, HSTS, cookie attributes, and Content Security Policy add useful boundaries around browser behavior and transport. Dependencies, build systems, configuration, deployment artifacts, and logs belong in the same picture. A browser header or web application firewall can reduce exposure, but it cannot decide whether one tenant may read another tenant's invoice. A collection of defenses is still a collection; it needs connected controls and evidence that they work together.
Start with the Intro for the request path and the four control families. The Slides compress the relationships into the decisions that matter. The Cheatsheet is for checking boundaries, cookie behavior, output contexts, and operational signals while building. The Quiz tests whether the vocabulary has attached itself to the right problems. Then use the Reference path to move from orientation into framework-specific patterns, ASVS verification, threat modeling, and a real application's abuse cases. The machinery is complicated. The question at its center is refreshingly short.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://owasp.org/Top10/2025/0x00_2025-Introduction/
Supports
- OWASP Top 10 2025 categories and its role as an awareness document
- The 2025 risk categories named in the introduction and slides
- https://owasp.org/Top10/2025/A01_2025-Broken_Access_Control/
Supports
- Broken access control as a web application risk
- Object-level authorization scenarios used in the course and quiz
- https://owasp.org/Top10/2025/A05_2025-Injection/
Supports
- Injection as a web application risk
- The need to prevent untrusted data from becoming interpreter syntax
- https://owasp.org/www-project-application-security-verification-standard/
Supports
- ASVS as a basis for testing web application security controls
- ASVS as secure-development guidance and a verification baseline
- The current stable ASVS version 5.0.0
- Authorization verification and security-control test planning for the exercise
- https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html
Supports
- Authentication as verification of an identity claim
- The relationship among authentication and session management
- https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html
Supports
- HTTP session purpose and the relation among authentication, sessions, and access control
- Session identifier renewal after privilege changes and session invalidation
- Session identifiers as untrusted input and session expiration guidance
- https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html
Supports
- Context-specific output encoding for HTML, attributes, URLs, CSS, and JavaScript
- Dangerous contexts where untrusted variables should not be placed
- HTML sanitization when users must author HTML
- CSP as a supplementary rather than sole XSS control
- https://cheatsheetseries.owasp.org/cheatsheets/Transport_Layer_Security_Cheat_Sheet.html
Supports
- TLS 1.3 by default and TLS 1.2 compatibility guidance
- HTTPS redirects, HSTS, and the Secure cookie flag
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy
Supports
- Content Security Policy as an HTTP response header that controls resources a user agent may load
- CSP report-only deployment and policy behavior
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie
Supports
- Secure, HttpOnly, and SameSite cookie attributes
- HttpOnly preventing JavaScript access while allowing request sending
- https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html
Supports
- Security logging design, sensitive-data handling, and secure log transport
- Logging as a detection and investigation control
- https://www.rfc-editor.org/info/rfc2246/
Supports
- TLS 1.0 publication in January 1999
- https://owasp.org/about/
Supports
- OWASP Foundation launch in December 2001
- https://devguide.owasp.org/en/07-training-education/05-top-ten/
Supports
- Original OWASP Top Ten publication in 2003
- OWASP Top Ten 2021 release and periodic revisions
- https://owasp.org/www-event-2020-NewZealandDay/assets/presentations/Manico--Keynote-Abridged_History_of_AppSec--20200221.pdf
Supports
- OWASP ASVS work beginning in 2008
- https://www.w3.org/TR/2012/WD-CSP-20120710/
Supports
- Content Security Policy 1.0 draft and browser-enforced resource restrictions
- https://letsencrypt.org/2015/11/12/public-beta-timing
Supports
- Let's Encrypt public beta in December 2015 and certificate automation goals
- https://www.rfc-editor.org/rfc/rfc8446.html
Supports
- TLS 1.3 publication in August 2018
- https://portswigger.net/research/hidden-oauth-attack-vectors
Supports
- Mutable request and session state across multi-step OAuth authorization flows
- Redirect URI validation failures in later authorization handlers
- https://portswigger.net/research/http1-must-die
Supports
- Security consequences when front-end and back-end HTTP handling differs
- https://developers.cloudflare.com/waf/get-started/
Supports
- Cloudflare WAF rulesets and its free managed ruleset
- https://aws.amazon.com/waf/pricing/
Supports
- AWS WAF usage-based pricing and web ACL rule model
- https://portswigger.net/burp
Supports
- Burp Suite as a web application security testing product
- https://www.zaproxy.org/
Supports
- OWASP ZAP as an open-source web application testing tool
- https://snyk.io/
Supports
- Snyk as a dependency and delivery-security product
