From 9f84074cb9c803986fd17a73a7f50e1102a16dcc Mon Sep 17 00:00:00 2001 From: Brian Carrier Date: Thu, 19 Nov 2009 22:19:30 +0000 Subject: [PATCH] Added better error message to FILE_EXE check --- base/autopsy.base | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/base/autopsy.base b/base/autopsy.base index bb49a5a075..0cce3db86f 100644 --- a/base/autopsy.base +++ b/base/autopsy.base @@ -483,6 +483,7 @@ while (1) { # Error messages sub forbid { my $ip = shift; + $ip = "" unless defined ($ip); print "HTTP/1.0 403 Forbidden$::HTTP_NL" . "Content-type: text/html$::HTTP_NL$::HTTP_NL" @@ -542,6 +543,8 @@ sub spawn_cli { while () { + last if (/^\s+$/); + if (/^GET \/+(\S*)\s?HTTP/) { my $url = $1; my $script; @@ -593,6 +596,21 @@ sub spawn_cli { # Turn timer off alarm(0); + my $has_ref = 0; + while () { + last if (/^\s+$/); + if (/^Referer: /) { + $has_ref = 1; + last; + } + } + + if (($has_ref == 0) && ($args ne "")) { + Print::log_session_info("ERROR: Missing referer value"); + forbid(); + return 1; + } + # Print status print "HTTP/1.0 200 OK$::HTTP_NL"; ::main($args); @@ -781,16 +799,16 @@ sub check_tools { print "ERROR: Sleuth Kit img_stat executable missing\n"; exit(1); } - unless (-x "$::FILE_EXE") { - print "ERROR: Sleuth Kit (or local) file executable missing\n"; + unless ((defined $::FILE_EXE) && (-x "$::FILE_EXE")) { + print "ERROR: File executable ($::FILE_EXE) missing\n"; exit(1); } unless (-x $::TSKDIR . "/fsstat") { print "ERROR: Sleuth Kit fsstat executable missing\n"; exit(1); } - unless (-x "$::MD5_EXE") { - print "ERROR: md5 executable missing\n"; + unless ((defined $::MD5_EXE) && (-x "$::MD5_EXE")) { + print "ERROR: md5 executable ($::MD5_EXE) missing\n"; exit(1); } if ($::SHA1_EXE ne "") {