Java Nashorn 的利用

  • A+
所属分类:安全开发

Java Nashorn 的利用!Java Nashorn 的利用

内容摘要:

 Java Nashorn 的利用命令执行Java Nashorn 的利用 功能执行、 Java Nashorn 的利用代码混淆

1.Java Nashorn 介绍 (废话)Java Nashorn 的利用

从JDK 1.8开始,Nashorn取代Rhino (JDK1.6,JDK1,7)成为Java的嵌入式JavaScript引擎。
Nashorn完全支持ECMAScript 5.1的规范以及一些扩展,它使用基于JSR 292的新语言特性,
其中包含在JDK 7中引入的invokedynamic,将JavaScript编译成Java Bytecode .
与先前的Rhino实现相比,带来了2到10倍的性能提升 。
(小声逼逼:php才是世界上最好的语言)

2. 如何调用Nashorn Java Nashorn 的利用

JJS    jjs是基于Nashorn引擎的命令行工具,接受一些JavaScipt源代码为参数,
并且执行这些源代码。


Java Nashorn 的利用

 •JAVA调用

Java Nashorn 的利用

3. Nashron的命令执行 Java Nashorn 的利用

JavaScript中调用Java


Java Nashorn 的利用


Java Nashorn 的利用

Java2JS通过上例我们可以看到通过 Java.type函数把java.lang.System类实例化了。

那么我们想要实现命令执行即调用java.lang.Runtime.getRuntime.exec()即可

Java Nashorn 的利用



Java Nashorn 的利用


4. Nashron的硬编码检测绕过Java Nashorn 的利用

之前对某个目标进行测试的时候,该目标对输入的Java.type进行硬编码检测。Java Nashorn 的利用Java Nashorn 的利用Java Nashorn 的利用如内容含有Java可以通过验证,输入type也可以通过验证但输入Java.type时就限制了脚本的运行。绕过方法:

Java Nashorn 的利用

5. Nashron禁止执行Java代码的防御方法 

Java Nashorn 的利用

6. Nashron的功能执行(任意代码执行Java Nashorn 的利用

我们拿到代码执行权限后,保险起见就别乱往上扔东西了。不会创建新进程。文件无落地,多爽。献上脱裤脚本!

Java Nashorn 的利用

7. Nashron的代码混淆Java Nashorn 的利用

输入的代码其实是JavaScript

Java Nashorn 的利用
Java Nashorn 的利用

8. References Java Nashorn 的利用

https://www.roguesecurity.in/2019/07/27/nashorn-remote-code-execution/https://mbechler.github.io/2019/03/02/Beware-the-Nashorn/

写在结尾

文章来自圈子社区的精品文章,特此感谢社区小伙伴张德帅的分享输出。如有意向投稿的小伙伴可在公众号留言,感谢大家的支持。

文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

社区回复 今日日报,获取最新线报哦!




Java Nashorn 的利用

扫二维码|关注我们


引领实战潮流,回归技术本质
汇聚行业新锐力量 推动网络安全进步
这是一个实战派白帽子的聚集地

发表评论

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