某个代码扫描器有一个这个规则。
提示java.awt.getDesktop.browse 会命令执行,但是我搜了一圈没找到这个相关的资料,甚至不知道这个为啥会RCE。
我随便找了个网上公开的 常见的开发编写的代码
// 获取 Desktop 实例对象
Desktop desk = Desktop.getDesktop();
// 生成 URL 实例对象
URI url = new URI("https://www.baidu.com/");
//调用 Desktop 中 browse 方法打开URL
desk.browse(url);
————————————————
版权声明:本文为CSDN博主「2021在职mba」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_28289089/article/details/114099943
可以看到url是可以随意从客户端传递进去的。
这个rce的危害在于,如果url参数可控,可以传递file协议开头的内容进去,即可导致RCE
例如
好像windows32位和electron应用下也是会存在这个命令执行的问题的。
且ftp协议也是可以做到执行代码的。
在通常认知的一些安全问题上 好像按道理应该是不会运行,但是这个情况会运行加载的url的二进制文件。
记一下
本文始发于微信公众号(xsser的博客):java.awt.getDesktop.browse命令执行漏洞
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论