mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-05-03 07:13:43 +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:
|
if forms:
|
||||||
for form in forms:
|
for form in forms:
|
||||||
for control in form.controls:
|
try:
|
||||||
if hasattr(control, "items"):
|
for control in form.controls:
|
||||||
# if control has selectable items select first non-disabled
|
if hasattr(control, "items"):
|
||||||
for item in control.items:
|
# if control has selectable items select first non-disabled
|
||||||
if not item.disabled:
|
for item in control.items:
|
||||||
if not item.selected:
|
if not item.disabled:
|
||||||
item.selected = True
|
if not item.selected:
|
||||||
break
|
item.selected = True
|
||||||
|
break
|
||||||
|
|
||||||
request = form.click()
|
request = form.click()
|
||||||
url = urldecode(request.get_full_url(), kb.pageEncoding)
|
except (ValueError, TypeError), ex:
|
||||||
method = request.get_method()
|
errMsg = "there has been a problem while "
|
||||||
data = request.get_data() if request.has_data() else None
|
errMsg += "processing page forms ('%s')" % ex
|
||||||
data = urldecode(data, kb.pageEncoding) if data and urlencode(DEFAULT_GET_POST_DELIMITER, None) not in data else data
|
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:
|
if not data and method and method.upper() == HTTPMETHOD.POST:
|
||||||
debugMsg = "invalid POST form with blank data detected"
|
debugMsg = "invalid POST form with blank data detected"
|
||||||
logger.debug(debugMsg)
|
logger.debug(debugMsg)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
target = (url, method, data, conf.cookie)
|
target = (url, method, data, conf.cookie)
|
||||||
retVal.add(target)
|
retVal.add(target)
|
||||||
else:
|
else:
|
||||||
errMsg = "there were no forms found at the given target url"
|
errMsg = "there were no forms found at the given target url"
|
||||||
if raise_:
|
if raise_:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user