1. CVE-2019-11510(Pulse Secure VPN 任意文件读取漏洞)
漏洞原理
Pulse Secure VPN(客户端)在处理特定HTTP请求时,存在路径遍历漏洞。由于对文件路径的验证不充分,攻击者可通过构造包含
../
(路径遍历)的URL,绕过目录限制,访问服务器上的任意文件(如系统文件、配置文件、证书等)。该漏洞源于Web服务对用户输入的文件路径未做严格过滤,导致可以读取敏感文件。
利用方式
攻击者通过发送精心构造的HTTP请求,利用路径遍历参数访问敏感文件:
示例请求:
GET /dana-na/../etc/passwd HTTP/1.1
(或URL编码形式..%2f
)。可读取文件包括:①系统文件(如
/etc/passwd
,获取系统用户信息);②VPN配置文件(如/etc/hosts
、SSL证书文件、用户数据库);③日志文件(如访问日志、审计日志),获取用户行为信息。
防御措施
升级修复:立即升级到Pulse Secure官方发布的修复版本(如 9.1R11及以上)。
输入验证:在Web服务层(如Tomcat、Apache)对文件路径进行严格的白名单检查,禁止包含
../
、..%2f
等路径遍历字符。权限控制:限制Web服务对敏感文件的访问权限,遵循“最小权限原则”。
监控审计:部署入侵检测系统(IDS),监控异常文件读取请求(如频繁访问
/etc/passwd
)。
2. CVE-2018-13379(Fortinet FortiOS SSL VPN 路径遍历漏洞)
漏洞原理
Fortinet FortiOS(SSL VPN模块)在处理HTTP请求时,未正确过滤文件路径中的特殊字符(如
..%2f
,即URL编码的../
),导致路径遍历漏洞。攻击者可借此访问服务器上的任意文件,包括系统文件、VPN配置文件或用户凭证文件。
利用方式
攻击者构造包含路径遍历参数的HTTP请求,读取敏感文件:
示例请求:
GET /remote/fgt_lang?lang=/../../../../../../etc/passwd HTTP/1.1
(通过..%2f
解码为../
,遍历到系统根目录)。可读取文件包括:①系统文件(如
/etc/passwd
,获取系统用户信息);②FortiOS配置文件(如/config/user/system
,包含VPN用户凭证、加密密钥);③日志文件(如VPN访问日志)。
防御措施
升级修复:升级到FortiOS 6.0.9及以上或 6.2.3及以上版本。
URL过滤:在Web服务器(如Apache、Nginx)层面配置URL重写规则,禁止包含
..%2f
、../
等路径遍历模式的请求。文件权限:限制VPN用户对系统文件的访问权限,使用文件系统权限控制(如
chmod
)。日志审计:定期审计VPN服务器的文件访问日志,检测异常读取行为(如非授权访问
/config/
目录)。
3. CVE-2018-1579(Palo Alto Networks GlobalProtect VPN 反射型XSS漏洞)
漏洞原理
Palo Alto Networks GlobalProtect VPN门户存在反射型XSS(跨站脚本)漏洞。由于对用户输入(如URL参数、表单字段)未进行充分的输出编码,攻击者可注入恶意JavaScript代码。当管理员或用户访问包含XSS payload的页面时,脚本会在浏览器中执行,窃取会话cookie、重定向到恶意网站或执行其他恶意操作。
利用方式
攻击者构造包含XSS payload的URL,并通过钓鱼邮件、社交工程等方式诱使用户点击:
示例URL:
http://vpn.example.com/global-protect/login.esp?error=<script>alert(document.cookie)</script>
当用户访问该URL时,脚本执行,攻击者可获取用户的会话cookie,进而冒充用户登录VPN,访问内部网络资源。
防御措施
升级修复:升级到Palo Alto Networks官方发布的修复版本(如 PAN-OS 8.1.2及以上)。
输入输出过滤:对所有用户输入进行严格的输入验证(如正则表达式匹配,禁止特殊字符
<script>
、javascript:
等);对输出到页面的内容进行HTML实体编码(如将<
转换为<
),防止XSS payload执行。CSP配置:配置内容安全策略(CSP)头,限制脚本来源(如仅允许来自可信域的脚本),阻止未授权的脚本执行。
安全意识:教育用户不要点击可疑链接,使用浏览器插件(如NoScript)限制脚本执行。
结语
没有一朵花
从一开始就是花
!!!