How can the diricons and config parameters be exploited?  From a quick
glance I can't find an open associated with $DirIcons.

I assume $SiteConfig leads to an open() call.

Charles Fry wrote:
> Index: awstats-6.5/wwwroot/cgi-bin/awstats.pl
> ===================================================================
> --- awstats-6.5.orig/wwwroot/cgi-bin/awstats.pl       2005-11-24 
> 15:11:19.000000000 -0500
> +++ awstats-6.5/wwwroot/cgi-bin/awstats.pl    2006-05-05 16:43:12.000000000 
> -0400
> @@ -5542,8 +5542,8 @@
>       # No update but report by default when run from a browser
>       $UpdateStats=($QueryString=~/update=1/i?1:0);
>  
> -     if ($QueryString =~ /config=([^&]+)/i)                          { 
> $SiteConfig=&DecodeEncodedString("$1"); }
> -     if ($QueryString =~ /diricons=([^&]+)/i)                        { 
> $DirIcons=&DecodeEncodedString("$1"); }
> +     if ($QueryString =~ /config=([^&]+)/i)                          { 
> $SiteConfig=&Sanitize(&DecodeEncodedString("$1")); }
> +     if ($QueryString =~ /diricons=([^&]+)/i)                        { 
> $DirIcons=&Sanitize(&DecodeEncodedString("$1")); }
>       if ($QueryString =~ /pluginmode=([^&]+)/i)                      { 
> $PluginMode=&Sanitize(&DecodeEncodedString("$1"),1); }
>       if ($QueryString =~ /configdir=([^&]+)/i)                       { 
> $DirConfig=&Sanitize(&DecodeEncodedString("$1")); }
>       # All filters
> @@ -5561,7 +5561,7 @@
>  
>       # If migrate
>       if ($QueryString =~ /(^|-|&|&)migrate=([^&]+)/i)    {
> -             $MigrateStats=&DecodeEncodedString("$2"); 
> +             $MigrateStats=&Sanitize(&DecodeEncodedString("$2"));
>               $MigrateStats =~ 
> /^(.*)$PROG(\d{0,2})(\d\d)(\d\d\d\d)(.*)\.txt$/;
>               $SiteConfig=$5?$5:'xxx'; $SiteConfig =~ s/^\.//;                
> # SiteConfig is used to find config file
>       }
> @@ -5591,8 +5591,8 @@
>       # Update with no report by default when run from command line
>       $UpdateStats=1;
>  
> -     if ($QueryString =~ /config=([^&]+)/i)                          { 
> $SiteConfig="$1"; }
> -     if ($QueryString =~ /diricons=([^&]+)/i)                        { 
> $DirIcons="$1"; }
> +     if ($QueryString =~ /config=([^&]+)/i)                          { 
> $SiteConfig=&Sanitize("$1"); }
> +     if ($QueryString =~ /diricons=([^&]+)/i)                        { 
> $DirIcons=&Sanitize("$1"); }
>       if ($QueryString =~ /pluginmode=([^&]+)/i)                      { 
> $PluginMode=&Sanitize("$1",1); }
>       if ($QueryString =~ /configdir=([^&]+)/i)                       { 
> $DirConfig=&Sanitize("$1"); }
>       # All filters



Regards,

        Joey


-- 
It's time to close the windows.

Please always Cc to me when replying to me on the lists.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to