From 5575d8848ea81bbedc20418ecaec9d5825d58c83 Mon Sep 17 00:00:00 2001 From: "mosse.benjamin" Date: Sat, 13 Nov 2010 05:04:47 +0000 Subject: [PATCH] adding the squeleton for the requester proxy git-svn-id: https://beef.googlecode.com/svn/trunk@514 b87d56ec-f9c0-11de-8c8a-61c5e9addfc9 --- beef.rb | 4 ++++ lib/loader.rb | 2 ++ lib/modules/requester.rb | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 lib/modules/requester.rb diff --git a/beef.rb b/beef.rb index 1dc135926..f47596ad2 100644 --- a/beef.rb +++ b/beef.rb @@ -18,6 +18,10 @@ BeEF::Migration.instance.update_db! BeEF::Console::Banner.generate +# start the requester proxy +#requester_proxy = BeEF::Requester::ProxyServer.instance +#requester_proxy.start + # start the hook server http_hook_server = BeEF::HttpHookServer.instance http_hook_server.start diff --git a/lib/loader.rb b/lib/loader.rb index 8e5a7c519..919c02cb0 100644 --- a/lib/loader.rb +++ b/lib/loader.rb @@ -1,5 +1,6 @@ require 'rubygems' require 'webrick' +require 'webrick/httpproxy' require 'dm-core' require 'dm-migrations' require 'json' @@ -56,6 +57,7 @@ require 'lib/server/inithandler' require 'lib/logger' require 'lib/modules/command' +require 'lib/modules/requester' require 'openssl' diff --git a/lib/modules/requester.rb b/lib/modules/requester.rb new file mode 100644 index 000000000..7bdb62cf2 --- /dev/null +++ b/lib/modules/requester.rb @@ -0,0 +1,37 @@ +module BeEF +module Requester + + # Setting up the proxy server for the Requester + class ProxyServer + + include Singleton + + def initialize + @config = { + :Port => 8080, + :BindAddress => '127.0.0.1', + :Logger => WEBrick::Log.new($stdout, WEBrick::Log::ERROR), + :ServerType => Thread, + :RequestCallback => BeEF::Requester::ProxyHttpHandler.new + } + + @server = WEBrick::HTTPProxyServer.new @config + + trap("INT"){@server.shutdown} + end + + def start + @server.start + end + + end + + # The http handler that receives requests + class ProxyHttpHandler + def call(req, res) + #puts req.request_line, req.raw_header + end + end + +end +end \ No newline at end of file