3

When I audit a service I come across the problem I have to figure out what is the product a website is using, to search for possible vulnerabilities afterwards.

What I do is to look for server responses using a proxy like Burp, or taking a look to the source code, but there are cases I have skipped a technology, because I didn't know the name was in the code, or maybe a certain product has a default login page, or some features in the code, that, if you don't have experience and have encounter them first, it is impossible to figure out what the product is.

How to do that in a proper way? How to automatize this task?

Benoit Esnard
  • 14,694
  • 7
  • 69
  • 69
aDoN
  • 293
  • 1
  • 4
  • 11

1 Answers1

1

During the analysis of a host you have to distinguish between two different approaches: Identification of products (e.g. Apache/IIS) and identification of technologies (e.g. PHP/ASP). The identification of these is similar in methodology but differs in technological details.

Many products announce themselves in welcome-banners, about sections and help mechanisms. Using and browsing an application with open eyes allows such an enumeration.

Some applications/technologies have specific optical characteristics. For example the HTML source of popular CMS is having a typical structure and is using repeating JS file names or CSS classes. Analysing these is called application fingerprinting.

There are some dedicated implementations for automated fingerprinting available. For example httprint and HTTPrecon for Webserver and HTTP header. There are other tools for other technologies too. Nmap is providing the argument -sV to enable version detection for different services/protocols based on fingerprinting techniques. This works very well.

Check out the OWASP according chapters for additional details and examples regarding web analysis.

Marc Ruef
  • 1,110
  • 5
  • 14