Book Image

Mastering Modern Web Penetration Testing

By : Prakhar Prasad, Rafay Baloch
Book Image

Mastering Modern Web Penetration Testing

By: Prakhar Prasad, Rafay Baloch

Overview of this book

Web penetration testing is a growing, fast-moving, and absolutely critical field in information security. This book executes modern web application attacks and utilises cutting-edge hacking techniques with an enhanced knowledge of web application security. We will cover web hacking techniques so you can explore the attack vectors during penetration tests. The book encompasses the latest technologies such as OAuth 2.0, Web API testing methodologies and XML vectors used by hackers. Some lesser discussed attack vectors such as RPO (relative path overwrite), DOM clobbering, PHP Object Injection and etc. has been covered in this book. We'll explain various old school techniques in depth such as XSS, CSRF, SQL Injection through the ever-dependable SQLMap and reconnaissance. Websites nowadays provide APIs to allow integration with third party applications, thereby exposing a lot of attack surface, we cover testing of these APIs using real-life examples. This pragmatic guide will be a great benefit and will help you prepare fully secure applications.
Table of Contents (18 chapters)
Mastering Modern Web Penetration Testing
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Remote code execution


PHP provides different functions which when called allow shell command execution on the server.

The following table contains a list of functions which are used for shell command execution:

Name

Functionality

system

Executes a command and returns its output

shell_exec

Executes a command and displays the output immediately

passthru

Executes a command and displays the raw output

backtick operator (``)

Executes contents inside the backtick as a shell command

popen

Executes a command and returns a pointer

exec

Executes a command and returns the last line of the output

pcntl_exec

Executes a command or a program

proc_open

Similar to popen()

In the following code, Let us use the passthru() function and create a simple one-liner shell, which will expect a parameter in the GET request and execute it using passthru():

<?php
passthru($_GET['cmd']);
?>

Note

The GET parameter name here is cmd, which is easily guessable. When uploading a one-liner...