Cookie Injector

Inject Cookie String From Wireshark Dump Into Any Webpage

K instalaci tototo skriptu si budete muset nainstalovat rozšíření jako Tampermonkey, Greasemonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat manažer uživatelských skriptů.

(Už mám manažer uživatelských skriptů, nechte mě ho nainstalovat!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Už mám manažer uživatelských stylů, nechte mě ho nainstalovat!)

// ==UserScript==
// @name           Cookie Injector
// @namespace      BearsWithWings
// @description    Inject Cookie String From Wireshark Dump Into Any Webpage
// @version 2.0
// @include        *
// @exclude	   https?://gmail.com/*
// @exclude	   https?://mail.google.com/*
// ==/UserScript==

//Anonomyous function wrapper
(function (){
	//Ensure that there is only one instance of the cookieInjector Object
	if(typeof this["cookieInjector"] == "undefined"){	
		cookieInjector = {};
	}	

	//Make a local refrence to the cookie Injector object to save on typing
	var cI = cookieInjector;
	//Make the cookieInjector object globally viewable
	unsafeWindow['cookieInjector'] = cI;
	
	/**
	* Cookie Injector createDiv function
	* Sets up the cookie injector dialogue
	*/
	cI.createDiv = function(){
		//Create the DIV to contain the Dialog
		cI.dialog = document.createElement('div');
		cI.dialog.id = "cookieInjectorDiv";
		cI.dialog.innerHTML = "<div align='center'>Wireshark Cookie Dump:<br/><input type='text' id='cookieInjectorCookie'/><br/><button onclick='cookieInjector.writeCookie();'>OK</button><button onclick='cookieInjector.hide();'>Cancel</button></div>";
		cI.dialog.style.display = "none";
		cI.dialog.style.position = "fixed";
		cI.dialog.style.opacity = "0.9";
		cI.dialog.style.top = "40%";
		cI.dialog.style.background= "#DDDDDD";
		cI.dialog.style.left = "40%";
		cI.dialog.style.width = "20%";
		cI.dialog.style.zindex = "99999";
		document.body.appendChild(cI.dialog);
		cI.visible = false;
	} 

	/**
	* Show the dialog
	*/
	cI.show = function(){
		if(!cI.dialog) {
			cI.createDiv();
		}
		cI.dialog.style.display = "block";
		cI.visible = true;
	}

	/**
	* Hide the dialog
	*/
	cI.hide = function(){
		cI.dialog.style.display = "none";
		cI.visible = false;
	}

	/**
	* Gets the wireshark dump string and converts it into cookies
	*/
	cI.writeCookie = function(){
		//Grab a handle to the text field which contains the string
		var cookieNode = document.getElementById('cookieInjectorCookie');
		var cookieText = cI.cleanCookie(cookieNode.value);
		cookieNode.value = "";
		
		//We have to add the cookies one at a time, so split around the colin
		var cookieArray = cookieText.split(";");
		for(var x=0; x<cookieArray.length; x++){
			//We want the path to be the root, the host is filled in automatically 
			//since we are on the same webpage that we captured the cookies on
			document.cookie = cookieArray[x]+"; path=/";
		}		

		alert("All Cookies Have Been Written");
		cI.hide();
	}

	/**
	* Do a little big of cleanup on the cookie string, Mostly we are looking
	* To get rid of the "Cookie: " string that Wireshark prepends to the cookie string
	*/
	cI.cleanCookie = function(cookieText){
		var cookie = cookieText.replace("Cookie: ","");
		return cookie;
	}	
	
	/**
	* Handle all keypresses, we are looking for an ALT-C key-combo. Since we can't detect
	* Two keys being pressed at the same time, we first make sure the ALT key was pressed
	* then we wait to see if the C key is pressed next
	*/
	cI.keyPress = function (e){	
		//Check to see if "C" is pressed after ALT	
		if(e.keyCode == 67 && cI.ctrlFire){
			if(!cI.visible){		
				cI.show();
			}else{
				cI.hide();
			}
		}

		//Make sure the Alt key was previously depressed
		if(e.keyCode == 18){
			cI.ctrlFire = true;
		}else{
			cI.ctrlFire = false;
		}
	}

	//Capture all onkeydown events, so we can filter for our key-combo
	cI.visible = false;
	window.addEventListener('keydown', cI.keyPress,'false');
})();