Web Application Analysis

From Embedded Lab Vienna for IoT & Security
Revision as of 20:38, 18 December 2021 by APecl (talk | contribs)
Jump to navigation Jump to search

Summary

Web Application Analysis is engaged in finding and vulnerabilities and if necessary to harden current security measures. The analysing process should be contemplated for every web application. It might reveal exploits that would cause devastating consequences. Unprotected websites and web applications are targeted by hackers and often lead to database leaks, theft of banking information and infringement of privacy. Many companies are not technically adept and therefore cannot evaluate the possible damage, hoping to save costs in the development phase by skipping the web application analysis.

Web Application Security

Web Application Security describes a branch in the information security

Securitry Threats

There is a magnitude of security threats that can occur in a website or web application. The Open Web Application Security Projekt (OWASP) publishes every four years the OWASP Top 10 report, including the ten most occurring security threats. Here is a comparison between the year 2017 and the year 2021:

OwaspTop10.png

These vulnerabilities are easily avoidable but end up over and over on the Top 10 list. One common reason for them being this high listed is the lack of knowledge of the developer. Because knowledge and understanding of the possible threats are so important, there are many test and learning platforms specially made to train and improve best practice security policies.

Web Application Scanning Tool

It is possible to perform web application analysis by hand but it is slower and mistakes can more easily happen. Using software tools created for finding vulnerabilities the efficiency increases significantly. For this purpose were a bunch of tools developed. A few of those are:

  • skipfish
  • ZAP
  • WpScan
  • sqlmap
  • commix
  • ...

Many tools come pre-installed with Kali Linux. They are used for information gathering, exploitation and testing throughout the development of web applications. These tools run a set of tests to see how the application reacts and analyses those reactions. Depending on the kind of reaction the tools recieve they evaluate if an attack could be accomplished or not. The positive/false ratio is usually pretty low, which is an indication of how accurate they are.

Commix

Commix, which stands for [Comm]and [I]njection E[x]ploiter, is a open source penetration testing tool. It is used find and exploit command injextion vulnerabilities in web applications.

To install commix it needs to be cloned from its Github repository:

git clone https://github.com/commixproject/commix.git commix

In the downloaded folder is a file called commix.py that can be executed using:

python commix.py [command]

to see a list with possible commands enter:

python commix.py -h

It is possible to gather information about the structure of the attacked machine and to create a shell giving the attacker lots of control over the server running the application.

Skipfish

Skipfish is a tool that allows quick scanning of websites and web applications for vulnerabilities and threats. After finishing the scan it presents its results in an interactable sitemap and lists the findings according to their importance.

It can only be used for information gathering and cannot be used to exploit vulnerabilities. Because it is written in C it runs very performant and handles many requests and responses without loading the CPU.

To install Skipfish use:

sudo apt-get install skipfish

After installing a list of the available commands can be listed using the command:

skipfish -h

WPScan

WPScan stands for WordPress Scanner. WordPress is a popular tool for creating websites. It is often used for blogs and private websites that are hosted by a single private person. It is estimated that over 43% of all websites on the Internet are powered by WordPress. This makes it a popular target for attackers, so popular that it even got its own tool. It scans web applications using a database with 24500+ registered WordPress vulnerabilities.


Requirements

  • Notebook or VM running a Linux distribution (ideally Kali Linux)
  • Internet connection (There are downloadable Testbeds too, an Internet connection is not required after install)

Courses

References