mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-02-03 05:04:11 +03:00
Fix for an Issue #132
This commit is contained in:
parent
47073f4afd
commit
bdbe8ff9d9
|
@ -3009,28 +3009,37 @@ def findPageForms(content, url, raise_=False, addToTargets=False):
|
|||
|
||||
if forms:
|
||||
for form in forms:
|
||||
for control in form.controls:
|
||||
if hasattr(control, "items"):
|
||||
# if control has selectable items select first non-disabled
|
||||
for item in control.items:
|
||||
if not item.disabled:
|
||||
if not item.selected:
|
||||
item.selected = True
|
||||
break
|
||||
try:
|
||||
for control in form.controls:
|
||||
if hasattr(control, "items"):
|
||||
# if control has selectable items select first non-disabled
|
||||
for item in control.items:
|
||||
if not item.disabled:
|
||||
if not item.selected:
|
||||
item.selected = True
|
||||
break
|
||||
|
||||
request = form.click()
|
||||
url = urldecode(request.get_full_url(), kb.pageEncoding)
|
||||
method = request.get_method()
|
||||
data = request.get_data() if request.has_data() else None
|
||||
data = urldecode(data, kb.pageEncoding) if data and urlencode(DEFAULT_GET_POST_DELIMITER, None) not in data else data
|
||||
request = form.click()
|
||||
except (ValueError, TypeError), ex:
|
||||
errMsg = "there has been a problem while "
|
||||
errMsg += "processing page forms ('%s')" % ex
|
||||
if raise_:
|
||||
raise sqlmapGenericException, errMsg
|
||||
else:
|
||||
logger.debug(errMsg)
|
||||
else:
|
||||
url = urldecode(request.get_full_url(), kb.pageEncoding)
|
||||
method = request.get_method()
|
||||
data = request.get_data() if request.has_data() else None
|
||||
data = urldecode(data, kb.pageEncoding) if data and urlencode(DEFAULT_GET_POST_DELIMITER, None) not in data else data
|
||||
|
||||
if not data and method and method.upper() == HTTPMETHOD.POST:
|
||||
debugMsg = "invalid POST form with blank data detected"
|
||||
logger.debug(debugMsg)
|
||||
continue
|
||||
if not data and method and method.upper() == HTTPMETHOD.POST:
|
||||
debugMsg = "invalid POST form with blank data detected"
|
||||
logger.debug(debugMsg)
|
||||
continue
|
||||
|
||||
target = (url, method, data, conf.cookie)
|
||||
retVal.add(target)
|
||||
target = (url, method, data, conf.cookie)
|
||||
retVal.add(target)
|
||||
else:
|
||||
errMsg = "there were no forms found at the given target url"
|
||||
if raise_:
|
||||
|
|
Loading…
Reference in New Issue
Block a user