import java.nio.charset.StandardCharsets;

public class InjeksiRentan {
    public static void main(String[] args) throws Exception {
        // Masukan pengguna disimulasikan dengan nilai tetap yang berbahaya.
        String berkasPilihan = "laporan.txt; echo Perintah-Tersisip";

        // POLA RENTAN: masukan dirangkai ke satu string perintah shell.
        String perintah = "wc -c " + berkasPilihan;
        Process anak = new ProcessBuilder("/bin/sh", "-c", perintah).start();
        String keluaran = new String(anak.getInputStream().readAllBytes(),
                StandardCharsets.UTF_8);
        anak.waitFor();

        System.out.println("perintah : " + perintah);
        System.out.println("keluaran :");
        System.out.print(keluaran);
    }
}
