该脚本用于检测 CVE-2024-23113,这是 FortiGate FGFM 服务(FortiGate 到 FortiManager 协议)中的一个格式字符串漏洞,运行在 TCP 端口 541 上。该漏洞的产生是因为攻击者可以控制一个格式字符串,可能导致远程代码执行(RCE)或其他意外行为。FGFM 服务允许 FortiGate 设备与 FortiManager 之间进行配置管理通信,未打补丁的版本对输入的处理不当,容易受到格式字符串漏洞攻击。
建立网络连接:
ssl.SSLContext 对象并禁用证书验证来建立连接,因为设备可能使用自签名证书。构建负载:
authip=%n)构建恶意负载。%n 指令告诉系统将迄今为止已输出的字节数写入一个变量,这可能导致内存损坏。检测逻辑:
_FORTIFY_SOURCE),表明目标存在漏洞。运行脚本: 使用 Python 3 运行脚本:
python check_vulnerability.py
输入主机名/IP:
exit。输出:
如果目标存在漏洞,脚本将输出:
[!] Warning: <hostname> is vulnerable!
如果目标已打补丁,则输出:
[+] <hostname> appears to be patched.