/
secator
/
hide-or-drop
Обзор
Документация
Войти
/
secator
/
hide-or-drop
Код
Пакеты
0
Релизы
1
Аналитика
Безопасность
master
src/main/java/hideordrop/HodProxyHttpRequestHandler.java
63 строки
2 KB
v
base
14 янв 2026, 14:20
14 янв 2026, 14:20
b9d2a1a
Код
Авторство
О чём код?
/* * Hide Or Drop v0.0.1 * Copyright (c) 2026. https://secator.com/hod/ */ package hideordrop; import burp.api.montoya.MontoyaApi; import burp.api.montoya.proxy.http.InterceptedRequest; import burp.api.montoya.proxy.http.ProxyRequestHandler; import burp.api.montoya.proxy.http.ProxyRequestReceivedAction; import burp.api.montoya.proxy.http.ProxyRequestToBeSentAction; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import java.util.regex.Pattern; class HodProxyHttpRequestHandler implements ProxyRequestHandler { private JsonArray drop; public HodProxyHttpRequestHandler() { drop = HodScope.getDrop(); HideOrDrop.getApi().scope().registerScopeChangeHandler(e -> { drop = HodScope.getDrop(); }); } @Override public ProxyRequestReceivedAction handleRequestReceived(InterceptedRequest interceptedRequest) { if (drop.isEmpty()) { return ProxyRequestReceivedAction.continueWith(interceptedRequest); } for (int i = 0; i < drop.size(); i++) { JsonObject pattern = drop.get(i).getAsJsonObject(); if (pattern.has("host")) { if (!matches(drop.get(i).getAsJsonObject().get("host").getAsString(), interceptedRequest.httpService().host())) { continue; } } if (pattern.has("file")) { if (!matches(drop.get(i).getAsJsonObject().get("file").getAsString(), interceptedRequest.path())) { continue; } } return ProxyRequestReceivedAction.drop(); } return ProxyRequestReceivedAction.continueWith(interceptedRequest); } @Override public ProxyRequestToBeSentAction handleRequestToBeSent(InterceptedRequest interceptedRequest) { return ProxyRequestToBeSentAction.continueWith(interceptedRequest); } private boolean matches(String regex, CharSequence input) { Pattern compile = Pattern.compile(regex); return compile.matcher(input).find(); } }