MCPcopy
hub / github.com/s0md3v/XSStrike / jsContexter

Function jsContexter

core/jsContexter.py:7–34  ·  view source on GitHub ↗
(script)

Source from the content-addressed store, hash-verified

5
6
7def jsContexter(script):
8 broken = script.split(xsschecker)
9 pre = broken[0]
10 # remove everything that is between {..}, "..." or '...'
11 pre = re.sub(r'(?s)\{.*?\}|\(.*?\)|".*?"|\'.*?\'', '', pre)
12 breaker = ''
13 num = 0
14 for char in pre: # iterate over the remaining characters
15 if char == '{':
16 breaker += '}'
17 elif char == '(':
18 breaker += ';)' # yes, it should be ); but we will invert the whole thing later
19 elif char == '[':
20 breaker += ']'
21 elif char == '/':
22 try:
23 if pre[num + 1] == '*':
24 breaker += '/*'
25 except IndexError:
26 pass
27 elif char == '}': # we encountered a } so we will strip off "our }" because this one does the job
28 breaker = stripper(breaker, '}')
29 elif char == ')': # we encountered a ) so we will strip off "our }" because this one does the job
30 breaker = stripper(breaker, ')')
31 elif breaker == ']': # we encountered a ] so we will strip off "our }" because this one does the job
32 breaker = stripper(breaker, ']')
33 num += 1
34 return breaker[::-1] # invert the breaker string

Callers 1

generatorFunction · 0.90

Calls 1

stripperFunction · 0.90

Tested by

no test coverage detected