|
116 | 116 | from lib.core.settings import ML |
117 | 117 | from lib.core.settings import MIN_TIME_RESPONSES |
118 | 118 | from lib.core.settings import PAYLOAD_DELIMITER |
119 | | -from lib.core.settings import REFLECTED_NON_ALPHA_NUM_REGEX |
| 119 | +from lib.core.settings import REFLECTED_REPLACEMENT_REGEX |
120 | 120 | from lib.core.settings import REFLECTED_MAX_REGEX_PARTS |
121 | 121 | from lib.core.settings import REFLECTED_VALUE_MARKER |
122 | 122 | from lib.core.settings import TIME_STDEV_COEFF |
@@ -2627,17 +2627,17 @@ def removeReflectiveValues(content, payload, suppressWarning=False): |
2627 | 2627 | if all([content, payload]) and isinstance(content, unicode) and kb.reflectiveMechanism: |
2628 | 2628 | payload = getUnicode(urldecode(payload.replace(PAYLOAD_DELIMITER, ''))) |
2629 | 2629 |
|
2630 | | - regex = r"\b%s\b" % filterStringValue(payload, r'[A-Za-z0-9]', REFLECTED_NON_ALPHA_NUM_REGEX.encode("string-escape")) |
| 2630 | + regex = filterStringValue(payload, r'[A-Za-z0-9]', REFLECTED_REPLACEMENT_REGEX.encode("string-escape")) |
2631 | 2631 |
|
2632 | | - while 2 * REFLECTED_NON_ALPHA_NUM_REGEX in regex: |
2633 | | - regex = regex.replace(2 * REFLECTED_NON_ALPHA_NUM_REGEX, REFLECTED_NON_ALPHA_NUM_REGEX) |
| 2632 | + while 2 * REFLECTED_REPLACEMENT_REGEX in regex: |
| 2633 | + regex = regex.replace(2 * REFLECTED_REPLACEMENT_REGEX, REFLECTED_REPLACEMENT_REGEX) |
2634 | 2634 |
|
2635 | | - if all(part.lower() in content.lower() for part in regex.strip('\\b').split(REFLECTED_NON_ALPHA_NUM_REGEX)): # fast optimization check |
2636 | | - parts = regex.split(REFLECTED_NON_ALPHA_NUM_REGEX) |
| 2635 | + if all(part.lower() in content.lower() for part in regex.split(REFLECTED_REPLACEMENT_REGEX)): # fast optimization check |
| 2636 | + parts = regex.split(REFLECTED_REPLACEMENT_REGEX) |
2637 | 2637 | if len(parts) > REFLECTED_MAX_REGEX_PARTS: # preventing CPU hogs |
2638 | | - regex = "%s.+?%s" % (REFLECTED_NON_ALPHA_NUM_REGEX.join(parts[:REFLECTED_MAX_REGEX_PARTS / 2]), REFLECTED_NON_ALPHA_NUM_REGEX.join(parts[-REFLECTED_MAX_REGEX_PARTS / 2:])) |
| 2638 | + regex = "%s.+?%s" % (REFLECTED_REPLACEMENT_REGEX.join(parts[:REFLECTED_MAX_REGEX_PARTS / 2]), REFLECTED_REPLACEMENT_REGEX.join(parts[-REFLECTED_MAX_REGEX_PARTS / 2:])) |
2639 | 2639 |
|
2640 | | - retVal = re.sub(regex, REFLECTED_VALUE_MARKER, content, re.I) |
| 2640 | + retVal = re.sub(r"(?i)\b%s\b" % regex, REFLECTED_VALUE_MARKER, content) |
2641 | 2641 |
|
2642 | 2642 | if retVal != content: |
2643 | 2643 | kb.reflectiveCounters[REFLECTIVE_COUNTER.HIT] += 1 |
|
0 commit comments