Fortify扫描结果之java.awt.getDesktop.browse命令执行漏洞

  • A+
所属分类:安全漏洞

今天在工作的时候发现了一个fortify结果,是一个命令执行。

看了下结果如下

Fortify扫描结果之java.awt.getDesktop.browse命令执行漏洞



别的就不发了,直接看下sink

Fortify扫描结果之java.awt.getDesktop.browse命令执行漏洞



可以看到desktop.getDesktop().browse()sink,且存在拼接。不懂这个是个什么漏洞可以RCE

其出发的fortify规则如下:

Fortify扫描结果之java.awt.getDesktop.browse命令执行漏洞



可以看到fortify规则对类的关键词是好多个,而且taintflagset也是设置了not number但是很迷的是fortify 还是把int类型的port当作了污染点。去尼玛的fortify菜鸡。好吧,这个不是关键。

 

和群里的大佬技术白嫖了以后发现下面的这个推特有讨论关于java.awt.* 的这个安全问题。

Fortify扫描结果之java.awt.getDesktop.browse命令执行漏洞



原来是 如果.browse(url)的情况,即url是直接用户可以输入的情况下,我们可以通过file协议和ftp协议进行rce,也就是直接输入一个二进制文件即可让服务端执行命令。


 

Fortify扫描结果之java.awt.getDesktop.browse命令执行漏洞

而且根据twitter里的国际敌人提供的情报来看,好像windows32位和electron应用下也是会存在这个命令执行的问题的。

 

神奇

Ps.有啥办法可以让fortify 识别类型不报这种弱智误报



本文始发于微信公众号(xsser的博客):Fortify扫描结果之java.awt.getDesktop.browse命令执行漏洞

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: