#
# DEFAULT VALUES FOR VARIOUS ELZA VARIABLES. PLEASE REVIEW.
#

# ========================================================================
# STEP 1 - Choosing the operating system
# ========================================================================

# Uncomment the line below to show that you have reviewed elza.def

$DefaultsReviewed = 1

# Uncomment the line below if running in Win32 environment

use Win32::Process;	use Win32;


# ========================================================================
# STEP 1A - Choosing authentication mechanism
# ========================================================================

# If you plan to talk to sites that use Basic authentication, uncomment
# the line below. You will also need the MIME::Base64 module from CPAN

#use MIME::Base64;

# If you plan to talk to sites that use Basic authentication, uncomment
# the line below. You will also need the Digest:MD5 module from CPAN

#use Digest::MD5;

# ========================================================================
# STEP 1B - Keepalive
# ========================================================================

$VAR{'keepalive'} = 'on';

# ========================================================================
# STEP 2 - Setting up the SSL tunnel
# ========================================================================

$VAR{'ssllocal'} = "24442";	# Local port to bind the SSL tunnel to

# Please uncomment the set pertaining to your system.
# SSLHOST and SSLPORT will be replaced by the ELZA with
# the appropriate values at runtime.

# SET FOR WIN32 (tested with stunnel on Win95)

$DEF{'sslapp'} = "c:\\win-util\\stunnel.exe";
$DEF{'sslcmd'} = "stunnel -c -d 127.0.0.1:SSLLOCAL -r SSLHOST:SSLPORT -D 1";
$DEF{'sslconsole'} = 1;		# Set to 1 to see the console

# SET FOR UNIX (tested with stunnel on Debian Linux)

#$DEF{'sslapp'} = "stunnel";	# This name will be passed to KILLALL
#$DEF{'sslcmd'} = "/usr/sbin/stunnel -c -d 127.0.0.1:$DEF{'ssllocal'} -r SSLHOST:SSLPORT -D 1";

# ========================================================================
# STEP 3 - Proxies
# ========================================================================

# HTTP Proxy configuration.
# NOTE:SSL requests are piped through the SSL tunnel, not the proxy.

#$VAR{'proxyhost'} = 'proxy.bgnet.bg';
#$VAR{'proxyport'} = '3128';

# SOCKS proxy configuration.

# Uncomment the line below to load the SOCKS module.

#use Net::SOCKS;

#$VAR{'sockshost'} = '127.0.0.1';
#$VAR{'socksport'} = 1080;
#$VAR{'socksversion'} = 5;

#$VAR{'socksuser'} = 'foo';
#$VAR{'sockspassword'} = 'bar';


# ========================================================================
# STEP 4 - Dumping
# ========================================================================

# Make ELZA completely silent?

#$VAR{'silent'} = 'on';

# Output debugging information?

#$VAR{'debug'} = 'on';

# Default file for raw output

#$VAR{'rawfile'} = 'raw.out';

# Options for what should be dumped. Comment out those you do not need.

# Dump the literal request we send?

$VAR{'dumprequest'} = '1';

# Dump the headers of the response?

$VAR{'dumpheaders'} = '1';

# Dump the body of the response? - basically between <HTML> and </HTML>

$VAR{'dumpbody'} = '1';

# Temporary files where the current attack position will be saved so that
# the attack can be resumed.

$VAR{'tmpfile'} = 'elza.tmp';

# ========================================================================
# STEP 5 - Defaults for various things
# ========================================================================

# Those can also be changed from within the script files.

# Default action upon error condition

$VAR{'onerror'} = 'exit';

# Default User-Agent - IE5

$VAR{'agent'} = "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)";

# Default host - if none specified in the first request

$DEF{'host'} = 'localhost';

# Send User-Agent?

$VAR{'sendagent'} = 'on';

# Encode URLs to bypass IDS alarms? Courtesy of r.f.p. (rfp@wiretrip.net)

#$VAR{'encode'} = 'on';

# Send various other HTTP request fields?

