83 lines
2.2 KiB
JavaScript
83 lines
2.2 KiB
JavaScript
//
|
|
// Copyright (c) 2006-2015 Wade Alcorn - wade@bindshell.net
|
|
// Browser Exploitation Framework (BeEF) - http://beefproject.com
|
|
// See the file 'doc/COPYING' for copying permission
|
|
//
|
|
|
|
PanelViewer = {};
|
|
var mainPanel, zombiesTreeLists, zombieTabs, zombiesManager;
|
|
|
|
Ext.onReady(function() {
|
|
|
|
Ext.QuickTips.init();
|
|
|
|
zombiesTreeLists = {
|
|
'basic' : new zombiesTreeList('basic'),
|
|
'requester' : new zombiesTreeList('requester')
|
|
};
|
|
|
|
zombieTabs = new ZombieTabs(zombiesTreeLists);
|
|
zombiesManager = new ZombiesMgr(zombiesTreeLists);
|
|
mainPanel = new MainPanel();
|
|
|
|
var viewport = new Ext.Viewport({
|
|
layout:'border',
|
|
items:[
|
|
new Ext.BoxComponent({
|
|
region:'north',
|
|
el: 'header',
|
|
height: 32
|
|
}),
|
|
zombieTabs,
|
|
mainPanel
|
|
]
|
|
});
|
|
|
|
new DoLogout();
|
|
});
|
|
|
|
/*
|
|
* Panel Events Updater
|
|
*
|
|
* This event updater retrieves updates every 8 seconds. Those updates
|
|
* are then pushed to various managers (i.e. the zombie manager).
|
|
*/
|
|
var lastpoll = new Date().getTime();
|
|
|
|
Ext.TaskMgr.start({
|
|
run: function() {
|
|
Ext.Ajax.request({
|
|
url: '<%= @base_path %>/panel/hooked-browser-tree-update.json',
|
|
method: 'POST',
|
|
success: function(response) {
|
|
var updates;
|
|
try {
|
|
updates = Ext.util.JSON.decode(response.responseText);
|
|
} catch (e) {
|
|
//The framework has probably been reset and you're actually logged out
|
|
var hr = document.getElementById("header-right");
|
|
hr.innerHTML = "You appear to be logged out. <a href='<%= @base_path %>/panel/'>Login</a>";
|
|
}
|
|
var distributed_engine_rules = (updates['ditributed-engine-rules']) ? updates['ditributed-engine-rules'] : null;
|
|
var hooked_browsers = (updates['hooked-browsers']) ? updates['hooked-browsers'] : null;
|
|
|
|
if(zombiesManager && hooked_browsers) {
|
|
zombiesManager.updateZombies(hooked_browsers, distributed_engine_rules);
|
|
}
|
|
lastpoll = new Date().getTime();
|
|
var hr = document.getElementById("header-right");
|
|
hr.innerHTML = "";
|
|
},
|
|
failure: function(response) {
|
|
var timenow = new Date().getTime();
|
|
|
|
if ((timenow - lastpoll) > 60000) {
|
|
var hr = document.getElementById("header-right");
|
|
hr.innerHTML = "Framework is down";
|
|
}
|
|
}
|
|
});
|
|
},
|
|
|
|
interval: 8000
|
|
}); |