Skip to content

Commit 941394c

Browse files
author
isayan
committed
Burp ToolBar 機能追加
1 parent c18e177 commit 941394c

File tree

18 files changed

+413
-118
lines changed

18 files changed

+413
-118
lines changed

help/help-ja.html

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -729,19 +729,19 @@ <h3 id="_extension">2.8. Extension</h3>
729729
</div>
730730
<div class="dlist">
731731
<dl>
732-
<dt class="hdlist1">Paste include Target scope(multi-line)</dt>
732+
<dt class="hdlist1">Paste include Target scope (multi-line)</dt>
733733
<dd>
734734
<p>クリップボードに設定された、複数行のURLをTarget Scopeの Include in scope に追加します。</p>
735735
</dd>
736-
<dt class="hdlist1">Paste include Top URL Target scope(multi-line)</dt>
736+
<dt class="hdlist1">Paste Top URL into include Target scope (multi-line)</dt>
737737
<dd>
738738
<p>クリップボードに設定された、複数行のTop URLをTarget Scopeの Include in scope に追加します。</p>
739739
</dd>
740-
<dt class="hdlist1">Paste exclude Target scope(multi-line)</dt>
740+
<dt class="hdlist1">Paste exclude Target scope (multi-line)</dt>
741741
<dd>
742742
<p>クリップボードに設定された、複数行のURLをTarget Scopeの Exclude from scope に追加します。</p>
743743
</dd>
744-
<dt class="hdlist1">Paste SSL pass through(multi-line)</dt>
744+
<dt class="hdlist1">Paste SSL pass through (multi-line)</dt>
745745
<dd>
746746
<p>クリップボードに設定された、複数行のURLをTarget Scopeの SSL pass through に追加します。</p>
747747
</dd>
@@ -861,10 +861,13 @@ <h4 id="_burp_view_タブ">3.1.3. Burp View タブ</h4>
861861
<dl>
862862
<dt class="hdlist1">[Burp suite ToolBar] チェックボックス</dt>
863863
<dd>
864-
<p>Burp suite ツールバーの表示</p>
864+
<p>Burp suite ツールバーの表示します。</p>
865865
</dd>
866866
</dl>
867867
</div>
868+
<div class="paragraph">
869+
<p><span class="image"><img src="images/burp_toolbar.png" alt="Burp ToolBar"></span></p>
870+
</div>
868871
</div>
869872
</div>
870873
<div class="sect2">
@@ -2993,7 +2996,7 @@ <h3 id="_version">3.11. Version</h3>
29932996
<div id="footer">
29942997
<div id="footer-text">
29952998
Version v3.1.5.0<br>
2996-
Last updated 2024-11-27 21:03:09 +0900
2999+
Last updated 2024-11-30 08:19:26 +0900
29973000
</div>
29983001
</div>
29993002
</body>

help/help.html

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -730,19 +730,19 @@ <h3 id="_extension">2.8. Extension</h3>
730730
</div>
731731
<div class="dlist">
732732
<dl>
733-
<dt class="hdlist1">Paste include Target scope(multi-line)</dt>
733+
<dt class="hdlist1">Paste include Target scope (multi-line)</dt>
734734
<dd>
735735
<p>Add a multi-line URL set on the clipboard to the Target Scope Include in scope.</p>
736736
</dd>
737-
<dt class="hdlist1">Paste include Top URL Target scope(multi-line)</dt>
737+
<dt class="hdlist1">Paste Top URL into include Target scope (multi-line)</dt>
738738
<dd>
739739
<p>Add a multi-line Top URL set on the clipboard to the Target Scope Include in scope.</p>
740740
</dd>
741-
<dt class="hdlist1">Paste exclude Target scope(multi-line)</dt>
741+
<dt class="hdlist1">Paste exclude Target scope (multi-line)</dt>
742742
<dd>
743743
<p>Add a multi-line URL set on the clipboard to the Target Scope Exclude in scope.</p>
744744
</dd>
745-
<dt class="hdlist1">Paste SSL pass through(multi-line)</dt>
745+
<dt class="hdlist1">Paste SSL pass through (multi-line)</dt>
746746
<dd>
747747
<p>Add a multi-line URL set on the clipboard to the SSL pass through.</p>
748748
</dd>
@@ -866,6 +866,9 @@ <h4 id="_burp_view_tab">3.1.3. Burp View tab</h4>
866866
</dd>
867867
</dl>
868868
</div>
869+
<div class="paragraph">
870+
<p><span class="image"><img src="images/burp_toolbar.png" alt="Burp ToolBar"></span></p>
871+
</div>
869872
</div>
870873
</div>
871874
<div class="sect2">
@@ -3005,7 +3008,7 @@ <h3 id="_version">3.11. Version</h3>
30053008
<div id="footer">
30063009
<div id="footer-text">
30073010
Version v3.1.5.0<br>
3008-
Last updated 2024-11-27 21:02:56 +0900
3011+
Last updated 2024-11-30 08:08:25 +0900
30093012
</div>
30103013
</div>
30113014
</body>

