Module 14: Hacking Web Applications

 

Module 14: Hacking Web Applications

Scenario

A web application is a software application running on a web browser that allows a web user to submit data to and retrieve it from a database over the Internet or within an intranet. Web applications have helped to make web pages dynamic as they allow users to communicate with servers using server-side scripts. They allow users to perform specific tasks such as searching, sending emails, connecting with friends, online shopping, and tracking and tracing.

Entities develop various web applications to offer their services to users via the Internet. Whenever users need access to such services, they can request them by submitting the uniform resource identifier (URI) or uniform resource locator (URL) of the web application in a browser. Common web applications include webmail, online retail sales, online auctions, wikis, and many others. With the wide adoption of web applications as a cost-effective channel for communication and information exchange, they have also become a major attack vector for gaining access to organizations’ information systems. Web applications are an integral component of online business. Everyone connected via the Internet uses an endless variety of web applications for different purposes, including online shopping, email, chats, and social networking. Increasingly, web applications are becoming vulnerable to more sophisticated threats and attack vectors.

Web application hacking is the exploitation of applications via HTTP by manipulating the application logics via an application’s graphical web interface, tampering with the uniform resource identifier (URI) or HTTP elements not contained in the URI. Methods for hacking web applications, including SQL injection attacks, cross-site scripting (XSS), cross-site request forgeries (CSRF), and insecure communications.

The last module involved acting as an attacker and assessing the security of a web server platform. Now, it is time to move to the next, and most important, stage of a security assessment. An expert ethical hacker or penetration tester (hereafter, pen tester) must test web applications for various attacks such as brute-force, XSS, parameter tampering, and CSRF, and then secure the web applications from such attacks.

The labs in this module provide hands-on experience with various web application attacks to help audit web application security in the target organization.

Objective

The objective of the lab is to perform web application hacking and other tasks that include, but are not limited to:

  • Footprinting a web application using various information-gathering tools
  • Performing web spidering, detect load balancers, and identify web server directories
  • Performing web application vulnerability scanning
  • Performing brute-force and cross-site request forgery (CSRF) attack
  • Exploiting parameter tampering and cross-site scripting (XSS) vulnerabilities
  • Exploiting WordPress plugin vulnerabilities
  • Exploiting remote command execution vulnerability
  • Exploiting file upload vulnerability
  • Gaining backdoor access via a web shell
  • Detecting web application vulnerabilities using various web application security tools

Overview of Web Applications

Web applications provide an interface between end-users and web servers through a set of web pages generated at the server end or that contain script code to be executed dynamically in a client’s Web browser.

Web applications run on web browsers and use a group of server-side scripts (such as ASP and PHP) and client-side scripts (such as HTML and JavaScript) to execute the application. The working of a web application depends on its architecture, which includes the hardware and software that performs tasks such as reading the request, searching, gathering, and displaying the required data.

Lab Tasks

Ethical hackers or pen testers use numerous tools and techniques to perform web application attacks on the target web application. Recommended labs that will assist you in learning various web application attack techniques include:

  1. Footprint the web infrastructure

    • Perform web application reconnaissance
    • Perform web application reconnaissance using WhatWeb
    • Perform web spidering using OWASP ZAP
    • Detect load balancers using various tools
    • Identify web server directories
    • Perform web application vulnerability scanning using Vega
    • Identify clickjacking vulnerability using iframe
  2. Perform web application attacks

    • Perform a brute-force attack using Burp Suite
    • Perform parameter tampering using Burp Suite
    • Exploit parameter tampering and XSS vulnerabilities in web applications
    • Perform cross-site request forgery (CSRF) attack
    • Enumerate and hack a web application using WPScan and Metasploit
    • Exploit a remote command execution vulnerability to compromise a target web server
    • Exploit a file upload vulnerability at different security levels
    • Gain backdoor access via a web shell using Weevely

Comments

Popular posts from this blog

Lab 1: Perform S3 Bucket Enumeration using Various S3 Bucket Enumeration Tools

Lab 5: Perform Cryptanalysis using Various Cryptanalysis Tools

Task 2: Perform OS Discovery using Nmap Script Engine (NSE)