INE Training Notes - by syselement
🏠 Home BlogGitHub📚 Buy Me a Book
  • INE Training Notes
  • Courses
    • eJPT - PTSv2
      • 📒Penetration Testing Prerequisites
        • Introduction
        • Networking
        • Web Applications
      • 📒1. Assessment Methodologies & Auditing
        • Information Gathering
        • Footprinting & Scanning
        • Enumeration
          • 🔬SMB Enum
          • 🔬FTP Enum
          • 🔬SSH Enum
          • 🔬HTTP Enum
          • 🔬MYSQL Enum
          • 🔬SMTP Enum
        • Vulnerability Assessment
        • Auditing Fundamentals
      • 📒2. Host & Network Penetration Testing
        • System/Host Based Attacks
          • 🪟Windows Attacks
            • 🔬IIS - WebDAV
            • 🔬SMB - PsExec
            • 🔬RDP
            • 🔬WinRM
            • 🔬Win Kernel Privesc
            • 🔬UAC Bypass
            • 🔬Access Token
            • 🔬Alternate Data Stream
            • 🔬Credentials Dumping
          • 🐧Linux Attacks
            • 🔬Bash
            • 🔬FTP
            • 🔬SSH
            • 🔬SAMBA
            • 🔬Cron Jobs
            • 🔬SUID
            • 🔬Hashes Dumping
        • Network Based Attacks
          • 🔬Tshark, ARP, WiFi
        • The Metasploit Framework (MSF)
          • 🔬HFS - MSF Exploit
          • 🔬Tomcat - MSF Exploit
          • 🔬FTP - MSF Exploit
          • 🔬Samba - MSF Exploit
          • 🔬SSH - MSF Exploit
          • 🔬SMTP - MSF Exploit
          • 🔬Meterpreter - MSF
          • 🔬Win Post Exploitation - MSF
          • 🔬Linux Post Exploitation - MSF
        • Exploitation
          • 🔬Fixing Exploits - HFS
          • 🔬Win Workflow Platform - MSF
          • 🔬Win Black Box Pentest
          • 🔬Linux Black Box Pentest
        • Post-Exploitation
          • 🔬Windows Post-Exploitation
          • 🔬Windows Privilege Escalation
          • 🔬Windows Persistence
          • 🔬Linux Post-Exploitation
          • 🔬Linux Privilege Escalation
          • 🔬Linux Persistence
          • 🔬Cracking Hashes
          • 🔬Pivoting
        • Social Engineering
      • 📒3. Web Application Penetration Testing
        • Intro to Web App Pentesting
          • 🔬HTTP Enumeration
          • 🔬Web App Scanning
          • 🔬Web App Attacks
      • 🔬Exam Preparation - Labs
        • PTSv1 Prerequisites Labs
          • 🔬HTTP(S) Traffic Sniffing
          • 🔬Find the Secret Server
          • 🔬Data Exfiltration
          • 🔬Burp Suite Basics - Directory Enumeration
        • PTSv2 Practice Labs
      • 🌐eJPT References
      • 📜eJPT Cheat Sheet
    • ICCA
      • 📒1. Cloud Foundations
      • 📒2. Cloud Management Concepts
      • 📒3. Cloud Identity, Security, and Compliance
      • 🌐Icca References
    • eMAPT
      • 📒Android
      • 📒iOS
      • 🌐eMAPT References
  • 🏠syselement's Blog Home
Powered by GitBook
On this page
  • Web and HTTP Protocol
  • Request Methods
  • Response Status Codes
  • Cookies
  • HTTPS
  • Scanning & Enumeration
  • Directory Enumeration - Gobuster
  • Directory Enumeration - BurpSuite
  • Scanning WebApp - ZAProxy
  • Scanning WebApp - Nikto
  • Attacks
  • SQLi
  • XSS

Was this helpful?

Edit on GitHub
  1. Courses
  2. eJPT - PTSv2
  3. 📒3. Web Application Penetration Testing

Intro to Web App Pentesting

Previous📒3. Web Application Penetration TestingNext🔬HTTP Enumeration

Last updated 2 years ago

Was this helpful?

⚡ Prerequisites

  • Basic Network and Cybersecurity Concepts

📕 Learning Objectives

  • Understand Web protocols

  • Perform webapps enumeration

  • Perform SQL injection, XSS and brute-force attacks

🔬 Training list - PentesterAcademy/INE Labs

subscription required

Web application penetration testing is a process of identifying and exploiting vulnerabilities in web applications to assess their security posture.

Web and

🔗📝 Some Web Applications Basics notes are already covered (from the PTSv1 Course)