help/images/burp_toolbar.png

5.72 KB
Loading

release/YaguraExtension-v3.1.jar

11.1 KB
Binary file not shown.

src/main/help/help-ja.adoc

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,16 +97,16 @@ Result FilterタブでBambda modeを切り換えるためのタブを作成す
9797

9898
選択した拡張機能を実行します。
9999

100-
Paste include Target scope(multi-line)::
100+
Paste include Target scope (multi-line)::
101101
クリップボードに設定された、複数行のURLをTarget Scopeの Include in scope に追加します。
102102

103-
Paste include Top URL Target scope(multi-line)::
103+
Paste Top URL into include Target scope (multi-line)::
104104
クリップボードに設定された、複数行のTop URLをTarget Scopeの Include in scope に追加します。
105105

106-
Paste exclude Target scope(multi-line)::
106+
Paste exclude Target scope (multi-line)::
107107
クリップボードに設定された、複数行のURLをTarget Scopeの Exclude from scope に追加します。
108108

109-
Paste SSL pass through(multi-line)::
109+
Paste SSL pass through (multi-line)::
110110
クリップボードに設定された、複数行のURLをTarget Scopeの SSL pass through に追加します。
111111

112112
=== Burp Charsets
@@ -187,7 +187,9 @@ image:images/custom_burpview.png[Burp View tab]
187187

188188
[Burp suite ToolBar] チェックボックス::
189189

190-
Burp suite ツールバーの表示
190+
Burp suite ツールバーの表示します。
191+
192+
image:images/burp_toolbar.png[Burp ToolBar]
191193

192194
=== MatchReplaceタブ
193195

src/main/help/help.adoc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,16 +98,16 @@ You can create a tab to switch Bambda mode in the Result Filter tab.
9898

9999
Run the selected extension.
100100

101-
Paste include Target scope(multi-line)::
101+
Paste include Target scope (multi-line)::
102102
Add a multi-line URL set on the clipboard to the Target Scope Include in scope.
103103

104-
Paste include Top URL Target scope(multi-line)::
104+
Paste Top URL into include Target scope (multi-line)::
105105
Add a multi-line Top URL set on the clipboard to the Target Scope Include in scope.
106106

107-
Paste exclude Target scope(multi-line)::
107+
Paste exclude Target scope (multi-line)::
108108
Add a multi-line URL set on the clipboard to the Target Scope Exclude in scope.
109109

110-
Paste SSL pass through(multi-line)::
110+
Paste SSL pass through (multi-line)::
111111
Add a multi-line URL set on the clipboard to the SSL pass through.
112112

113113
=== Burp Charsets
@@ -189,6 +189,8 @@ image:images/custom_burpview.png[Burp View tab]
189189

190190
Show Burp suite Toolbar
191191

192+
image:images/burp_toolbar.png[Burp ToolBar]
193+
192194
=== MatchReplace tab
193195

194196
image:images/custom_matchreplace.png[MatchReplace tab]
5.72 KB
Loading

src/main/java/extend/util/external/BrowserUtil.java

