Introduction to Web Applications

Introduction to Web Applications  Fundamental

In the Introduction to Web Applications module, you will learn all of the basics of how web applications work and begin to look at them from an information security perspective.

Created by 21y4d
Co-Authors: mrb3n

To start this course Sign Up!

Summary

This module is your first step in starting web application pentesting. It teaches important aspects of web applications, which will help you understand how web application pentesting works.

This module will cover the following topics:

Intro to Web Applications

  • Intro to Web Applications
  • Web Application Architectures
  • Front-end vs. Back-end

Front-end Components

  • HTML
  • CSS
  • JavaScript

Front-end vulnerabilities

  • Data Exposure
  • HTML Injection
  • XSS/CSRF

Back-end Components

  • Back-end Servers
  • Web Servers
  • Databases
  • Development Frameworks & APIs

Back-end vulnerabilities

  • Public Vulnerabilities
  • Common Web Vulnerabilities

The following are also some of the covered topics:

  • What is a web application?
  • What are the common web application architectures?
  • What are the most common web servers, and what are the advantages of each?
  • What types of databases are there, and where is each one used?
  • Common Web Application Development Frameworks
  • What are APIs, and how are they used?
  • Public Web Application vulnerabilities
  • Intro to OWASP Top 10 for Web Applications

As you work through the module, you will see example commands and command output for the various topics introduced. It is worth reproducing as many of these examples as possible to reinforce further the concepts introduced in each section. You can do this in the Pwnbox provided in the interactive sections or your own virtual machine.

You can start and stop the module at any time and pick up where you left off. There is no time limit or "grading," but you must complete all of the exercises and the skills assessment to receive the maximum number of cubes and have this module marked as complete in any paths you have chosen.

The module is classified as "Fundamental" but assumes a working knowledge of the Linux command line and an understanding of information security fundamentals.

A firm grasp of the following modules can be considered prerequisites for successful completion of this module:

  • Web Requests

Sections

  • Introduction
  • Web Application Layout
  • Front End vs. Back End
  • HTML
  • Cascading Style Sheets (CSS)
  • JavaScript
  • Sensitive Data Exposure
  • HTML Injection
  • Cross-Site Scripting (XSS)
  • Cross-Site Request Forgery (CSRF)
  • Back End Servers
  • Web Servers
  • Databases
  • Development Frameworks & APIs
  • Common Web Vulnerabilities
  • Public Vulnerabilities
  • Next Steps

Relevant Paths

This module progresses you towards the following Paths

Card image
Bug Bounty Hunter

Medium 161 Sections

Cubes Required: 1410

The Bug Bounty Hunter Job Role Path is for individuals who want to enter the world of Bug Bounty Hunting with little to no prior experience. This path covers core web application security assessment and bug bounty hunting concepts and provides a deep understanding of the attack tactics used during bug bounty hunting. Armed with the necessary theoretical background, multiple practical exercises, and a proven bug bounty hunting methodology, students will go through all bug bounty hunting stages, from reconnaissance and bug identification to exploitation, documentation, and communication to vendors/programs. Upon completing this job role path, you will have become proficient in the most common bug bounty hunting and attack techniques against web applications and be in the position of professionally reporting bugs to a vendor.

 Web Requests

Fundamental 9 Sections

Web applications provide a large potential attack surface and need to be secured properly. A firm grasp of the basics of how applications communicate is critical for anyone interested in learning how to assess and attack web applications.

 Introduction to Web Applications

Fundamental 17 Sections

In the Introduction to Web Applications module, you will learn all of the basics of how web applications work and begin to look at them from an information security perspective.

 Using Web Proxies

Easy 15 Sections

Web application penetration testing frameworks are an essential part of any web penetration test. This module will teach you two of the best frameworks: Burp Suite and OWASP ZAP.

 Information Gathering - Web Edition

Easy 1 Sections

This module covers techniques for identifying and analyzing the web application-based attack surface and tech stack of an organization. Information gathering is an essential part of any web application penetration test or security audit to identify and prevent information disclosure and it can be performed either passively or actively.

 Attacking Web Applications with Ffuf

Easy 13 Sections

This module covers the fundamental enumeration skills of web fuzzing and directory brute forcing using the Ffuf tool. The techniques learned in this module will help us in locating hidden pages, directories, and parameters when targeting web applications.

 JavaScript Deobfuscation

