该脚本用于检测 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.