Before we can start website penetration testing, we need to understand what a website really is. A website is just an application that is installed on a computer. The computer might have better specifications than our computer, but fundamentally, it works just like any other computer, which means that it has an operating system, as well as a number of applications that allow it to act as a web server. The two main applications that it has are a web server (for example, Apache), and a database (for example, MySQL):
- The web server basically understands and executes the web application. Our web application can be written in PHP, Python, or any other programming language. The only restriction is that the web server needs to be able to understand and execute the web application.
- The database contains the data that is used by the web application. All of this is stored...