Skip to content

Commit 77ce040

Browse files
author
isayan
committed
各種CJK Viewのタブのバグ対策(Response)
1 parent ef5f45d commit 77ce040

File tree

10 files changed

+32
-17
lines changed

10 files changed

+32
-17
lines changed

gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ netbeans.org-netbeans-modules-javascript2-requirejs.enabled=true
22
release_version_major=3.0
33
release_version_minor=5.2
44
netbeans.license=mit
5+
netbeans.hint.jdkPlatform=JDK_17

help/help-ja.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2284,7 +2284,7 @@ <h3 id="_version">3.10. Version</h3>
22842284
</div>
22852285
<div id="footer">
22862286
<div id="footer-text">
2287-
Last updated 2023-06-13 21:58:48 +0900
2287+
Last updated 2023-06-17 18:11:24 +0900
22882288
</div>
22892289
</div>
22902290
</body>

help/help.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2312,7 +2312,7 @@ <h3 id="_version">3.10. Version</h3>
23122312
</div>
23132313
<div id="footer">
23142314
<div id="footer-text">
2315-
Last updated 2023-06-13 22:04:37 +0900
2315+
Last updated 2023-06-17 18:11:24 +0900
23162316
</div>
23172317
</div>
23182318
</body>

release/YaguraExtension-v3.0.jar

234 Bytes
Binary file not shown.

