-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathparseExploitRequirements.src
47 lines (41 loc) · 2.03 KB
/
parseExploitRequirements.src
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
parseExploitRequirements = function(exploits)
list.applyFunction = function(func)
for i in range(self.len - 1)
self[i] = func(self[i])
end for
return self
end function
getExploitNames = function(exploits)
exploits = exploits.split("Unsafe check: ")[1:]
for i in range(exploits.len - 1)
exploits[i] = exploits[i].split("<b>")[1].split("</b>")[0]
end for
return exploits
end function
getExploitRequirementType = function(requirement)
if not requirement.indexOf("guest active user") == null then return "activeGuest"
if not requirement.indexOf("an active user") == null then return "activeUser"
if not requirement.indexOf("root active user") == null then return "activeRoot"
if not requirement.indexOf("registered users equal") == null then return "registeredUsers:" + requirement.split("to ")[1].split("\.")[0]
if not requirement.indexOf("port forwarding") == null then return "portForwards:" + requirement.split(" port forwarding")[0].replace(" ","")
if not requirement.indexOf("namespace") == null then return ("namespace:" + requirement.split("namespace ")[1].split(" compiled")[0] + ":" + requirement.split(">= ")[1].replace(" ","")).replace("<b>","").replace("</b>","")
if not requirement.indexOf("path") == null then return "path:" + requirement.split("path ")[1].split(" exists")[0]
return "0"
end function
getCurrentRequirements = function(exploit)
reqs = exploit.split("\*")[1:]
if reqs.len == 0 then return []
for i in range(reqs.len - 1)
reqs[i] = getExploitRequirementType(reqs[i])
end for
return reqs
end function
ExploitNames = getExploitNames(exploits)
ExploitRequirements = exploits.split("Unsafe check: ")[1:]
ExploitRequirements.applyFunction(@getCurrentRequirements)
Exploits = {}
for i in range(ExploitNames.len - 1)
Exploits[ExploitNames[i]] = ExploitRequirements[i]
end for
return Exploits
end function