> For the complete documentation index, see [llms.txt](https://sommercode.gitbook.io/web-security-academy-solutions/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics.md).

# Server-Side Topics

- [API Testing](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/api-testing.md)
- [Lab: Exploiting an API endpoint using documentation](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/api-testing/lab-exploiting-an-api-endpoint-using-documentation.md)
- [Lab: Finding and exploiting an unused API endpoint](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/api-testing/lab-finding-and-exploiting-an-unused-api-endpoint.md)
- [Lab: Exploiting a mass assignment vulnerability](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/api-testing/lab-exploiting-a-mass-assignment-vulnerability.md)
- [Lab Exploiting server side parameter pollution in a query string](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/api-testing/lab-exploiting-server-side-parameter-pollution-in-a-query-string.md)
- [Lab: Exploiting server side parameter pollution in a REST URL](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/api-testing/lab-exploiting-server-side-parameter-pollution-in-a-rest-url.md)
- [NoSQL Injection](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/nosql-injection.md): This section contains all walkthroughs of the topic NoSQL Injections.
- [Lab: Detecting NoSQL injection](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/nosql-injection/lab-detecting-nosql-injection.md)
- [Lab: Exploiting NoSQL operator injection to bypass authentication](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/nosql-injection/lab-exploiting-nosql-operator-injection-to-bypass-authentication.md)
- [Lab: Exploiting NoSQL injection to extract data](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/nosql-injection/lab-exploiting-nosql-injection-to-extract-data.md)
- [Lab: Exploiting NoSQL operator injection to extract unknown fields](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/nosql-injection/lab-exploiting-nosql-operator-injection-to-extract-unknown-fields.md)
- [Race Conditions](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/race-conditions.md): This section contains all walkthroughs of the topic Race Conditions.
- [Lab: Limit overrun race conditions](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/race-conditions/lab-limit-overrun-race-conditions.md)
- [Lab: Bypassing rate limits via race conditions](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/race-conditions/lab-bypassing-rate-limits-via-race-conditions.md)
- [Lab: Multi endpoint race conditions](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/race-conditions/lab-multi-endpoint-race-conditions.md)
- [Lab: Single endpoint race conditions](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/race-conditions/lab-single-endpoint-race-conditions.md)
- [Lab: Partial construction race conditions](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/race-conditions/lab-partial-construction-race-conditions.md)
- [Lab: Exploiting time sensitive vulnerabilities](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/race-conditions/lab-exploiting-time-sensitive-vulnerabilities.md)
- [Web Cache Deception](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/web-cache-deception.md)
- [Lab: Exploiting path mapping for web cache deception](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/web-cache-deception/lab-exploiting-path-mapping-for-web-cache-deception.md)
- [Lab: Exploiting path delimiters for web cache deception](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/web-cache-deception/lab-exploiting-path-delimiters-for-web-cache-deception.md)
- [Lab: Exploiting origin server normalization for web cache deception](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/web-cache-deception/lab-exploiting-origin-server-normalization-for-web-cache-deception.md)
- [Lab: Exploiting cache server normalization for web cache deception](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/web-cache-deception/lab-exploiting-cache-server-normalization-for-web-cache-deception.md)
- [Lab: Exploiting exact match cache rules for web cache deception](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/web-cache-deception/lab-exploiting-exact-match-cache-rules-for-web-cache-deception.md)
- [XXE Injection](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/xxe-injection.md)
- [Lab: Exploiting XXE using external entities to retrieve files](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/xxe-injection/lab-exploiting-xxe-using-external-entities-to-retrieve-files.md)
- [Lab: Exploiting XXE to perform SSRF attacks](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/xxe-injection/lab-exploiting-xxe-to-perform-ssrf-attacks.md)
- [Lab: Blind XXE with out of band interaction](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/xxe-injection/lab-blind-xxe-with-out-of-band-interaction.md)
- [Lab: Blind XXE with out of band interaction via XML parameter entities](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/xxe-injection/lab-blind-xxe-with-out-of-band-interaction-via-xml-parameter-entities.md)
- [Lab: Exploiting blind XXE to exfiltrate data using a malicious external DTD](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/xxe-injection/lab-exploiting-blind-xxe-to-exfiltrate-data-using-a-malicious-external-dtd.md)
- [Lab: Exploiting blind XXE to retrieve data via error messages](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/xxe-injection/lab-exploiting-blind-xxe-to-retrieve-data-via-error-messages.md)
- [Lab: Exploiting XInclude to retrieve files](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/xxe-injection/lab-exploiting-xinclude-to-retrieve-files.md)
- [Lab: Exploiting XXE via image file upload](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/xxe-injection/lab-exploiting-xxe-via-image-file-upload.md)
- [Lab: Exploiting XXE to retrieve data by repurposing a local DTD](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/xxe-injection/lab-exploiting-xxe-to-retrieve-data-by-repurposing-a-local-dtd.md)
- [Server-Side Request Forgery (SSRF)](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/server-side-request-forgery-ssrf.md)
- [Lab: Basic SSRF against the local server](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/server-side-request-forgery-ssrf/lab-basic-ssrf-against-the-local-server.md)
- [Lab: Basic SSRF against another back end system](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/server-side-request-forgery-ssrf/lab-basic-ssrf-against-another-back-end-system.md)
- [Lab: Blind SSRF with out of band detection](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/server-side-request-forgery-ssrf/lab-blind-ssrf-with-out-of-band-detection.md)
- [Lab: SSRF with blacklist based input filter](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/server-side-request-forgery-ssrf/lab-ssrf-with-blacklist-based-input-filter.md)
- [Lab: SSRF with filter bypass via open redirection vulnerability](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/server-side-request-forgery-ssrf/lab-ssrf-with-filter-bypass-via-open-redirection-vulnerability.md)
- [Lab: Blind SSRF with Shellshock exploitation](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/server-side-request-forgery-ssrf/lab-blind-ssrf-with-shellshock-exploitation.md)
- [Lab: SSRF with whitelist based input filter](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/server-side-request-forgery-ssrf/lab-ssrf-with-whitelist-based-input-filter.md)
- [SQL Injection](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/sql-injection.md): This section contains all the solutions to the SQLi labs.
- [Lab: SQL injection vulnerability in WHERE clause allowing retrieval of hidden data](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/sql-injection/lab-sql-injection-vulnerability-in-where-clause-allowing-retrieval-of-hidden-data.md)
- [Lab: SQL injection vulnerability allowing login bypass](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/sql-injection/lab-sql-injection-vulnerability-allowing-login-bypass.md)
- [Lab: SQL injection UNION attack, determining the number of columns returned by the query](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/sql-injection/lab-sql-injection-union-attack-determining-the-number-of-columns-returned-by-the-query.md)
- [Lab: SQL injection UNION attack, finding a column containing text](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/sql-injection/lab-sql-injection-union-attack-finding-a-column-containing-text.md)
- [Lab: SQL injection UNION attack, retrieving data from other tables](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/sql-injection/lab-sql-injection-union-attack-retrieving-data-from-other-tables.md)
- [Lab: SQL injection UNION attack, retrieving multiple values in a single column](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/sql-injection/lab-sql-injection-union-attack-retrieving-multiple-values-in-a-single-column.md)
- [Lab: SQL injection attack, querying the database type and version on Oracle](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/sql-injection/lab-sql-injection-attack-querying-the-database-type-and-version-on-oracle.md)
- [Lab: SQL injection attack, querying the database type and version on MySQL and Microsoft](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/sql-injection/lab-sql-injection-attack-querying-the-database-type-and-version-on-mysql-and-microsoft.md)
- [Lab: SQL injection attack, listing the database contents on non Oracle databases](https://sommercode.gitbook.io/web-security-academy-solutions/server-side-topics/sql-injection/lab-sql-injection-attack-listing-the-database-contents-on-non-oracle-databases.md)