Easy 11 Sections

This module will take you step-by-step through the fundamentals of JavaScript Deobfuscation until you can deobfuscate basic JavaScript code and understand its purpose.

 Cross-Site Scripting (XSS) Fundamentals

Easy 1 Sections

Cross-Site Scripting (XSS) vulnerabilities are among the most common web application vulnerabilities. An XSS vulnerability may allow an attacker to execute arbitrary JavaScript code within the target's browser and result in total web application compromise if chained with other vulnerabilities. This module will teach you how to identify XSS vulnerabilities and exploit them.

 SQL Injection Fundamentals

Medium 17 Sections

Databases are an important part of web application infrastructure and SQL (Structured Query Language) to store, retrieve, and manipulate information stored in them. SQL injection is a code injection technique used to take advantage of coding vulnerabilities and inject SQL queries via an application to bypass authentication, retrieve data from the back-end database, or achieve code execution on the underlying server.

 SQLMap Essentials

Easy 11 Sections

The SQLMap Essentials module will teach you the basics of using SQLMap to discover various types of SQL Injection vulnerabilities, all the way to the advanced enumeration of databases to retrieve all data of interest.

 Command Injections

Medium 12 Sections

Command injection vulnerabilities can be leveraged to compromise a hosting server and its entire network. This module will teach you how to identify and exploit command injection vulnerabilities and how to use various filter bypassing techniques to avoid security mitigations.

 Unrestricted File Upload

Medium 1 Sections

Unrestricted file upload vulnerabilities are among the most critical web vulnerabilities, as they can enable attackers to upload malicious files and execute arbitrary commands on the back-end server. This module will discuss the basics of identifying and exploiting unrestricted file upload vulnerabilities and how to evade basic security restrictions in place to achieve arbitrary file uploading.

 Attacking the Server Side

Medium 1 Sections

A backend that handles user-supplied input insecurely can lead to not only sensitive information disclosure but remote code execution as well. This module covers how to identify and exploit server-side bugs. Specifically, Server Side Request Forgery, Server Side Include and Server Side Template Injection attacks will be showcased, alongside other less common server-side attacks.

 Login Brute Forcing

Easy 11 Sections

Learn how to brute force logins for various types of services and create custom wordlists based on your target.

 Broken Authentication

Medium 14 Sections

Authentication is probably the simplest and most widespread measure used to secure access to resources, and it's the first line of defense against unauthorized access. Broken authentication is currently rated #2 on the OWASP Top 10 Web Application Security Risks. A vulnerability or misconfiguration at the authentication stage can have a devastating impact on an application's overall security.

 Other Web Attacks

Medium 1 Sections

As the popularity of web applications keeps increasing, so does the number and types of web attacks web applications are vulnerable to. Many of the most common web attacks have been covered in previous modules. This module covers other common web vulnerabilities, such as IDOR and XXE. You will be shown how to identify, exploit, and prevent each of them through various methods.

 File Inclusion / Directory Traversal

Medium 7 Sections

File Inclusion is a common web application vulnerability, which can be easily overlooked as part of a web application's functionality.

 Session Security

Medium 1 Sections

Maintaining and keeping track of a user's session is an integral part of web applications. It is also a part that needs extensive testing in order to be both robust and secure. This module covers the most common attacks against web application sessions, such as Cross-site Request Forgery and Session Hijacking.

 Web Service Implementations & Attacks

Medium 1 Sections

Web services are frequently exposed in order to provide certain functionalities through a programmatic way, between heterogeneous devices and software components. They either facilitate the integration between applications or the separation within a given application. This module covers how to identify the functionality a web service offers and also how to exploit any security-related inefficiencies.

 Hacking WordPress

Easy 16 Sections

WordPress is an open-source Content Management System (CMS) that can be used for multiple purposes.

 Bug Bounty Hunting Methodology

Easy 1 Sections

Bug Bounty programs encourage security researchers to identify bugs and submit vulnerability reports. Getting into the world of Bug Bounty Hunting without any prior experience can be a daunting task though. This module covers a proven methodology that will help you start Bug Bounty Hunting in a methodical and well-structured way. It's all about effectiveness and professionally communicating your findings.

To start this course Sign Up!