Networking

4

 

Using External Web-Hosted CGI Scripts

 

 

 

 

 

@array2 = split('=',$var);

 

if

($array2[0] =~

/^UserName$/) { $username = $array2[1]; }

if

($array2[0] =~

/^Password$/) { $password = $array2[1]; }

if

($array2[0] =~

/^challenge$/)

{ $challenge = $array2[1]; }

if

($array2[0] =~

/^button$/) { $button = $array2[1]; }

if

($array2[0] =~

/^logout$/) { $logout = $array2[1]; }

if

($array2[0] =~

/^prelogin$/) { $prelogin = $array2[1]; }

if

($array2[0] =~

/^res$/) { $res = $array2[1]; }

if

($array2[0] =~

/^uamip$/) { $uamip = $array2[1]; }

if

($array2[0] =~

/^uamport$/) {

$uamport = $array2[1]; }

if

($array2[0] =~

/^userurl$/)

{ $userurl = $array2[1]; }

if

($array2[0] =~

/^timeleft$/)

{ $timeleft = $array2[1]; }

if

($array2[0] =~

/^redirurl$/)

{ $redirurl = $array2[1]; }

}

 

 

 

#Read query parameters which we care

about

@array

= split('&',$query);

 

foreach $var ( @array

)

 

{

 

 

 

@array2 = split('=',$var);

 

if

($array2[0] =~

/^res$/)

{ $res = $array2[1]; }

if

($array2[0] =~

/^challenge$/)

{ $challenge = $array2[1]; }

if

($array2[0] =~

/^uamip$/)

{ $uamip = $array2[1]; }

if

($array2[0] =~

/^uamport$/)

{ $uamport = $array2[1]; }

if

($array2[0] =~

/^reply$/)

{ $reply = $array2[1]; }

if

($array2[0] =~

/^userurl$/)

{ $userurl = $array2[1]; }

if

($array2[0] =~

/^timeleft$/)

{ $timeleft = $array2[1]; }

if

($array2[0] =~

/^redirurl$/)

{ $redirurl = $array2[1]; }

}

 

 

 

$reply

=~ s/\+/ /g;

 

 

$reply

=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/seg;

$userurldecode = $userurl; $userurldecode =~ s/\+/ /g;

$userurldecode =~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/seg;

$redirurldecode = $redirurl; $redirurldecode =~ s/\+/ /g;

$redirurldecode =~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/seg;

$password =~ s/\+/ /g;

$password =~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/seg;

# If attempt to login

if ($button =~ /^Login$/) {

$hexchal = pack "H32", $challenge; if (defined $uamsecret) {

$newchal = md5($hexchal, $uamsecret);

}

else {

$newchal = $hexchal;

}

$response = md5_hex("\0", $password, $newchal);

Cisco ISA500 Series Integrated Security Appliances Administration Guide

188

Page 188
Image 188
Casio ISA550WBUN3K9 manual Networking