From 1d42aba01e4b43eb38b7cd4ce7ade4076dfada99 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Tue, 12 Feb 2013 17:35:14 +0100 Subject: [PATCH] Minor update regarding 093a93938c47aea0c151705f3828c231d4103011 (for goStacked to work properly with stacked conditional payloads - e.g. proper suffix/prefix) --- lib/request/inject.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/request/inject.py b/lib/request/inject.py index 944aaa40e..0b26ed3f6 100644 --- a/lib/request/inject.py +++ b/lib/request/inject.py @@ -16,6 +16,7 @@ from lib.core.common import cleanQuery from lib.core.common import expandAsteriskForColumns from lib.core.common import extractExpectedValue from lib.core.common import getPublicTypeMembers +from lib.core.common import getTechniqueData from lib.core.common import hashDBRetrieve from lib.core.common import hashDBWrite from lib.core.common import initTechnique @@ -416,7 +417,15 @@ def getValue(expression, blind=True, union=True, error=True, time=True, fromUser return extractExpectedValue(value, expected) def goStacked(expression, silent=False): - kb.technique = PAYLOAD.TECHNIQUE.STACKED + if PAYLOAD.TECHNIQUE.STACKED in kb.injection.data: + kb.technique = PAYLOAD.TECHNIQUE.STACKED + else: + for technique in getPublicTypeMembers(PAYLOAD.TECHNIQUE, True): + _ = getTechniqueData(technique) + if _ and "stacked" in _["title"].lower(): + kb.technique = technique + break + expression = cleanQuery(expression) if conf.direct: