From 9975827d2227aa9fca194d64e8f53ea916b6a22e Mon Sep 17 00:00:00 2001 From: Mario Ceballos Date: Sat, 18 Sep 2010 23:59:28 +0000 Subject: [PATCH] updated module from Thomas Ring. git-svn-id: file:///home/svn/framework3/trunk@10371 4d416f70-5f16-0410-b530-b9f4589650da --- modules/auxiliary/scanner/http/cert.rb | 33 +++++--------------------- 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/modules/auxiliary/scanner/http/cert.rb b/modules/auxiliary/scanner/http/cert.rb index 8253369828..94d9a18c19 100644 --- a/modules/auxiliary/scanner/http/cert.rb +++ b/modules/auxiliary/scanner/http/cert.rb @@ -58,29 +58,8 @@ class Metasploit3 < Msf::Auxiliary issuer_pattern = Regexp.new(datastore['ISSUER'], [Regexp::EXTENDED, 'n']) sub = cert.subject.to_a - before_d = "#{cert.not_before}".split - if(! before_d[1] =~ /\d\d\:\d\d:\d\d/ or ! before_d[0] =~ /\d{2,4}\-\d\d-\d\d/) - # this is here out of concerns that the time / date format may vary - print_error("#{ip} - WARNING: Unexpected before date! " + before_d.inspect) - return - end - - before_t = before_d[1].split(":") # get hh:mm:ss - before_d = before_d[0].split('-') # get yyyy-mm-dd - - after_d = "#{cert.not_after}".split - if(! after_d[1] =~ /\d\d\:\d\d:\d\d/ or ! after_d[0] =~ /\d{2,4}\-\d\d-\d\d/) - # this is here out of concerns that the time / date format may vary - print_error("#{ip} - WARNING: Unexpected after date! " + after_d.inspect) - return - end - - after_t = after_d[1].split(":") # get hh:mm:ss - after_d = after_d[0].split('-') # get yyyy-mm-dd - - - before = Time.utc(before_d[0],before_d[1],before_d[2],before_t[0],before_t[1],before_t[2]) - after = Time.utc(after_d[0],after_d[1],after_d[2],after_t[0],after_t[1],after_t[2]) + before = Time.parse("#{cert.not_before}") + after = Time.parse("#{cert.not_after}") now = Time.now a = now <=> before @@ -94,17 +73,17 @@ class Metasploit3 < Msf::Auxiliary end if ( "#{cert.issuer}" !~ /#{issuer_pattern}/) - print_error("#{ip} - '#{vhostn}' : #{cert.issuer} (BAD ISSUER)" ) + print_good("#{ip} - '#{vhostn}' : #{cert.issuer} (BAD ISSUER)" ) elsif datastore['SHOWALL'] # show verbose as status - print_good("#{ip} - '#{vhostn}' : #{cert.issuer}") + print_status("#{ip} - '#{vhostn}' : #{cert.issuer}") end if ( a < 1 or b > 0 ) - print_error("#{ip} - '#{vhostn}' : '" + before.to_s + "' - '" + after.to_s + "' (EXPIRED)'") + print_good("#{ip} - '#{vhostn}' : '" + before.to_s + "' - '" + after.to_s + "' (EXPIRED)'") elsif # show verbose as status - print_good("#{ip} - '#{vhostn}' : '" + before.to_s + "' A- '" + after.to_s + "'") + print_status("#{ip} - '#{vhostn}' : '" + before.to_s + "' - '" + after.to_s + "'") end report_note(