Lines changed: 62 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import java.net.URL;
88
import java.nio.file.Path;
99
import java.util.ArrayList;
10+
import java.util.Arrays;
11+
import java.util.Comparator;
1012
import java.util.List;
1113
import java.util.Properties;
1214
import java.util.logging.Level;
@@ -21,7 +23,9 @@ public class BrowserUtil {
2123

2224
private final static Logger logger = Logger.getLogger(BrowserUtil.class.getName());
2325

24-
private final static String CHROMIUM_EXTENSIONS = "/Browser/ChromiumExtension";
26+
public final static String PROFILE_DEFAULT = "Default";
27+
28+
private final static String CHROMIUM_EXTENSIONS = "resources/Browser/ChromiumExtension";
2529

2630
private final static String CHROMIUM_PROPERTIES = "/chromium.properties";
2731

@@ -130,48 +134,47 @@ public static Path getBrowsePath() {
130134
return dir.resolve(path);
131135
}
132136

133-
134137
public static List<String> getBrowserExecAndArgs(String profile, int port) {
135138
// chrome://version/ から情報取得
136139
final List<String> CHROME_ARGS = List.of(
137-
"--disable-ipc-flooding-protection",
138-
"--disable-xss-auditor",
139-
"--disable-bundled-ppapi-flash",
140-
"--disable-plugins-discovery",
141-
"--disable-default-apps",
142-
"--disable-prerender-local-predictor",
143-
"--disable-sync",
144-
"--disable-breakpad",
145-
"--disable-crash-reporter",
146-
"--disable-prerender-local-predictor",
147-
"--disk-cache-size=0",
148-
"--disable-settings-window",
149-
"--disable-notifications",
150-
"--disable-speech-api",
151-
"--disable-file-system",
152-
"--disable-presentation-api",
153-
"--disable-permissions-api",
154-
"--disable-new-zip-unpacker",
155-
"--disable-media-session-api",
156-
"--no-experiments",
157-
"--no-events",
158-
"--no-first-run",
159-
"--no-default-browser-check",
160-
"--no-pings",
161-
"--no-service-autorun",
162-
"--media-cache-size=0",
163-
"--use-fake-device-for-media-stream",
164-
"--dbus-stub",
165-
"--disable-background-networking",
166-
"--disable-features=ChromeWhatsNewUI,HttpsUpgrades,ImageServiceObserveSyncDownloadStatus",
167-
"--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.127 Safari/537.36",
168-
"--ignore-certificate-errors",
169-
String.format("--proxy-server=localhost:%d", port),
170-
"--proxy-bypass-list=<-loopback>",
171-
String.format("--profile-directory=%s", profile),
172-
String.format("--user-data-dir=%s", getBrowseUserDataDirectory().toString()),
173-
String.format("--load-extension=%s", getBrowseExtensionDirectory().toString()),
174-
"chrome://newtab"
140+
"--disable-ipc-flooding-protection",
141+
"--disable-xss-auditor",
142+
"--disable-bundled-ppapi-flash",
143+
"--disable-plugins-discovery",
144+
"--disable-default-apps",
145+
"--disable-prerender-local-predictor",
146+
"--disable-sync",
147+
"--disable-breakpad",
148+
"--disable-crash-reporter",
149+
"--disable-prerender-local-predictor",
150+
"--disk-cache-size=0",
151+
"--disable-settings-window",
152+
"--disable-notifications",
153+
"--disable-speech-api",
154+
"--disable-file-system",
155+
"--disable-presentation-api",
156+
"--disable-permissions-api",
157+
"--disable-new-zip-unpacker",
158+
"--disable-media-session-api",
159+
"--no-experiments",
160+
"--no-events",
161+
"--no-first-run",
162+
"--no-default-browser-check",
163+
"--no-pings",
164+
"--no-service-autorun",
165+
"--media-cache-size=0",
166+
"--use-fake-device-for-media-stream",
167+
"--dbus-stub",
168+
"--disable-background-networking",
169+
"--disable-features=ChromeWhatsNewUI,HttpsUpgrades,ImageServiceObserveSyncDownloadStatus",
170+
"--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.127 Safari/537.36",
171+
"--ignore-certificate-errors",
172+
String.format("--proxy-server=localhost:%d", port),
173+
"--proxy-bypass-list=<-loopback>",
174+
String.format("--profile-directory=%s", profile),
175+
String.format("--user-data-dir=%s", getBrowseUserDataDirectory().toString()),
176+
String.format("--load-extension=%s", getBrowseExtensionDirectory().toString()),
177+
"chrome://newtab"
175178
);
176179
BurpVersion.OSType os = BurpVersion.getOSType();
177180
List<String> chromeExecAndArg = new ArrayList<>();
@@ -183,23 +186,36 @@ public static List<String> getBrowserExecAndArgs(String profile, int port) {
183186
return chromeExecAndArg;
184187
}
185188

186-
public static void copyBrowserExtension() {
187-
URL url = BrowserUtil.class.getResource(CHROMIUM_EXTENSIONS);
189+
public static void copyBrowserExtension() throws IOException {
188190
if (!existsBrowseExtensionDirectory()) {
189-
191+
File browserExtensions = getBrowseExtensionDirectory().toFile();
192+
browserExtensions.mkdir();
193+
URL burpJarUrl = BrowserUtil.class.getResource("/");
194+
String burpJar = ZipUtil.getBaseJar(burpJarUrl);
195+
ZipUtil.decompressZip(new File(burpJar), browserExtensions, CHROMIUM_EXTENSIONS);
190196
}
191197
}
192198

193199
public static File[] getUserProfile() {
194200
File file = getBrowseUserDataDirectory().toFile();
195-
File[] list = file.listFiles(new FileFilter() {
201+
File[] profiles = file.listFiles(new FileFilter() {
196202

197203
@Override
198204
public boolean accept(File pathname) {
199-
return pathname.isDirectory() && pathname.getName().startsWith("Profile");
205+
return pathname.isDirectory() && pathname.getName().startsWith("Profile ");
206+
}
207+
208+
});
209+
profiles = (profiles == null) ? new File[]{} : profiles;
210+
Arrays.sort(profiles, new Comparator<File>() {
211+
@Override
212+
public int compare(File f1, File f2) {
213+
int p1 = Integer.parseInt(f1.getName().substring("Profile ".length()));
214+
int p2 = Integer.parseInt(f2.getName().substring("Profile ".length()));
215+
return p1 - p2;
200216
}
201217
});
202-
return (list == null) ? new File[] {} : list;
218+
return profiles;
203219
}
204220

205221
public static void openBrowser(String profile, int port) {

src/main/java/yagura/handler/MenuHander.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -524,16 +524,16 @@ public String translate(String allText, String selectedText) {
524524
yaguraExtensionMenu.setText("Extension (X)");
525525
yaguraExtensionMenu.setMnemonic(KeyEvent.VK_X);
526526

527-
JMenuItem yaguraPasteIncludeTargetScopeMenu = createMenuItem("Paste include Target scope(multi-line)", KeyEvent.VK_I, includeTargetScopeAction);
527+
JMenuItem yaguraPasteIncludeTargetScopeMenu = createMenuItem("Paste include Target scope (multi-line)", KeyEvent.VK_I, includeTargetScopeAction);
528528
yaguraExtensionMenu.add(yaguraPasteIncludeTargetScopeMenu);
529529

530-
JMenuItem yaguraPasteIncludeHostScopeMenu = createMenuItem("Paste include Top URL Target scope(multi-line)", KeyEvent.VK_H, includeTopURLTargetScopeAction);
531-
yaguraExtensionMenu.add(yaguraPasteIncludeHostScopeMenu);
530+
JMenuItem yaguraPasteIncludeTopUrlScopeMenu = createMenuItem("Paste Top URL into include Target scope (multi-line)", KeyEvent.VK_H, includeTopURLTargetScopeAction);
531+
yaguraExtensionMenu.add(yaguraPasteIncludeTopUrlScopeMenu);
532532

533-
JMenuItem yaguraPasteExludeTargetScopeMenu = createMenuItem("Paste exclude Target scope(multi-line)", KeyEvent.VK_E, excludeTargetScopeAction);
533+
JMenuItem yaguraPasteExludeTargetScopeMenu = createMenuItem("Paste exclude Target scope (multi-line)", KeyEvent.VK_E, excludeTargetScopeAction);
534534
yaguraExtensionMenu.add(yaguraPasteExludeTargetScopeMenu);
535535

536-
JMenuItem yaguraPasteSSLPassThroughMenu = createMenuItem("Paste SSL pass through(multi-line)", KeyEvent.VK_P, sslPassThroughAction);
536+
JMenuItem yaguraPasteSSLPassThroughMenu = createMenuItem("Paste SSL pass through (multi-line)", KeyEvent.VK_P, sslPassThroughAction);
537537
yaguraExtensionMenu.add(yaguraPasteSSLPassThroughMenu);
538538
yaguraMenu.add(yaguraExtensionMenu);
539539

0 commit comments

Comments
 (0)