GithubHelp home page GithubHelp logo

yeswehack / pwnfox Goto Github PK

View Code? Open in Web Editor NEW
965.0 965.0 87.0 308 KB

PwnFox is a Firefox/Burp extension that provide usefull tools for your security audit.

JavaScript 50.23% HTML 23.45% CSS 22.41% Kotlin 3.91%

pwnfox's People

Contributors

b-i-t-k avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pwnfox's Issues

Content-Length header is always updated

I noticed PwnFox extension always update the ย Content-Length header in BurpSuite Pro v2020.9.2 (not tested on other versions).

Steps to reproduce:

  1. Install the last version of PwnFox extension in Burp (v1.0.2)
  2. Send any request in Burp repeater tab, change the method to POST, add arbitrary request body and set Content-Length header value to high value, for example 9999999:
POST / HTTP/1.1
Host: www.google.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 9999999

12345
  1. Disable Update Content-Length option in the Repeater top menu.
  2. Send the request, in my case www.google.com replies with a 405 Method Not Allowed

Expected result:
www.google.com should reply with 413 Request Entity Too Large because the Content-Length value is too high (it should timeout for lower values). You can verify this behavior by enabling or disabling the PwnFox extension between requests.
Also you can see in the Logger++ extension that the Content-Length header value has been updated when the extension is enable.

Is this "auto-update" feature intended / necessary ? This also works works out of repeater (like intruder for example). An automatic update could prevent exploitation of vulnerabilities such as request smuggling.

Proxy settings for PwnFox containers only

Would it be possible to turn off proxy settings for containers that are not created by PwnFox ?
I use containers for other purposes (with Multi-Account Container) and would like to bypass proxy settings applied by PwnFox

Cannot load extension

Hi @B-i-t-K , I get the following error when trying to load the extension:

image

Read in the following post that it could be due to the way it was packaged but after unzipping it, it seems to have the proper structure.

Thanks for the help

Remove the color header in adress bar

Is it possible to remove the Pwnfox-Pink text and picture from the address bar?

afbeelding

Tried checking the preferences and options in Firefox but couldn't find it.

No Icon shown in toolbar

I am having a problem with newer versions of firefox. While the add-on is properly installed and visible on the Add-ons and themes page, no status icon is displayed in the toolbar. In consequence, I cannot activate it or open a new container.

I have observed this behaviour on Firefox 115(ESR) on Kali Linux and Firefox 117 on Windows 10.

No error messages are printed in the console, not even when inspecting the add-on vie about:debugging.

Enabled checkbox not working properly!

Hello, thanks for this great addon. The "Enabled" checkbox doesn't work properly. When it is checked and I uncheck it, the burp proxy gets deactivated, just as expected. However, when checking "Enabled" again, the burp proxy doesn't get activated again. To do this, I need to uncheck and check again the "Use burp proxy" checkbox.
Also, when "Enabled" is unchecked and I check "Use burp proxy", the burp proxy gets activated, even though "Enabled" is unchecked.
There seems to be problems with the validation of the checkboxes.

Feature Request

Thank you for this extension. It is awesome.

Actual Feature Request

Can you add a feature where we can rename the profile name as we like?
e.g. While testing with multi-accounts if we can rename the profiles with the username like admin-user, not-admin-user, etc It will help in testing.
Will love to know your thoughts on this?

Thank you.

Color tab don't working anymore

hey i'm using this coloring the tab functionality ,but i don't see any color in burp proxy i reinstall/reconf everything in both win64/linux seems not working any more can you confirm is this issue only on my side?

Bug(Maybe??)

Great tool,

In Burp Suite 2021.4, the proxy history is no longer being colorized.
Could it be the Burp Suite version??

pwnfox

Content-Length gets updated even it is disabled

Hi,

I come across a weird issue in the BurpSuite when the PwnFox extension is loaded, The Update Content-Length feature stops working. After disabling the feature, Content-Length stills gets updated when the requests are sent via the repeater. This can be checked via the logger tab.

I've spoken to PortSwigger Support, they tested the PwnFox and made the suggestion to switch using IProxyListener instead of IHttpListener.

Based on the tests they have done with PwnFox and BurpSuite, the behavior was fixed after switching to IProxyListener.