$DEF{'headers'}.= "X-Elza: Request generated by the ELZA script ver. $DEF{'version'}.\n";
$DEF{'headers'}.= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, */*\n";
$DEF{'headers'}.= "Accept-Language: en\n";
$DEF{'headers'}.= "UA-pixels: 640x480\n";
$DEF{'headers'}.= "UA-color: color16\n";
$DEF{'headers'}.= "UA-OS: Windows 95\n";
$DEF{'headers'}.= "UA-CPU: x86\n";

# Follow 302 Moved redirects automatically?

$VAR{'autoredir'} = 'on';

# Follow HTTP-EQUIV refreshes automatically?

$VAR{'autorefresh'} = 'on';

# ========================================================================
# VARIABLES BELOW THIS LINE DO NOT REQUIRE CHANGING
# ========================================================================

# Default URL prefixes and port assignments

$DEF{'port'} = '80';
$DEF{'sslport'} = '443';
$DEF{'http'} = 'http://';
$DEF{'https'} = 'https://';
$DEF{'protocol'} = 'HTTP/1.0';

# Bracketz

$LeftBrack = '<';			$RightBrack = '>';

# Those are the various tags that the tag processor can look for.

$TagBegin{'base'} = '<base ';		$TagVal{'base'} = 'href';
$TagBegin{'link'} = '<a ';		$TagVal{'link'} = 'href';
$TagClose{'link'} = '</a>';
$TagBegin{'hidden'} = '<input ';	$TagVal{'hidden'} = 'value';
$TagBegin{'form'} = '<form '; 		$TagVal{'form'} = 'action';
$TagBegin{'frame'} = '<frame ';		$TagVal{'frame'} = 'src';
$TagBegin{'layer'} = '<layer ';		$TagVal{'layer'} = 'src';
$TagBegin{'refresh'} = '<meta ';	$TagVal{'refresh'} = 'content';
$TagBegin{'ilayer'} = '<ilayer ';	$TagVal{'ilayer'} = 'src';
$TagBegin{'area'} = '<area ';		$TagVal{'area'} = 'href';
$TagBegin{'applet'} = '<applet ';	$TagClose{'applet'} = '</applet>';
$TagBegin{'param'} = '<param ';		$TagVal{'param'} = 'value';
$TagBegin{'image'} = '<img ';		$TagVal{'image'} = 'src';

# Those are tags that can appear in forms and be used to extract data
# ot set the container

$TagBegin{'option'} = '<option';	$TagEnd{'option'} = '</option>';
$TagBegin{'input'} = '<input ';		$TagEnd{'input'} = '</input>';
$TagBegin{'select'} = '<select ';	$TagEnd{'select'} = '</select>';
$TagBegin{'textarea'} = '<textarea ';	$TagEnd{'textarea'} = '</textarea';

# And, finally, some other tags

$TagBegin{'table'} = '<table';		$TagEnd{'table'} = '</table>';
$TagBegin{'row'} = '<tr';		$TagEnd{'row'} = '</tr>';
$TagBegin{'cell'} = '<td';		$TagEnd{'cell'} = '</td>';
$TagBegin{'title'} = '<title';		$TagEnd{'title'} = '</title>';
$TagBegin{'address'} = '<address';	$TagEnd{'address'} = '</address>';
$TagBegin{'blockquote'} = '<blockquote';$TagEnd{'blockquote'} = '</blockquote>';
$TagBegin{'div'} = '<div';		$TagEnd{'div'} = '</div>';
$TagBegin{'p'} = '<p';		$TagEnd{'p'} = '</p>';
$TagBegin{'pre'} = '<pre';		$TagEnd{'pre'} = '</pre>';
$TagBegin{'xmp'} = '<xmp';		$TagEnd{'xmp'} = '</xmp>';
$TagBegin{'caption'} = '<caption';	$TagEnd{'caption'} = '</caption>';
$TagBegin{'th'} = '<th';		$TagEnd{'th'} = '</th>';



# Print message if elza.def is executed on its own
if ($DEF{'version'} eq '') { print "This file is not indended to be executed on its own.\n"}
