Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 60cadf4

Browse files
committed
better regex used
1 parent ef987c6 commit 60cadf4

1 file changed

Lines changed: 9 additions & 9 deletions

File tree

lib/core/common.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3079,25 +3079,25 @@ def __init__(self, content, url):
30793079
def geturl(self):
30803080
return self._url
30813081

3082-
if raise_ and not content:
3082+
if not content:
30833083
errMsg = "can't parse forms as the page content appears to be blank"
3084-
raise sqlmapGenericException, errMsg
3084+
if raise_:
3085+
raise sqlmapGenericException, errMsg
3086+
else:
3087+
logger.debug(errMsg)
30853088

30863089
forms = None
30873090
retVal = set()
30883091
response = _(content, url)
30893092
try:
30903093
forms = ParseResponse(response, backwards_compat=False)
30913094
except ParseError:
3092-
errMsg = "badly formed HTML at the target url. will try to filter it"
3093-
logger.error(errMsg)
3095+
warnMsg = "badly formed HTML at the given url ('%s'). Will try to filter it" % url
3096+
logger.warning(warnMsg)
30943097
response.seek(0)
3095-
filtered = re.findall(r'<form.+?</form>', response.read(), re.I | re.S)
3096-
for i in xrange(len(filtered)):
3097-
filtered[i] = filtered[i][filtered[i].lower().rfind("<form"):]
3098-
response = _("".join(filtered), response.geturl())
3098+
filtered = _("".join(re.findall(r'<form(?!.+<form).+?</form>', response.read(), re.I | re.S)), response.geturl())
30993099
try:
3100-
forms = ParseResponse(response, backwards_compat=False)
3100+
forms = ParseResponse(filtered, backwards_compat=False)
31013101
except ParseError:
31023102
errMsg = "no success"
31033103
if raise_:

0 commit comments

Comments
 (0)