Hope this helps.

You sent a Malformed Request

Summary

Hello Team
It appears that the extension when activated by default it sends something that google don't like
whenever the extension is activated google can't be accessed I get this message
image

I hope you can take a look
Regards

Corrupt add-on

Hey, I'm running Firefox 108.0.2 (64-bit) on Arch, and it refuses to install the latest version of the addon (1.0.3).

The error message mentions that the add-on is corrupt.

Toolbox race condition and potential fix

Toolbox is injected just a bit late. This means inline code in the website will execute before the toolbox has a chance to hook sinks. Inline code is common among ad networks, where difficult to find XSS is also common.

You can fix this if you move this feature to the background script and use browser.contentScripts.register.

example problem

I loaded the a page with the following content:

<!DOCTYPE html>
<script>
alert("Page alerts");
</script>

I then used a toolbox to switch alert for prompt

alert=prompt;alert("thisIsPrompt");

Visiting the page caused an alert because the inline script finished executing before the toolbox was loaded. You can see the prompt that is fired by the toolbox is under the alert box.

ss1

So if you were attempting to proxy/reflect or hook alert as an interesting sink, you would of missed at least one execution.

Why

I did not look to hard at your code, but surely your toolbox scripts are stored in some browser API storage system. All calls to that system are async. Additionally, content scripts don't have access to those API's so you query them through the background script with another async message. While those asyncs are waiting, the loaded page is executing code.

FIX

browser.contentScripts.register lets you register a new content script from the background script. This can be done with a string or file. Using both you can easily inject the toolbox into the page before the page can execute any code. There is still an async storage lookup, but it happens only once in the background script, then the content script gets registered like a static file. No ansycs happen during page load and the toolbox gets to execute before inline scripts.

Be aware, this API is Firefox only. So it can't be ported to Chrome if you chose to do that in the future.

Also of note, there is a matches parameter that the API selects so you can easily isolate what websites you want to send the toolbox to.

Example

I know the fix works because I use it in my own web extension. You can see the relevant code here:
https://github.com/swoops/eval_villain/blob/master/src/js/background.js#L331. The code is a user config that is pulled from storage and the file shoves it into the page.

Using the same code from the "example problem" above, Eval Villain pulls the user config from storage that says to hook alert, registers the content script, then when the page loads Eval Villain hooks alert before the page executes any inline scripts:

ss2

Size of code does not matter, JS is single threaded. So as long as there is no async, the page never gets a chance to steal the thread and do something.

You are welcome to use any of my code. I would of even sent you a pull but I think your code is to pretty to corrupt with my terrible JS.

Great tool, I look forward to using it.

Toolbox does not work in new Firefox installations

Hi. The Pwnfox's Toolbox (tried 1.0.4 and 1.0.3 versions) does not work on new installations of Firefox (Using Firefox 107.0 (64-bit) on Ubuntu).
It still works on my other profile (same installation), but does not on new installations or profiles. I am attaching an error from browser's console (not from F12, but from CTRL+SHIFT+J).
Screenshot from 2022-11-20 13-21-43
Steps to reproduce:

  1. Install new firefox (or create a new profile via about:profiles);
  2. Install PwnFox addon;
  3. Create a toolbox script (set in something like console.log('asd'));
  4. Enable toolbox and PwnFox;
  5. Navigate to any website;
  6. Inspect Console from dev tools (F12 > console tab) - there are no logged entries.

Not showing color in new burp 2021.5.1

Hello Team,

I have updated my burp to the latest version i.e 2021.5.1 and I am on firefox 88.0. When I create a new container I don't see the color differentiation.

Can you please help on this

Tab colors

Can you guys add an options where users can set their own colors for tabs and also in burp, something like using lighter colors, current colors are really dark and when using it in burp.. eyes may start to suffer. Needs to add mild colors or users can edit the colors.

Thanks

Caido Support

We added support for PwnFox in Caido, see the passive workflows of EvenBetter.

Otherwise copy the workflow:

