Skip to content

Latest commit

 

History

History
51 lines (35 loc) · 1.09 KB

header.rst

File metadata and controls

51 lines (35 loc) · 1.09 KB

Header Matcher

Format (header=string:required, extractor=string:optional)
Type tuple
Scope First response

It operates on response headers. As you could expect, it works only on first response since it contains the headers sent by website's server.

It's used to extract data exposed by the web server software and its stack. You could also dive into Set-Cookie headers to extract cookie information.

Example

A website X uses Apache HTTPd Server. The response contains the following headers:

[...]
Server: Apache/2.4.25
[...]

We will use a header matcher to extract Apache's version. First, we need to decide which header to look for. In this case, it's the header Server.

from detectem.plugin import Plugin


class ApachePlugin(Plugin):
    name = 'apache'
    matchers = [
        {'header': ('Server', r'Apache/(?P<version>[0-9\.]+)')},
    ]

Then, when you run detectem on X, it will detect the presence of Apache and its version 2.4.25.