Skip to content

Mapping the Application: Summary

This week we have looked at our first stage of recon, and how we can map the application.

We have focused on Manually browsing the site, along with code review to help identify the sites visible content and functionality. This allows us to work out the application content, and start thinking about possible attack surfaces.

By gathering a list of endpoints, and the types of data we can submit to them, we can start to build an idea of how we might exploit them. Below is a (non exhaustive) list of things that we might Identify, and how we could use it as part of an exploit

Item Possible Exploit
Technologies used Possible Exploits based on specific Technology and version
Database Interaction SQL Injection
Displaying user supplied data Cross Site Scripting / SSTI
Login Pages Username Enumeration, password brute force
Sessions Authentication Methods, Session Jacking
Error Messages Information Leakage
Client Side Validation Checks may not be applied on server
File Uploads XSS, uploading Shells
Authorisation Methods Privilege Escalation
API Use Information Leakage
API Parameters Database Structure
URL Parameters in Dynamic pages Modify Functionality, Expose other areas of the site

What else might we find useful

The list above has the main elements we might want to look for, without getting too specific. However, there are other more specialised areas we may want to consider.

Using the feed on aula, discuss: - Other items you think it may be helpful to identify. - Are are any attack types that we should consider also

We will collate them and discuss in the lab sessions.

The Lab

In the Lab this week we will go though the mapping process with an example site. You will also get the opportunity to try using some tools that help the mapping process.

Next Time

We haven't quite finished with recon yet.
While we have looked at getting data from the visible parts of the site, we still haven't found all of the possible functionality.

Next week we will look at some ways of finding Hidden functionality.

Back to top