🗒️ HTTP (HyperText Transfer Protocol) is a protocol used for communication between web servers and clients, such as web browsers. HTTP key features are:

  • Client-Server Architecture

  • Stateless Protocol

  • Request Methods

  • Status Codes (200,404,500, etc)

  • (additional information about the request/response)

  • Cookies (store info on the client-side)

  • Encryption (HTTPS)

HTTP defines a set of request methods to indicate the desired action to be performed for a given resource. Commonly used HTTP requests are:

GET - retrieve data from the server

HEAD - retrieve metadata about a resource from the server

POST - submit data to the server

PUT - update an existing resource on the server

DELETE - delete a specified resource

CONNECT - establish a tunnel to the server identified by the target resource

OPTIONS - describe the communication options for a resource

TRACE - perform a message loop-back test along the path to the resource

PATCH - apply partial modifications to a resource

HTTP response status codes indicate whether a specific HTTP request has been successfully completed. They are grouped in five classes:

  • 100-199 - Informational responses

  • 200-299 - Successful responses

  • 300-399 - Redirection messages

  • 400-499 - Client error responses

  • 500-599 - Server error responses

An HTTP cookie is a small piece of data that a server sends to a user's web browser. The web browser may store the cookie and send it back to the same server with later requests. Cookies are mainly used for these purposes:

  • Session management

  • Personalization

  • Tracking

🗒️ HTTPS (HTTP Secure) is the encrypted version of HTTP that uses a combination of Transport Layer Security (TLS) or Secure Sockets Layer (SSL) protocol and HTTP protocol to provide secure communication.

When a client connects to an HTTPS-enabled website, the server sends its SSL/TLS certificate to the client. The client verifies the certificate to ensure that it is issued by a trusted certificate authority and that it is valid. If the certificate is valid, the client and the server establish a secure connection using a unique session key.

🔬 There are many vulnerable testing web apps like:

# bWAPP with Docker - by HackerSploit
sudo docker pull hackersploit/bwapp-docker

sudo docker run -d -p 80:80 hackersploit/bwapp-docker
# Open http://127.0.0.1/install.php

sudo docker container ls
sudo docker container stop <CONTAINER_NAME>
sudo docker container start <CONTAINER_NAME>
nmap -sV -p 80,443,3306 demossl.ine.local

Scanning & Enumeration

# Kali Linux Install
sudo apt update && sudo apt install -y gobuster

# Go Install
go install github.com/OJ/gobuster/v3@latest
# Kali Linux Install
sudo apt update && sudo apt install -y burpsuite
# Kali Linux Install
sudo apt update && sudo apt install -y zaproxy
# Kali Linux Install
sudo apt update && sudo apt install -y nikto

Attacks

# Kali Linux Install
sudo apt update && sudo apt install -y sqlmap
# Kali Linux Install
sudo apt update && sudo apt install -y xsser

SQLi

XSS


📌

📝 Check the HackerSploit's

Directory Enumeration -

- a tool used to brute-force URIs including directories and files as well as DNS subdomains.

Directory Enumeration -

- an integrated platform for performing security testing of web applications.

🔬 Check covering HTTP Method and Directory Enumeration Techniques

Scanning WebApp -

- OWASP Zed Attack Proxy (ZAP) is an easy to use integrated penetration testing tool for finding vulnerabilities in web applications.

Scanning WebApp -

- a pluggable web server and CGI scanner written in Perl, using rfp’s LibWhisker to perform fast security or informational checks.

🔬 Check covering Web Apps scanning techniques

- an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers.

(Cross-Site Scripter) - an automatic framework to detect, exploit and report XSS vulnerabilities in web-based applications.

🗒️ attacks consist of insertion or “injection” of a SQL query via the input data from the client to the application, allowing an attacker to interfere with the database queries of the vulnerable web application.

🗒️ Cross-Site Scripting () attacks are a type of injection, in which malicious scripts are injected into otherwise benign and trusted websites, allowing an attacker to compromise the interactions that users have with a vulnerable application.

🔬 Check covering Web Apps Attacking techniques

Web Application Basics
Web Apps Tools of Trade
HTTP Protocol
here
Headers
RFC 9110 - HTTP Semantics
Request Methods
Response Status Codes
Cookies
HTTPS
Juice Shop - Kali Install
DVWA - Kali Install
bWAPP
Mutillidae II
Web App Penetration Testing Tutorials
Gobuster
Gobuster
BurpSuite
BurpSuite
HTTP Web App Enumeration lab
ZAProxy
Zaproxy
Nikto
Nikto
HTTP Web App Scanning lab
SQLMap
XSSer
SQL Injection
What is a SQLi? - PortSwigger
XSS
How does XSS Work? - PortSwigger
Web App Attacks lab