From b72ca9dcc8cfdbdd811ee1ebff7a311af1c8c15b Mon Sep 17 00:00:00 2001 From: Tod Beardsley Date: Wed, 14 Sep 2011 16:41:30 +0000 Subject: [PATCH] Fixes #5452. Fixes #5446 for real. Breaks up the regex to more managable registers, ensures that nil is never returned. git-svn-id: file:///home/svn/framework3/trunk@13729 4d416f70-5f16-0410-b530-b9f4589650da --- lib/rex/parser/acunetix_nokogiri.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/rex/parser/acunetix_nokogiri.rb b/lib/rex/parser/acunetix_nokogiri.rb index 3ad0e61cba..255060e1fc 100644 --- a/lib/rex/parser/acunetix_nokogiri.rb +++ b/lib/rex/parser/acunetix_nokogiri.rb @@ -281,8 +281,10 @@ module Rex # sometimes it's "URL encoded POST," and sometimes it might be something # else. def parse_method(meth) - real_method = meth.match(/^(\s*(GET|POST|PATH))|(\s+(GET|POST|PATH)\s*$)/) - real_method ? real_method[4] : "GET" + verbs = "(GET|POST|PATH)" + real_method = meth.match(/^\s*#{verbs}/) + real_method ||= meth.match(/\s*#{verbs}\s*$/) + ( real_method && real_method[1] ) ? real_method[1] : "GET" end def report_host(&block)