簡體   English   中英

如何使用 JSR 223 保護腳本?

[英]How to secure scripting with JSR 223?

我使用 Groovy 作為動態腳本引擎,以允許我的 web 應用程序的管理員用戶創建小腳本作為接口解決方案的一部分,例如。 做簡單的字符串操作,tokenize 等等。
不幸的是,這打開了一個很大的漏洞,因為默認情況下腳本引擎會執行任何操作。
我在這里描述了一個演示應用程序: http://javadude.wordpress.com/2011/06/29/creating-a-zk-groovy-console/

Object value = shell.evaluate("whatever groovy script");

您可以執行System.exit(0)關閉 AS 甚至 shell 命令,如"ls -l".execute().text或只是窺探系統設置println InetAddress.localHost.hostAddress

我可以在執行之前進行字符串檢查,例如過濾System.xyzexecute.xyz

有什么經驗或食譜嗎?

謝謝
斯文

使用 groovy 1.8,您可以自定義編譯器配置

這里有一篇博客文章解釋了更多:

http://www.jroller.com/melix/entry/customizing_groovy_compilation_process

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM