Skip to content
This repository has been archived by the owner on Sep 14, 2021. It is now read-only.

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
danielonsecurity committed Aug 23, 2021
2 parents d37575b + 4d9fac6 commit d265648
Show file tree
Hide file tree
Showing 21 changed files with 638 additions and 983 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
## Release history

### 0.2.2 - alpha3 (2021-08-23)

* Split plugins into common, basic, modifiers and parsers.
* Add Combine modifier.
* Add UrlParser plugin.
* Update documentation with new plugin structure.

### 0.2.1 - alpha2 (2021-08-03)

* Improved the fuzzing module.
Expand Down
113 changes: 84 additions & 29 deletions docs/dev/plugins.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.. _plugins:
.. module:: raider.plugins
.. module:: raider.plugins.common

Plugins
=======
Expand All @@ -11,10 +11,34 @@ between :ref:`Flows <flows>`. Below there's a list of predefined
Plugins. The users are also encouraged to write their own plugins.


Common
------

Plugin
++++++

.. autoclass:: Plugin

Parser
++++++

.. autoclass:: Parser

Empty
+++++

.. autoclass:: Empty


.. module:: raider.plugins.basic

Basic
-----

.. _plugin_variable:

Variable
--------
++++++++

Use this when the value of the plugin should be extracted from the
user data. At the moment only ``username`` and ``password`` are
Expand All @@ -33,7 +57,7 @@ Example:
.. _plugin_prompt:

Prompt
------
++++++

Prompt plugin should be used when the information is not known in
advance, for example when receiving the SMS code.
Expand All @@ -49,27 +73,10 @@ Example:

.. _plugin_command:

Command
-------

Use Command plugin if you want to extract information using a shell
command.

Example:

.. code-block:: hylang
(setv mfa_code (Command
:name "otp"
:command "pass otp personal/app1"))
.. autoclass:: Command
:members:

.. _plugin_cookie:

Cookie
------
++++++

Use Cookie plugin to extract and set new cookies:

Expand All @@ -86,7 +93,7 @@ Example:
.. _plugin_header:

Header
------
++++++

Use Header plugin to extract and set new headers. It also allows
easier setup for basic and bearer authentication using the provided
Expand All @@ -112,10 +119,29 @@ Example:
.. autoclass:: Header
:members:


Command
+++++++

Use Command plugin if you want to extract information using a shell
command.

Example:

.. code-block:: hylang
(setv mfa_code (Command
:name "otp"
:command "pass otp personal/app1"))
.. autoclass:: Command
:members:


.. _plugin_regex:

Regex
-----
+++++

Use Regex plugin if the data you want extracted can be easily
identified with a regular expression. The string matched in between
Expand All @@ -138,7 +164,7 @@ Example:
.. _plugin_html:

Html
----
++++

Use the Html plugin when the data you want can be easily extracted by
parsing HTML tags. Create a new plugin by giving it a name, the tag
Expand Down Expand Up @@ -168,19 +194,45 @@ Example:
.. _plugin_json:

Json
----
++++

.. autoclass:: Json
:members:

.. _plugin_api:
.. module:: raider.plugins.modifiers


Plugin API
----------
Modifiers
---------

.. autoclass:: Plugin
Alter
+++++

.. autoclass:: Alter
:members:

Combine
+++++++

.. autoclass:: Combine
:members:



.. module:: raider.plugins.parsers

Parsers
-------

UrlParser
+++++++++

.. autoclass:: UrlParser
:members:



.. _plugin_api:

Writing custom plugins
----------------------
Expand Down Expand Up @@ -240,3 +292,6 @@ And we can create a new variable that will use this class:
Now whenever we use the ``mfa_code`` in our requests, its value will
be extracted from the password store.



12 changes: 11 additions & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
Welcome to Raider's documentation!
==================================

.. note::
This documentation and the entire Raider framework is still work in
progress. Many things are not finished, stuff is missing, other stuff
is not working as expected, and so on... Meanwhile, `read the source
code <https://github.com/DigeeX/raider>`_ to understand better how
Raider works, `open Github issues
<https://github.com/DigeeX/raider/issues>`_ if you find some
mistakes, or come `talk to us in the community forum
<https://community.digeex.de/>`_.


**Raider** is a framework designed to test :term:`authentication` for
web applications. While web proxies like `ZAProxy
Expand Down Expand Up @@ -87,7 +97,7 @@ User guide

user/install
user/architecture
user/tutorial
user/tutorials
user/definitions
user/faq

Expand Down
2 changes: 1 addition & 1 deletion docs/user/definitions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Definitions
A piece of code that can be used to generate inputs for outgoing
HTTP :term:`Requests <Request>`, and/or extract outputs from
incoming term:`Responses <Response>`. All plugins inherit from
:class:`Plugin <raider.plugins.Plugin>` class.
:class:`Plugin <raider.plugins.common.Plugin>` class.

When used inside a :term:`Request <Request>`, Plugins acts as input
and replace themselves with the actual value.
Expand Down
5 changes: 3 additions & 2 deletions docs/user/faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,9 @@ files for each new project. Those files contain information describing
the authentication process. **Raider** evaluates them, and gives you
back a Python object to interact with the application.

Read the :ref:`Architecture <architecture>` and :ref:`Tutorial
<tutorial>` pages for more information and examples.
Read the :ref:`Architecture <architecture>` and `Tutorials
<https://community.digeex.de/c/tutorials/5>`_ for more information and
examples.

.. _faq_eval:

Expand Down
Loading

0 comments on commit d265648

Please sign in to comment.