katana.units.raw.urldecode — Decode URLs

Decode URL-encoded/percent-ecoded data.

This unit will return the data represented in both little-endian notation and in big-endian notation.

This unit inherits from katana.unit.PrintableDataUnit as the targets for this should include data that is often part of a URL.

katana.units.raw.urldecode.URL_DATA = regex.Regex(b'%[0-9A-Fa-f]{1,2}', flags=regex.A | regex.S | regex.I | regex.M | regex.V0)

The pattern to match for URL encoded data.

class katana.units.raw.urldecode.Unit(*args, **kwargs)

Bases: katana.unit.PrintableDataUnit

GROUPS = ['raw', 'decode', 'urldecode']

These are “tags” for a unit. Considering it is a Raw unit, “raw” is included, as well as the tag “decode”, and the name of the unit itself, “urldecode”.

PRIORITY = 25

Priority works with 0 being the highest priority, and 100 being the lowest priority. 50 is the default priorty. This unit has a higher priority.

evaluate(case: Any)

Evaluate the target. URL decode the target and recurse on any new found information.

Parameters:match – A match returned by the RegexUnit.
Returns:None. This function should not return any data.