> I made a script that show /var/log/messages* when you
> press submit.  But!!! It doesn't come out to the last
> when the file size is upper than the few MB.
>
> ... [SNIP] ...
> 
> if ( $q->param( "show" ) ) {
>       open( LOG, $q->param( "check" ) );
>       @log = <LOG>;
>       close( LOG );
> }

Err... /var/log/messages can be big, and putting the whole
lot into @log is going to take some time.

Secondly, you are allowing the user to open whatever file
they please.  A user could put something like "rm -fr /*"
into the "check" parameter, then your script will kindly
execute that command as part of the open.  I assume this is
for internal use only, but if you care about
/var/log/messages you might care about the security issues
too.  Add the taint mode switch (-T) to the #! line.

> foreach ( @list = sort( </var/log/messages*> ) ) {
>       $labels{ $_ } = $_;
> }

Is /var/log/messages* a file or a group of files?  From the
context of the problem I assume it's a list of files.  I
should read up on that :)

> [SNIP]

Using CGI scripts for system administration might be the
thing of the day, but perhaps a NFS read-only export of
/var/log/ might be more appropriate - then you can use the
various tools already written for surfing these huge files.

Even if you tackle the issue of the script being secure,
the general availablity of /var/log/messages to anyone is a
security risk.  This file documents failure of parts of the
system software, and a cracker may use it to exploit any
security holes that may occur when this happens.

In summary... take care and have a good day :)

Jonathan Paton

__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to