Turbo Miner
to Burp Suite's UI as well as a new entry Turbo Data Miner
to Burp Suite's Extensions
context menu entry
(see Context Menu Analyzers).
Turbo Miner
tab, Turbo Data Miner provides a basic Python IDE to efficiently and
dynamically accomplish different types of intelligence objectives. Turbo Data Miner's API is documented
below.
Name | Type | Scope | Proxy History Analyzer | Site Map Analyzer | Context Menu Analyzer | HTTP Listener Analyzer | HTTP Listener Modifier | Proxy Listener Modifier | Custom Scanner Check | Custom Message Editor | Description |
---|---|---|---|---|---|---|---|---|---|---|---|
add_table_row | Refer to Method Details for more information. | ||||||||||
analyze_request | Refer to Method Details for more information. | ||||||||||
analyze_response | Refer to Method Details for more information. | ||||||||||
analyze_signatures | Refer to Method Details for more information. | ||||||||||
callbacks | This variable is of type IBurpExtenderCallbacks, which can be used to access functionalities provided by Burp Suite. For more information refer to Burp Extender API. | ||||||||||
compress_gzip | Refer to Method Details for more information. | ||||||||||
decode_html | Refer to Method Details for more information. | ||||||||||
decode_jwt | Refer to Method Details for more information. | ||||||||||
decompress_gzip | Refer to Method Details for more information. | ||||||||||
encode_jwt | Refer to Method Details for more information. | ||||||||||
find_domains | Refer to Method Details for more information. | ||||||||||
find_error_messages | Refer to Method Details for more information. | ||||||||||
find_versions | Refer to Method Details for more information. | ||||||||||
get_content_length | Refer to Method Details for more information. | ||||||||||
get_content_type | Refer to Method Details for more information. | ||||||||||
get_cookie_attributes | Refer to Method Details for more information. | ||||||||||
get_cookies | Refer to Method Details for more information. | ||||||||||
get_extension_info | Refer to Method Details for more information. | ||||||||||
get_header | Refer to Method Details for more information. | ||||||||||
get_headers | Refer to Method Details for more information. | ||||||||||
get_hostname | Refer to Method Details for more information. | ||||||||||
get_json_attribute_by_path | Refer to Method Details for more information. | ||||||||||
get_json_attributes | Refer to Method Details for more information. | ||||||||||
get_jwt | Refer to Method Details for more information. | ||||||||||
get_parameter_name | Refer to Method Details for more information. | ||||||||||
get_parameters | Refer to Method Details for more information. | ||||||||||
has_header | Refer to Method Details for more information. | ||||||||||
hast_stopped | Refer to Method Details for more information. | ||||||||||
header |
This variable must be a one-dimensional list. Use this list to set the GUI table's header.
The GUI table header is set at the beginning when variable ref is 1.
|
||||||||||
helpers | This variable is of type IExtensionHelpers, which can be used to access functionalities provided by Burp Suite. For more information refer to Burp Extender API. | ||||||||||
in_scope |
This variable is of type bool and specifies whether the current request/response item is
in the project's scope. You could also use callbacks.isInScope(java.lang.URL) to determine
whether the given URL is in scope.
|
||||||||||
invocation | This variable is of type IContextMenuInvocation and contains details about a context menu invocation. Context Menu Analyzer scripts can query this interface to obtain details of the invocation event. | ||||||||||
is_request |
This variable is of type bool and specifies whether the given
IInterceptedProxyMessage object is a request (True ) or a response (False ).
|
||||||||||
message_info |
This variable is of type
IHttpRequestResponse and represents the request/response item that was processed or from which
information was extracted. Clicking on a table row in one of Turbo Data Miner's Analyzers, will always
display the information of this variable in tab Message Information . For more information
about the
IHttpRequestResponse interface, refer to
Burp Extender API
|
||||||||||
message_infos |
This variable is of type dict and can be used by any Turbo Data Miner Analyzer to add additional
IHttpRequestResponse
items to the message info tabs. Note that the dict keys must be of type str and their values
of type
IHttpRequestResponse in order to be displayed.
|
||||||||||
plugin_id |
This variable is of type int and specifies the Turbo Data Miner module that executes the
script. Flag 0 stands for the Proxy History Analyzer,
1 for the HTTP Listener Analyzers,
3 for the HTTP Listener Modifiers,
4 for the Proxy Listener Modifiers,
5 for the Custom Message Editors,
6 for the Site Map Analyzers,
7 for the Context Menu Analyzers and
8 for the Custom Scanner Checks.
|
||||||||||
proxy_message_info | This variable is of type IInterceptedProxyMessage and represents the request/response item that can be processed or from which information can be extracted. For more information refer to Burp Extender API. | ||||||||||
ref |
This variable is of type int and is reset to 1, if the Start button is pressed and
is then auto incremented with each subsequent request/response item
(IHttpRequestResponse).
You can for example use this variable to reset the session dictionary at the beginning of
a script execution or determine that several table rows belong to the same request/response item.
|
||||||||||
request_info |
This variable is of type IRequestInfo
and represents the current request of the current message_info variable. For more information
refer to Burp Extender API.
|
||||||||||
row_count | For the Proxy History and Site Map Analyzer this variable holds the total number request/response items. | ||||||||||
rows |
This variable is a two-dimensional list. Use this two-dimensional list to add content to the GUI table.
Thereby, each row in rows represents one row in the GUI table.
If the variable is a one-dimensional list, then each element is added as a single row to the GUI table.
|
||||||||||
ScanIssue | This class is derived from IScanIssue and can be used by Custom Scanner Check plugins to store and register IScanIssue. For more information refer to Burp Extender API. | ||||||||||
send_http_message | Refer to Method Details for more information. | ||||||||||
session |
This variable is of type dict . You can use this variable to store information across
processing iterations. For example, this variable can be used to deduplicate content
|
||||||||||
show_scope_parameter_dialog | Refer to Method Details for more information. | ||||||||||
split_http_header | Refer to Method Details for more information. | ||||||||||
tool_flag |
This variable is of type int and indicates the Burp Suite tool that issued the request.
The Burp Suite tool flags are defined in the
IBurpExtenderCallbacks
interface. To convert the value into a human readable string, use
callbacks.getToolName(tool_flag) . For more information refer to
Burp Extender API.
|
||||||||||
url |
This variable is of type java.net.URL
and holds the URL of the current message_info variable so that you do not have to explicitly
extract it.
|
||||||||||
url_decode | Refer to Method Details for more information. | ||||||||||
xerceslib |
Per default, BApps written in Python cannot use Burp Suite's build in XML library as documented in the
Burp Suite User Forum thread
SAXParser
Dependency Delimma. This same thread describes a workaround by loading the
Apache Xerces library within BApps themselves. This variable contains a reference to a java.net.URLClassLoader object, which loaded Turbo Data Miner's own local Apache Xerces library (version 1.12.1). This variable can then be used within Python scripts to load Turbo Data Miner's own Apache Xerces library into the current execution thread and subsequently, to successfully process XML files. In order to make XML library available, use the following Python code:
from java.lang import Thread
|
Stop
button to immediately stop the executiono ofTrue
, if the user clicked the Stop
, else False
.