Skip to content

Commit 5ede20c

Browse files
author
isayan
committed
listener port対応
1 parent 9a1fced commit 5ede20c

File tree

8 files changed

+62
-11
lines changed

8 files changed

+62
-11
lines changed

gradle.properties

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

release/YaguraExtension-v3.0.jar

606 Bytes
Binary file not shown.

src/main/java/yagura/model/HttpMessageItem.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,9 @@ public class HttpMessageItem implements ProxyHttpRequestResponse {
4545
private String url;
4646
private short statusCode = 0;
4747
private String comment = "";
48-
MessageHighlightColor color = MessageHighlightColor.WHITE;
48+
private MessageHighlightColor color = MessageHighlightColor.WHITE;
4949
private String memo = "";
50+
private int listenerPort = -1;
5051

5152
public HttpMessageItem() {
5253
this.httpRequestResponse = null;
@@ -239,6 +240,15 @@ public void setMemo(String memo) {
239240
this.memo = memo;
240241
}
241242

243+
public int getListenerPort() {
244+
if (this.httpRequestResponse != null) {
245+
return this.httpRequestResponse.listenerPort();
246+
}
247+
else {
248+
return this.listenerPort;
249+
}
250+
}
251+
242252
public URL toURL() throws MalformedURLException {
243253
return new URL(this.httpRequestResponse.finalRequest().url());
244254
}

src/main/java/yagura/model/JSearchProperty.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,23 @@ public void setComment(boolean comment) {
131131
this.comment = comment;
132132
}
133133

134+
@Expose
135+
private int listenerPort = -1;
136+
137+
/**
138+
* @return the listenerPort
139+
*/
140+
public int getListenerPort() {
141+
return listenerPort;
142+
}
143+
144+
/**
145+
* @param listener port
146+
*/
147+
public void setListenerPort(int listenerPort) {
148+
this.listenerPort = listenerPort;
149+
}
150+
134151
public void setProperty(JSearchProperty property) {
135152
this.setAutoRecogniseEncoding(property.isAutoRecogniseEncoding());
136153
this.setFilterProperty(property.getFilterProperty());
@@ -142,6 +159,7 @@ public void setProperty(JSearchProperty property) {
142159
this.setSmartMatch(property.isSmartMatch());
143160
this.setRegexp(property.isRegexp());
144161
this.setIgnoreCase(property.isIgnoreCase());
162+
this.setListenerPort(property.getListenerPort());
145163
}
146164

147165
@Override

src/main/java/yagura/model/ResultView.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package yagura.model;
22

3-
import burp.api.montoya.http.message.HttpRequestResponse;
43
import burp.api.montoya.proxy.ProxyHttpRequestResponse;
54
import extension.burp.HttpTarget;
65
import extension.burp.MessageHighlightColor;
@@ -32,7 +31,7 @@ public ResultView(ProxyHttpRequestResponse item, int ordinal) {
3231
}
3332

3433
private final String[] columns = new String[]{
35-
"Data", "#", "host", "method", "URL", "status", "length", "comment"
34+
"Data", "#", "host", "method", "URL", "status", "length", "comment","listen port"
3635
};
3736

3837
public ObjectTableColumn getColumn() {
@@ -57,7 +56,7 @@ public Class<?> getColumnClass(int columnIndex) {
5756
}
5857

5958
private final boolean[] canEdit = new boolean[]{
60-
false, true, false, false, false, false, false, true
59+
false, true, false, false, false, false, false, true, false
6160
};
6261

6362
@Override
@@ -105,6 +104,9 @@ public Object getObject(int column) {
105104
case 7: // comment
106105
value = msg.getComment();
107106
break;
107+
case 8: // listener port
108+
value = msg.getListenerPort();
109+
break;
108110
}
109111
} catch (Exception ex) {
110112
logger.log(Level.SEVERE, ex.getMessage(), ex);
@@ -127,7 +129,6 @@ public void setObject(int column, Object value) {
127129
msg.setHighlight(null);
128130
}
129131
break;
130-
131132
case 2: // host
132133
break;
133134
case 3: // method
@@ -141,6 +142,8 @@ public void setObject(int column, Object value) {
141142
case 7: // commment
142143
msg.setComment((String) value);
143144
break;
145+
case 8: // listener port
146+
break;
144147
}
145148
} catch (Exception ex) {
146149
logger.log(Level.SEVERE, ex.getMessage(), ex);

src/main/java/yagura/view/JSearchTab.form

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@
385385
<Component class="javax.swing.JTable" name="tableResult">
386386
<Properties>
387387
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
388-
<Table columnCount="8" rowCount="0">
388+
<Table columnCount="9" rowCount="0">
389389
<Column editable="false" title="Data" type="java.lang.Object"/>
390390
<Column editable="true" title="#" type="java.lang.Object"/>
391391
<Column editable="false" title="host" type="java.lang.String"/>
@@ -394,6 +394,7 @@
394394
<Column editable="false" title="status" type="java.lang.String"/>
395395
<Column editable="false" title="length" type="java.lang.Integer"/>
396396
<Column editable="true" title="comment" type="java.lang.String"/>
397+
<Column editable="true" title="listener port" type="java.lang.Integer"/>
397398
</Table>
398399
</Property>
399400
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
@@ -438,6 +439,11 @@
438439
<Editor/>
439440
<Renderer/>
440441
</Column>
442+
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="false">
443+
<Title/>
444+
<Editor/>
445+
<Renderer/>
446+
</Column>
441447
</TableColumnModel>
442448
</Property>
443449
<Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">

src/main/java/yagura/view/JSearchTab.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package yagura.view;
22

3+
import burp.BurpExtender;
34
import burp.BurpExtension;
4-
import burp.api.montoya.http.message.HttpRequestResponse;
55
import burp.api.montoya.http.message.requests.HttpRequest;
66
import burp.api.montoya.http.message.responses.HttpResponse;
77
import burp.api.montoya.proxy.ProxyHttpRequestResponse;
@@ -341,14 +341,14 @@ public void mousePressed(java.awt.event.MouseEvent evt) {
341341

342342
},
343343
new String [] {
344-
"Data", "#", "host", "method", "URL", "status", "length", "comment"
344+
"Data", "#", "host", "method", "URL", "status", "length", "comment", "listener port"
345345
}
346346
) {
347347
Class[] types = new Class [] {
348-
java.lang.Object.class, java.lang.Object.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.String.class
348+
java.lang.Object.class, java.lang.Object.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.String.class, java.lang.Integer.class
349349
};
350350
boolean[] canEdit = new boolean [] {
351-
false, true, false, false, false, false, false, true
351+
false, true, false, false, false, false, false, true, true
352352
};
353353

354354
public Class getColumnClass(int columnIndex) {
@@ -366,6 +366,9 @@ public void mouseClicked(java.awt.event.MouseEvent evt) {
366366
}
367367
});
368368
scrollResult.setViewportView(tableResult);
369+
if (tableResult.getColumnModel().getColumnCount() > 0) {
370+
tableResult.getColumnModel().getColumn(8).setResizable(false);
371+
}
369372

370373
splitResult.setLeftComponent(scrollResult);
371374

@@ -563,6 +566,11 @@ public void keyPressed(KeyEvent ke) {
563566
// comment
564567
this.tableResult.getColumnModel().getColumn(7).setPreferredWidth(80);
565568

569+
// lister port
570+
this.tableResult.getColumnModel().getColumn(8).setMinWidth(40);
571+
this.tableResult.getColumnModel().getColumn(8).setPreferredWidth(60);
572+
this.tableResult.getColumnModel().getColumn(8).setMaxWidth(80);
573+
566574
this.tableResult.setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
567575

568576
}
@@ -799,9 +807,14 @@ private boolean isValidRegex(String text) {
799807
break;
800808
}
801809
}
810+
if (searchProp.getListenerPort() > -1 && searchProp.getListenerPort() == item.getListenerPort()) {
811+
find = true;
812+
break;
813+
}
802814
this.lblProgress.setText(String.format(SEARCH_PROGRESS, (double) i / proxyHistory.size() * 100.0));
803815
} while (false);
804816
if (m != null && find) {
817+
BurpExtender.helpers().outPrintln("row:" + item.getOrdinal());
805818
this.modelSearch.addRow(new ResultView(item, item.getOrdinal()));
806819
}
807820
if (this.cancel) {
@@ -880,6 +893,7 @@ public void setProperty(JSearchProperty searchProp) {
880893
this.chkComment.setSelected(searchProp.isComment());
881894

882895
this.resultFilterDlg.setProperty(searchProp.getFilterProperty());
896+
883897
this.hideFilter();
884898
}
885899

src/main/java/yagura/view/ResultFilterDlg.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -896,6 +896,7 @@ public void setBambaMode(boolean bamba) {
896896
this.tabbetFilter.remove(this.pnlBambda);
897897
if (bamba) {
898898
this.tabbetFilter.addTab("Bambda", this.pnlBambda);
899+
this.tabbetFilter.setSelectedIndex(this.tabbetFilter.indexOfTab("Settings"));
899900
}
900901
this.btnConvertBambda.setVisible(bamba);
901902
}

0 commit comments

Comments
 (0)