src/main/java/yagura/view/GeneratePoCTab.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1197,7 +1197,8 @@ public boolean isEnabledFor(HttpRequestResponse httpRequestResponse) {
11971197
return false;
11981198
}
11991199
// Burp v2023.4.1 以降の謎挙動に対応
1200-
if (httpRequestResponse.request().toByteArray().length() == 0 && httpRequestResponse.response() == null) {
1200+
if ((httpRequestResponse.request() != null && httpRequestResponse.request().toByteArray().length() == 0 && httpRequestResponse.response() == null)
1201+
|| (httpRequestResponse.response() != null && httpRequestResponse.response().toByteArray().length() == 0)) {
12011202
return true;
12021203
}
12031204
HttpRequestWapper request = new HttpRequestWapper(httpRequestResponse.request());

src/main/java/yagura/view/HtmlCommetViewTab.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,13 +215,19 @@ public boolean isEnabledFor(HttpRequestResponse httpRequestResponse) {
215215
if (httpResponse == null) {
216216
return false;
217217
}
218-
219218
UniversalViewProperty viewProperty = BurpExtension.getInstance().getProperty().getEncodingProperty();
220219
EnumSet<UniversalViewProperty.UniversalView> view = viewProperty.getMessageView();
221220
this.setLineWrap(viewProperty.isLineWrap());
222221
if (!view.contains(UniversalViewProperty.UniversalView.HTML_COMMENT)) {
223222
return false;
224223
}
224+
225+
// Burp v2023.4.1 以降の謎挙動に対応
226+
if ((httpRequestResponse.request() != null && httpRequestResponse.request().toByteArray().length() == 0 && httpRequestResponse.response() == null)
227+
|| (httpRequestResponse.response() != null && httpRequestResponse.response().toByteArray().length() == 0)) {
228+
return true;
229+
}
230+
225231
boolean mimeHTMLType = false;
226232
MimeType mimeType = httpResponse.inferredMimeType();
227233
mimeHTMLType = (mimeType == mimeType.HTML || mimeType == mimeType.XML || mimeType == mimeType.IMAGE_SVG_XML);

src/main/java/yagura/view/JSONViewTab.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,8 @@ public boolean isEnabledJson(HttpRequestResponse httpRequestResponse, boolean is
167167
return false;
168168
}
169169
// Burp v2023.4.1 以降の謎挙動に対応
170-
if (httpRequestResponse.request().toByteArray().length() == 0 && httpRequestResponse.response() == null) {
170+
if ((httpRequestResponse.request() != null && httpRequestResponse.request().toByteArray().length() == 0 && httpRequestResponse.response() == null)
171+
|| (httpRequestResponse.response() != null && httpRequestResponse.response().toByteArray().length() == 0)) {
171172
return true;
172173
}
173174
HttpRequest httpRequest = httpRequestResponse.request();
@@ -206,7 +207,8 @@ public boolean isEnabledJsonp(HttpRequestResponse httpRequestResponse, boolean i
206207
return false;
207208
}
208209
// Burp v2023.4.1 以降の謎挙動に対応
209-
if (httpRequestResponse.request().toByteArray().length() == 0 && httpRequestResponse.response() == null) {
210+
if ((httpRequestResponse.request() != null && httpRequestResponse.request().toByteArray().length() == 0 && httpRequestResponse.response() == null)
211+
|| (httpRequestResponse.response() != null && httpRequestResponse.response().toByteArray().length() == 0)) {
210212
return true;
211213
}
212214
HttpRequest httpRequest = httpRequestResponse.request();

src/main/java/yagura/view/JWTViewTab.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -288,21 +288,22 @@ public boolean isEnabledFor(HttpRequestResponse httpRequestResponse) {
288288
if (httpRequestResponse == null) {
289289
return false;
290290
}
291-
final HttpRequest httpRequest = httpRequestResponse.request();
292291
boolean find = false;
293292
try {
294293
UniversalViewProperty viewProperty = BurpExtension.getInstance().getProperty().getEncodingProperty();
295294
EnumSet<UniversalViewProperty.UniversalView> view = viewProperty.getMessageView();
296295
if (!view.contains(UniversalViewProperty.UniversalView.JWT)) {
297296
return false;
298297
}
299-
if (httpRequest.toByteArray().length() > viewProperty.getDispayMaxLength() && viewProperty.getDispayMaxLength() != 0) {
300-
return false;
301-
}
302298
// Burp v2023.4.1 以降の謎挙動に対応
303-
if (httpRequestResponse.request().toByteArray().length() == 0 && httpRequestResponse.response() == null) {
299+
if ((httpRequestResponse.request() != null && httpRequestResponse.request().toByteArray().length() == 0 && httpRequestResponse.response() == null)
300+
|| (httpRequestResponse.response() != null && httpRequestResponse.response().toByteArray().length() == 0)) {
304301
return true;
305302
}
303+
final HttpRequest httpRequest = httpRequestResponse.request();
304+
if (httpRequest.toByteArray().length() > viewProperty.getDispayMaxLength() && viewProperty.getDispayMaxLength() != 0) {
305+
return false;
306+
}
306307
this.setLineWrap(viewProperty.isLineWrap());
307308
List<HttpHeader> headers = httpRequest.headers();
308309
for (HttpHeader h : headers) {

src/main/java/yagura/view/ParamsViewTab.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,8 @@ public boolean isEnabledFor(HttpRequestResponse httpRequestResponse) {
500500
return false;
501501
}
502502
// Burp v2023.4.1 以降の謎挙動に対応
503-
if (httpRequestResponse.request().toByteArray().length() == 0 && httpRequestResponse.response() == null) {
503+
if (httpRequestResponse.request().toByteArray().length() == 0 && httpRequestResponse.response() == null
504+
|| (httpRequestResponse.response() != null && httpRequestResponse.response().toByteArray().length() == 0)) {
504505
return true;
505506
}
506507
HttpRequest httpRequest = httpRequestResponse.request();

src/main/java/yagura/view/RawViewTab.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,6 @@ public void setRequestResponse(HttpRequestResponse httpRequestResponse) {
283283
this.quickSearchTab.getEncodingComboBox().addItemListener(this.encodingItemStateChanged);
284284

285285
// this.setMessageEncoding(guessCharset);
286-
287286
this.textModified = false;
288287
}
289288
}
@@ -293,17 +292,21 @@ public boolean isEnabledFor(HttpRequestResponse httpRequestResponse) {
293292
if (httpRequestResponse == null || (this.isRequest && httpRequestResponse.request() == null) || (!this.isRequest && httpRequestResponse.response() == null)) {
294293
return false;
295294
}
296-
// Burp v2023.4.1 以降の謎挙動に対応
297-
if (httpRequestResponse.request().toByteArray().length() == 0 && httpRequestResponse.response() == null) {
298-
return true;
299-
}
295+
300296
try {
301297
// "This message is too large to display"
302298
UniversalViewProperty viewProperty = BurpExtension.getInstance().getProperty().getEncodingProperty();
303299
EnumSet<UniversalViewProperty.UniversalView> view = viewProperty.getMessageView();
304300
if (!view.contains(UniversalViewProperty.UniversalView.JRAW)) {
305301
return false;
306302
}
303+
304+
// Burp v2023.4.1 以降の謎挙動に対応
305+
if ((httpRequestResponse.request() != null && httpRequestResponse.request().toByteArray().length() == 0 && httpRequestResponse.response() == null)
306+
|| (httpRequestResponse.response() != null && httpRequestResponse.response().toByteArray().length() == 0)) {
307+
return true;
308+
}
309+
307310
HttpRequest httpRequest = httpRequestResponse.request();
308311
HttpResponse httpResponse = httpRequestResponse.response();
309312

0 commit comments

Comments
 (0)