Java Python的FTP注入漏洞 足以绕过大多数防护墙 目前没有官方补丁

简介:

这个漏洞足以绕过大多数防火墙的默认设置了,java和python都没有对恶意构造的FTP请求进行校验,目前Oracle和Python Software Foundation官方尚未修复该漏洞。绿盟科技发布《Java和Python应用的FTP命令注入漏洞安全威胁通告》,通告全文如下:

2017年2月20日,blog.blindspotsecurity.com 发布文章称,由Java开发的应用,存在潜在的FTP命令注入。攻击者可以利用该漏洞借助XXE或SSRF等其他漏洞发送未授权的电子邮件。攻击者也可以利用该漏洞绕过防火墙,从而打开并连接一个TCP端口。在Python中,Python 2的urllib2和Python 3 的urllib库中也存在类似的漏洞。

java%20python%20ftp.png

上述漏洞的成因是Java和Python在解析用户发送的FTP URL时没有正确校验,攻击者可以通过构造恶意的URL来注入并执行FTP命令。为说明概念,以如下URL为例,存在漏洞的应用在解析该URL并遇到回车换时,会认为接下来的COMMAND是一条独立的新指令从而执行。

ftp://user:password%0d%0aCOMMAND@test.com/file.txt”行“%0d%0a

详情请见如下链接:

http://blog.blindspotsecurity.com/2017/02/advisory-javapython-ftp-injections.html

受影响的版本

Oracle和Python Software Foundation官方尚未修复该漏洞,影响最新版本。

规避方案

  • Oracle和Python官方尚未修复该漏洞。作为临时的缓解策略,用户可以:
  • 在浏览器中禁用Java插件,并且取消.jnlp文件扩展和Java Web Start的关联;
  • 防火墙策略中禁用FTP主动模式,允许FTP被动模式;
  • 在防护类设备中加入对FTP URL中“%0d%0a”的过滤。

绿盟科技声明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。



原文发布时间:2017年3月24日 

本文由:绿盟科技发布,版权归属于原作者

原文链接:http://toutiao.secjia.com/java-python-ftp-injections#

本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站

相关文章
|
12天前
|
缓存 前端开发 测试技术
(译)Python 官方团队在打包项目中踩过的坑
(译)Python 官方团队在打包项目中踩过的坑
34 2
|
6天前
|
数据采集 Java 数据挖掘
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
|
10天前
|
SQL Java 数据处理
实时计算 Flink版产品使用合集之怎么热加载Java和Python的UDF
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
12天前
|
SQL 测试技术 网络安全
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
32 0
|
12天前
|
编解码 JavaScript 前端开发
【专栏】介绍了字符串Base64编解码的基本原理和在Java、Python、C++、JavaScript及Go等编程语言中的实现示例
【4月更文挑战第29天】本文介绍了字符串Base64编解码的基本原理和在Java、Python、C++、JavaScript及Go等编程语言中的实现示例。Base64编码将24位二进制数据转换为32位可打印字符,用“=”作填充。文中展示了各语言的编码解码代码,帮助开发者理解并应用于实际项目。
|
12天前
|
前端开发 Java Go
开发语言详解(python、java、Go(Golong)。。。。)
开发语言详解(python、java、Go(Golong)。。。。)
|
12天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
23 0
|
12天前
|
SQL 安全 数据库
在Python Web开发过程中:安全性与编码规范,如何确保用户输入数据的安全性,避免SQL注入?
防止 SQL 注入的关键措施包括使用参数化查询、验证清理用户输入、预处理语句、避免动态 SQL、实施访问控制、保持安全编码习惯和定期审计。结合使用 WAF 和安全框架可增强防护。开发人员的安全意识同样重要。
23 2
|
12天前
|
SQL Java 关系型数据库
在Python中编写Java数据库驱动是不可能的
在Python中编写Java数据库驱动是不可能的
|
12天前
|
SQL 安全 测试技术
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
23 0