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

Skip to content

Commit bdbe8ff

Browse files
committed
Fix for an Issue #132
1 parent 47073f4 commit bdbe8ff

1 file changed

Lines changed: 30 additions & 21 deletions

File tree

lib/core/common.py

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3009,28 +3009,37 @@ def geturl(self):
30093009

30103010
if forms:
30113011
for form in forms:
3012-
for control in form.controls:
3013-
if hasattr(control, "items"):
3014-
# if control has selectable items select first non-disabled
3015-
for item in control.items:
3016-
if not item.disabled:
3017-
if not item.selected:
3018-
item.selected = True
3019-
break
3020-
3021-
request = form.click()
3022-
url = urldecode(request.get_full_url(), kb.pageEncoding)
3023-
method = request.get_method()
3024-
data = request.get_data() if request.has_data() else None
3025-
data = urldecode(data, kb.pageEncoding) if data and urlencode(DEFAULT_GET_POST_DELIMITER, None) not in data else data
3026-
3027-
if not data and method and method.upper() == HTTPMETHOD.POST:
3028-
debugMsg = "invalid POST form with blank data detected"
3029-
logger.debug(debugMsg)
3030-
continue
3012+
try:
3013+
for control in form.controls:
3014+
if hasattr(control, "items"):
3015+
# if control has selectable items select first non-disabled
3016+
for item in control.items:
3017+
if not item.disabled:
3018+
if not item.selected:
3019+
item.selected = True
3020+
break
3021+
3022+
request = form.click()
3023+
except (ValueError, TypeError), ex:
3024+
errMsg = "there has been a problem while "
3025+
errMsg += "processing page forms ('%s')" % ex
3026+
if raise_:
3027+
raise sqlmapGenericException, errMsg
3028+
else:
3029+
logger.debug(errMsg)
3030+
else:
3031+
url = urldecode(request.get_full_url(), kb.pageEncoding)
3032+
method = request.get_method()
3033+
data = request.get_data() if request.has_data() else None
3034+
data = urldecode(data, kb.pageEncoding) if data and urlencode(DEFAULT_GET_POST_DELIMITER, None) not in data else data
3035+
3036+
if not data and method and method.upper() == HTTPMETHOD.POST:
3037+
debugMsg = "invalid POST form with blank data detected"
3038+
logger.debug(debugMsg)
3039+
continue
30313040

3032-
target = (url, method, data, conf.cookie)
3033-
retVal.add(target)
3041+
target = (url, method, data, conf.cookie)
3042+
retVal.add(target)
30343043
else:
30353044
errMsg = "there were no forms found at the given target url"
30363045
if raise_:

0 commit comments

Comments
 (0)