From c3d191e6260e8e80fb442f286c6aefc3e28a3bf8 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Thu, 6 Sep 2012 14:13:54 +0200 Subject: [PATCH] Minor update for an Issue #2 --- lib/controller/controller.py | 13 +++++++------ lib/core/settings.py | 3 +++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/controller/controller.py b/lib/controller/controller.py index 342a2fb9a..73ec08260 100644 --- a/lib/controller/controller.py +++ b/lib/controller/controller.py @@ -161,12 +161,13 @@ def __randomFillBlankFields(value): message = "do you want to fill blank fields with random values? [Y/n] " test = readInput(message, default="Y") if not test or test[0] in ("y", "Y"): - while extractRegexResult(EMPTY_FORM_FIELDS_REGEX, retVal): - item = extractRegexResult(EMPTY_FORM_FIELDS_REGEX, retVal) - if item[-1] == DEFAULT_GET_POST_DELIMITER: - retVal = retVal.replace(item, "%s%s%s" % (item[:-1], randomStr(), DEFAULT_GET_POST_DELIMITER)) - else: - retVal = retVal.replace(item, "%s%s" % (item, randomStr())) + for match in re.finditer(EMPTY_FORM_FIELDS_REGEX, retVal): + item = match.group("result") + if not any(_ in item for _ in IGNORE_PARAMETERS): + if item[-1] == DEFAULT_GET_POST_DELIMITER: + retVal = retVal.replace(item, "%s%s%s" % (item[:-1], randomStr(), DEFAULT_GET_POST_DELIMITER)) + else: + retVal = retVal.replace(item, "%s%s" % (item, randomStr())) return retVal diff --git a/lib/core/settings.py b/lib/core/settings.py index 23d9613ae..ca0f20b3e 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -455,3 +455,6 @@ MAX_HELP_OPTION_LENGTH = 18 # Strings for detecting formatting errors FORMAT_EXCEPTION_STRINGS = ("Type mismatch", "Error converting", "Failed to convert", "System.FormatException", "java.lang.NumberFormatException") + +# Regular expression used for extracting ASP.NET View State values +VIEWSTATE_REGEX = r'(?P__VIEWSTATE[^"]*)[^>]+value="(?P[^"]+)'