Workflow
{
	"description": ":D ",
	"edition": 2,
	"graph": {
	  "edges": [
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 0
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 2
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 2
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 3
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 3
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 4
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 4
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 5
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 5
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 6
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 7
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 8
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 8
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 9
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 6
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 7
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 9
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 10
		  }
		},
		{
		  "source": {
			"exec_alias": "false",
			"node_id": 10
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 11
		  }
		},
		{
		  "source": {
			"exec_alias": "false",
			"node_id": 15
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 13
		  }
		},
		{
		  "source": {
			"exec_alias": "false",
			"node_id": 13
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 14
		  }
		},
		{
		  "source": {
			"exec_alias": "true",
			"node_id": 10
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 18
		  }
		},
		{
		  "source": {
			"exec_alias": "false",
			"node_id": 11
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 15
		  }
		},
		{
		  "source": {
			"exec_alias": "true",
			"node_id": 15
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 20
		  }
		},
		{
		  "source": {
			"exec_alias": "true",
			"node_id": 13
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 21
		  }
		},
		{
		  "source": {
			"exec_alias": "true",
			"node_id": 14
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 22
		  }
		},
		{
		  "source": {
			"exec_alias": "true",
			"node_id": 16
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 23
		  }
		},
		{
		  "source": {
			"exec_alias": "false",
			"node_id": 14
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 16
		  }
		},
		{
		  "source": {
			"exec_alias": "false",
			"node_id": 16
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 17
		  }
		},
		{
		  "source": {
			"exec_alias": "true",
			"node_id": 11
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 19
		  }
		},
		{
		  "source": {
			"exec_alias": "true",
			"node_id": 17
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 24
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 18
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 1
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 19
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 1
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 20
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 1
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 21
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 1
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 22
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 1
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 23
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 1
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 24
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 1
		  }
		},
		{
		  "source": {
			"exec_alias": "exec",
			"node_id": 25
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 1
		  }
		},
		{
		  "source": {
			"exec_alias": "false",
			"node_id": 17
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 26
		  }
		},
		{
		  "source": {
			"exec_alias": "false",
			"node_id": 26
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 1
		  }
		},
		{
		  "source": {
			"exec_alias": "true",
			"node_id": 26
		  },
		  "target": {
			"exec_alias": "exec",
			"node_id": 25
		  }
		}
	  ],
	  "nodes": [
		{
		  "alias": "on_intercept_request",
		  "definition_id": "caido/on-intercept-request",
		  "display": {
			"x": -20,
			"y": -100
		  },
		  "id": 0,
		  "inputs": [],
		  "name": "On intercept request",
		  "version": "0.1.0"
		},
		{
		  "alias": "passive_end",
		  "definition_id": "caido/passive-end",
		  "display": {
			"x": -30,
			"y": 1830
		  },
		  "id": 1,
		  "inputs": [],
		  "name": "Passive End",
		  "version": "0.1.0"
		},
		{
		  "alias": "pwnfox_blue",
		  "definition_id": "caido/httpql-matches",
		  "display": {
			"x": -20,
			"y": 20
		  },
		  "id": 2,
		  "inputs": [
			{
			  "alias": "query",
			  "value": {
				"data": "req.raw.cont:\"X-PwnFox-Color: blue\"",
				"kind": "string"
			  }
			},
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "PwnFox: blue",
		  "version": "0.1.0"
		},
		{
		  "alias": "pwnfox_cyan",
		  "definition_id": "caido/httpql-matches",
		  "display": {
			"x": -20,
			"y": 120
		  },
		  "id": 3,
		  "inputs": [
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			},
			{
			  "alias": "query",
			  "value": {
				"data": "req.raw.cont:\"X-PwnFox-Color: cyan\"",
				"kind": "string"
			  }
			}
		  ],
		  "name": "PwnFox: cyan",
		  "version": "0.1.0"
		},
		{
		  "alias": "pwnfox_green",
		  "definition_id": "caido/httpql-matches",
		  "display": {
			"x": -20,
			"y": 220
		  },
		  "id": 4,
		  "inputs": [
			{
			  "alias": "query",
			  "value": {
				"data": "req.raw.cont:\"X-PwnFox-Color: green\"",
				"kind": "string"
			  }
			},
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "PwnFox: green",
		  "version": "0.1.0"
		},
		{
		  "alias": "pwnfox_yellow",
		  "definition_id": "caido/httpql-matches",
		  "display": {
			"x": -20,
			"y": 320
		  },
		  "id": 5,
		  "inputs": [
			{
			  "alias": "query",
			  "value": {
				"data": "req.raw.cont:\"X-PwnFox-Color: yellow\"",
				"kind": "string"
			  }
			},
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "PwnFox: yellow",
		  "version": "0.1.0"
		},
		{
		  "alias": "pwnfox_orange",
		  "definition_id": "caido/httpql-matches",
		  "display": {
			"x": -20,
			"y": 420
		  },
		  "id": 6,
		  "inputs": [
			{
			  "alias": "query",
			  "value": {
				"data": "req.raw.cont:\"X-PwnFox-Color: orange\"",
				"kind": "string"
			  }
			},
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "PwnFox: orange",
		  "version": "0.1.0"
		},
		{
		  "alias": "pwnfox_red",
		  "definition_id": "caido/httpql-matches",
		  "display": {
			"x": -20,
			"y": 520
		  },
		  "id": 7,
		  "inputs": [
			{
			  "alias": "query",
			  "value": {
				"data": "req.raw.cont:\"X-PwnFox-Color: red\"",
				"kind": "string"
			  }
			},
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "PwnFox: red",
		  "version": "0.1.0"
		},
		{
		  "alias": "pwnfox_pink",
		  "definition_id": "caido/httpql-matches",
		  "display": {
			"x": -20,
			"y": 620
		  },
		  "id": 8,
		  "inputs": [
			{
			  "alias": "query",
			  "value": {
				"data": "req.raw.cont:\"X-PwnFox-Color: pink\"",
				"kind": "string"
			  }
			},
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "PwnFox: pink",
		  "version": "0.1.0"
		},
		{
		  "alias": "pwnfox_magenta",
		  "definition_id": "caido/httpql-matches",
		  "display": {
			"x": -20,
			"y": 720
		  },
		  "id": 9,
		  "inputs": [
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			},
			{
			  "alias": "query",
			  "value": {
				"data": "req.raw.cont:\"X-PwnFox-Color: magenta\"",
				"kind": "string"
			  }
			}
		  ],
		  "name": "PwnFox: magenta",
		  "version": "0.1.0"
		},
		{
		  "alias": "if_else",
		  "definition_id": "caido/if-else",
		  "display": {
			"x": -20,
			"y": 830
		  },
		  "id": 10,
		  "inputs": [
			{
			  "alias": "condition",
			  "value": {
				"data": "$pwnfox_blue.matches",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "is blue?",
		  "version": "0.1.0"
		},
		{
		  "alias": "if_else_1",
		  "definition_id": "caido/if-else",
		  "display": {
			"x": 120,
			"y": 920
		  },
		  "id": 11,
		  "inputs": [
			{
			  "alias": "condition",
			  "value": {
				"data": "$pwnfox_cyan.matches",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "is cyan?",
		  "version": "0.1.0"
		},
		{
		  "alias": "if_else_2",
		  "definition_id": "caido/if-else",
		  "display": {
			"x": 400,
			"y": 1080
		  },
		  "id": 13,
		  "inputs": [
			{
			  "alias": "condition",
			  "value": {
				"data": "$pwnfox_yellow.matches",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "is yellow?",
		  "version": "0.1.0"
		},
		{
		  "alias": "if_else_3",
		  "definition_id": "caido/if-else",
		  "display": {
			"x": 540,
			"y": 1170
		  },
		  "id": 14,
		  "inputs": [
			{
			  "alias": "condition",
			  "value": {
				"data": "$pwnfox_orange.matches",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "is orange?",
		  "version": "0.1.0"
		},
		{
		  "alias": "if_else_4",
		  "definition_id": "caido/if-else",
		  "display": {
			"x": 260,
			"y": 1000
		  },
		  "id": 15,
		  "inputs": [
			{
			  "alias": "condition",
			  "value": {
				"data": "$pwnfox_green.matches",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "is green?",
		  "version": "0.1.0"
		},
		{
		  "alias": "if_else_5",
		  "definition_id": "caido/if-else",
		  "display": {
			"x": 680,
			"y": 1260
		  },
		  "id": 16,
		  "inputs": [
			{
			  "alias": "condition",
			  "value": {
				"data": "$pwnfox_red.matches",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "is red?",
		  "version": "0.1.0"
		},
		{
		  "alias": "if_else_6",
		  "definition_id": "caido/if-else",
		  "display": {
			"x": 820,
			"y": 1340
		  },
		  "id": 17,
		  "inputs": [
			{
			  "alias": "condition",
			  "value": {
				"data": "$pwnfox_pink.matches",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "is pink?",
		  "version": "0.1.0"
		},
		{
		  "alias": "set_color",
		  "definition_id": "caido/color-set",
		  "display": {
			"x": -30,
			"y": 1060
		  },
		  "id": 18,
		  "inputs": [
			{
			  "alias": "color",
			  "value": {
				"data": "blue",
				"kind": "string"
			  }
			},
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "Set Color",
		  "version": "0.1.0"
		},
		{
		  "alias": "set_color_1",
		  "definition_id": "caido/color-set",
		  "display": {
			"x": 110,
			"y": 1120
		  },
		  "id": 19,
		  "inputs": [
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			},
			{
			  "alias": "color",
			  "value": {
				"data": "#159f64",
				"kind": "string"
			  }
			}
		  ],
		  "name": "Set Color 1",
		  "version": "0.1.0"
		},
		{
		  "alias": "set_color_2",
		  "definition_id": "caido/color-set",
		  "display": {
			"x": 250,
			"y": 1180
		  },
		  "id": 20,
		  "inputs": [
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			},
			{
			  "alias": "color",
			  "value": {
				"data": "green",
				"kind": "string"
			  }
			}
		  ],
		  "name": "Set Color 2",
		  "version": "0.1.0"
		},
		{
		  "alias": "set_color_3",
		  "definition_id": "caido/color-set",
		  "display": {
			"x": 390,
			"y": 1250
		  },
		  "id": 21,
		  "inputs": [
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			},
			{
			  "alias": "color",
			  "value": {
				"data": "#9c9d0d",
				"kind": "string"
			  }
			}
		  ],
		  "name": "Set Color 3",
		  "version": "0.1.0"
		},
		{
		  "alias": "set_color_4",
		  "definition_id": "caido/color-set",
		  "display": {
			"x": 530,
			"y": 1330
		  },
		  "id": 22,
		  "inputs": [
			{
			  "alias": "color",
			  "value": {
				"data": "orange",
				"kind": "string"
			  }
			},
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "Set Color 4",
		  "version": "0.1.0"
		},
		{
		  "alias": "set_color_5",
		  "definition_id": "caido/color-set",
		  "display": {
			"x": 670,
			"y": 1390
		  },
		  "id": 23,
		  "inputs": [
			{
			  "alias": "color",
			  "value": {
				"data": "red",
				"kind": "string"
			  }
			},
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "Set Color 5",
		  "version": "0.1.0"
		},
		{
		  "alias": "set_color_6",
		  "definition_id": "caido/color-set",
		  "display": {
			"x": 810,
			"y": 1470
		  },
		  "id": 24,
		  "inputs": [
			{
			  "alias": "color",
			  "value": {
				"data": "pink",
				"kind": "string"
			  }
			},
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "Set Color 6",
		  "version": "0.1.0"
		},
		{
		  "alias": "set_color_7",
		  "definition_id": "caido/color-set",
		  "display": {
			"x": 1060,
			"y": 1510
		  },
		  "id": 25,
		  "inputs": [
			{
			  "alias": "color",
			  "value": {
				"data": "purple",
				"kind": "string"
			  }
			},
			{
			  "alias": "request",
			  "value": {
				"data": "$on_intercept_request.request",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "Set Color 7",
		  "version": "0.1.0"
		},
		{
		  "alias": "if_else_7",
		  "definition_id": "caido/if-else",
		  "display": {
			"x": 970,
			"y": 1430
		  },
		  "id": 26,
		  "inputs": [
			{
			  "alias": "condition",
			  "value": {
				"data": "$pwnfox_magenta.matches",
				"kind": "ref"
			  }
			}
		  ],
		  "name": "is magenta?",
		  "version": "0.1.0"
		}
	  ]
	},
	"id": "a67ef37b-306e-47fd-bdc5-8971c55def8c",
	"kind": "passive",
	"name": "PwnFox Support"
  }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.