Files
MemShellParty/integration-test/src/test/java/com/reajason/javaweb/integration/VulTool.java
T

58 lines
2.0 KiB
Java

package com.reajason.javaweb.integration;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import okhttp3.*;
import org.junit.jupiter.api.Assertions;
/**
* @author ReaJason
* @since 2024/11/30
*/
@Slf4j
public class VulTool {
@SneakyThrows
public static void urlIsOk(String url) {
Request request = new Request.Builder()
.url(url).build();
try (Response response = new OkHttpClient().newCall(request).execute()) {
System.out.println(response.body().string());
Assertions.assertTrue(response.isSuccessful());
}
}
@SneakyThrows
public static void uploadJspFileToServer(String uploadUrl, String filename, String fileContent) {
MediaType mediaType = MediaType.parse("text/plain");
RequestBody fileRequestBody = RequestBody.create(fileContent, mediaType);
MultipartBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", filename, fileRequestBody)
.build();
Request request = new Request.Builder()
.url(uploadUrl).post(requestBody)
.build();
try (Response response = new OkHttpClient().newCall(request).execute()) {
System.out.println(response.body().string());
Assertions.assertEquals(200, response.code());
}
}
@SneakyThrows
public static void postData(String uploadUrl, String data) {
RequestBody requestBody = new FormBody.Builder()
.add("data", data)
.build();
Request request = new Request.Builder()
.header("Content-Type", "application/x-www-form-urlencoded")
.url(uploadUrl).post(requestBody)
.build();
try (Response response = new OkHttpClient().newCall(request).execute()) {
log.info(response.body().string());
Assertions.assertNotEquals(404, response.code());
}
}
}