Java & Python 未修复漏洞导致跨越防火墙大混乱

简介: 本文讲的是Java & Python 未修复漏洞导致跨越防火墙大混乱,发现该漏洞的程序员说:当你找到进入邮件服务器的路时,事情就变得好玩了。

本文讲的是Java & Python 未修复漏洞导致跨越防火墙大混乱,发现该漏洞的程序员说:当你找到进入邮件服务器的路时,事情就变得好玩了。

image

Java & Python有个可以用来翻越防火墙的漏洞。因为俩漏洞都还没被补上,或许今儿是催促你公司开发人员的好日子。

该Java漏洞意味着,通过其FTP实现进行的协议注入,可欺骗防火墙放行互联网TCP连接接入内部主机。

亚历山大·科林克和 Blindspot Security 公司的蒂莫西·摩根,对这两个漏洞有进一步的阐述。

科林克的发现是:Java的 XMLeXternal Entity (XEE)错误处理了FTP连接,因为它没有对Java传到服务器的用户名进行语法检查。

特别是,cr和lf应该是拒绝接受的,但却被放行,让非FTP命令得以注入到连接请求中。科林克的证明展示了如何在FTP连接尝试(即便连接失败)中发送SMTP电子邮件。

EHLO a

MAIL FROM:a@example.org

RCPT TO:alech@alech.de

DATA

From: a@example.org

To: alech@alech.de

Subject: test

test!

.

QUIT
越来越糟

科林克认为,该攻击在特定场景下尤其有趣——从执行XML解析的主机上访问(不受限的,甚至没有垃圾邮件或恶意软件过滤的)内部邮件服务器时。

摩根的贡献,则是实现了用同样的动作经过几步过程突破防火墙高位端口:

  1. 获取一个内部IP地址——这很简单:发个URL,看看客户端是怎么动作的,然后尝试另一个,直到攻击成功。
  2. 包对齐——这就是该攻击成功的秘诀了。FTP是同步的,意味着两边都在等待自己发出的每一条命令的响应。如果这里出错了,攻击失败!

摩根称他将暂时不公布概念验证脚本,先看看甲骨文(和Python开发者)是怎么回应本披露的。

不过,他设想自己的漏洞利用也可用于中间人攻击、服务器端请求伪造、XEE攻击等等——一旦越过防火墙,桌面主机即便没有安装Java也能被攻击了。

Python同样脆弱,其urllib和urllib2库就是入手点。不过,该注入似乎仅限于在URL中指定目录名的攻击。

至于缓解办法,摩根建议:在桌面和浏览器中禁用Java;在所有防火墙上禁用“经典模式”的FTP。

原文发布时间为:二月 22, 2017
本文作者:nana
本文来自云栖社区合作伙伴安全牛,了解相关信息可以关注安全牛
原文链接:http://www.aqniu.com/threat-alert/23038.html

相关文章
|
3天前
|
SQL 安全 Java
Java安全编程:防范网络攻击与漏洞
【4月更文挑战第15天】本文强调了Java安全编程的重要性,包括提高系统安全性、降低维护成本和提升用户体验。针对网络攻击和漏洞,提出了防范措施:使用PreparedStatement防SQL注入,过滤和转义用户输入抵御XSS攻击,添加令牌对抗CSRF,限制文件上传类型和大小以防止恶意文件,避免原生序列化并确保数据完整性。及时更新和修复漏洞是关键。程序员应遵循安全编程规范,保障系统安全。
|
28天前
|
SQL Java 关系型数据库
在Python中编写Java数据库驱动是不可能的
在Python中编写Java数据库驱动是不可能的
|
1月前
|
人工智能 Java 开发者
Python与Java:两大编程语言的联系与区别
Python与Java:两大编程语言的联系与区别
30 2
|
1月前
|
Java API PHP
多多关键字API php java Python
多多关键字API接口广泛应用于商家进行市场分析、竞品分析、关键词优化等场景。商家可以通过分析关键词数据,了解用户需求,制定针对性的营销策略,提高产品的曝光率和转化率。
|
2月前
|
机器学习/深度学习 人工智能 Java
python与java的应用场景区别
python与java的应用场景区别
41 6
|
2月前
|
机器学习/深度学习 人工智能 Java
Java和Python区别
Java和Python区别
22 1
Java和Python区别
|
2月前
|
SQL 安全 Java
Java Web安全性:常见的漏洞及防护措施
Java Web安全性:常见的漏洞及防护措施
118 0
|
2月前
|
JSON 缓存 安全
Java反序列化漏洞自动挖掘方法
Java反序列化漏洞自动挖掘方法
37 0
|
3月前
|
Java Python
分别使用java和python打印99乘法表
【1月更文挑战第17天】分别使用java和python打印99乘法表
26 0
|
3月前
|
分布式计算 Java Scala
Spark编程语言选择:Scala、Java和Python
Spark编程语言选择:Scala、Java和Python
Spark编程语言选择:Scala、Java和Python