Book Image

Hands-On Web Penetration Testing with Metasploit

By : Harpreet Singh, Himanshu Sharma
Book Image

Hands-On Web Penetration Testing with Metasploit

By: Harpreet Singh, Himanshu Sharma

Overview of this book

Metasploit has been a crucial security tool for many years. However, there are only a few modules that Metasploit has made available to the public for pentesting web applications. In this book, you'll explore another aspect of the framework – web applications – which is not commonly used. You'll also discover how Metasploit, when used with its inbuilt GUI, simplifies web application penetration testing. The book starts by focusing on the Metasploit setup, along with covering the life cycle of the penetration testing process. Then, you will explore Metasploit terminology and the web GUI, which is available in the Metasploit Community Edition. Next, the book will take you through pentesting popular content management systems such as Drupal, WordPress, and Joomla, which will also include studying the latest CVEs and understanding the root cause of vulnerability in detail. Later, you'll gain insights into the vulnerability assessment and exploitation of technological platforms such as JBoss, Jenkins, and Tomcat. Finally, you'll learn how to fuzz web applications to find logical security vulnerabilities using third-party tools. By the end of this book, you'll have a solid understanding of how to exploit and validate vulnerabilities by working with various tools and techniques.
Table of Contents (23 chapters)
1
Introduction
5
The Pentesting Life Cycle with Metasploit
10
Pentesting Content Management Systems (CMSes)
14
Performing Pentesting on Technological Platforms
18
Logical Bug Hunting

Going the extra mile – customizing the Metasploit exploit

For the Metasploit module we used in the previous section, exploit/multi/http/wp_crop_rce, we need to have the username and password set for the module to work. But what if there's a reCAPTCHA in place at the time of authentication? The module will surely fail because there's no workaround for the module to get the session cookie:

  1. Let's modify the module so that it works with the COOKIE datastore as well:

We can see the updated module options in the following screenshot:

  1. Let's define a function for the COOKIE datastore:
  1. We also need to validate the cookie based on the response code. So, let's define a validate_cookie() function; this will validate the cookie with a 200 HTTP response code:
  1. Now, in the exploit() function, let's include a fail-safe fail_with() method to ensure...