aboutsummaryrefslogtreecommitdiffstats
path: root/doc-src/features/replacements.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc-src/features/replacements.html')
-rw-r--r--doc-src/features/replacements.html74
1 files changed, 0 insertions, 74 deletions
diff --git a/doc-src/features/replacements.html b/doc-src/features/replacements.html
deleted file mode 100644
index 6de06d5e..00000000
--- a/doc-src/features/replacements.html
+++ /dev/null
@@ -1,74 +0,0 @@
-Mitmproxy lets you specify an arbitrary number of patterns that define text
-replacements within flows. Each pattern has 3 components: a filter that defines
-which flows a replacement applies to, a regular expression that defines what
-gets replaced, and a target value that defines what is substituted in.
-
-Replace hooks fire when either a client request or a server response is
-received. Only the matching flow component is affected: so, for example, if a
-replace hook is triggered on server response, the replacement is only run on
-the Response object leaving the Request intact. You control whether the hook
-triggers on the request, response or both using the filter pattern. If you need
-finer-grained control than this, it's simple to create a script using the
-replacement API on Flow components.
-
-Replacement hooks are extremely handy in interactive testing of applications.
-For instance you can use a replace hook to replace the text "XSS" with a
-complicated XSS exploit, and then "inject" the exploit simply by interacting
-with the application through the browser. When used with tools like Firebug and
-mitmproxy's own interception abilities, replacement hooks can be an amazingly
-flexible and powerful feature.
-
-
-## On the command-line
-
-The replacement hook command-line options use a compact syntax to make it easy
-to specify all three components at once. The general form is as follows:
-
- /patt/regex/replacement
-
-Here, __patt__ is a mitmproxy filter expression, __regex__ is a valid Python
-regular expression, and __replacement__ is a string literal. The first
-character in the expression (__/__ in this case) defines what the separation
-character is. Here's an example of a valid expression that replaces "foo" with
-"bar" in all requests:
-
- :~q:foo:bar
-
-In practice, it's pretty common for the replacement literal to be long and
-complex. For instance, it might be an XSS exploit that weighs in at hundreds or
-thousands of characters. To cope with this, there's a variation of the
-replacement hook specifier that lets you load the replacement text from a file.
-So, you might start __mitmdump__ as follows:
-
-<pre class="terminal">
-mitmdump --replace-from-file :~q:foo:~/xss-exploit
-</pre>
-
-This will load the replacement text from the file __~/xss-exploit__.
-
-Both the _--replace_ and _--replace-from-file_ flags can be passed multiple
-times.
-
-
-## Interactively
-
-The _R_ shortcut key in the mitmproxy options menu (_o_) lets you add and edit
-replacement hooks using a built-in editor. The context-sensitive help (_?_) has
-complete usage information.
-
-<table class="table">
- <tbody>
- <tr>
- <th width="20%">command-line</th>
- <td>
- <ul>
- <li>--replace</li>
- <li>--replace-from-file</li>
- </ul>
- </td>
- </tr>
- <tr>
- <th>mitmproxy shortcut</th> <td><b>o</b> then <b>R</b></td>
- </tr>
- </tbody>
-</table>