Skip to content

Commit 841f120

Browse files
committed
精简代码,并将版本号修改为0.3
1 parent 8d9f3db commit 841f120

File tree

6 files changed

+86
-127
lines changed

6 files changed

+86
-127
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>me.gv7.tools.burpextend</groupId>
88
<artifactId>jsEncrypter</artifactId>
9-
<version>0.2.2</version>
9+
<version>0.3</version>
1010

1111
<dependencies>
1212
<!-- https://mvnrepository.com/artifact/net.portswigger.burp.extender/burp-extender-api -->

src/main/java/burp/BurpExtender.java

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
public class BurpExtender implements IBurpExtender,IIntruderPayloadProcessor,ITab {
88
public final static String extensionName = "jsEncrypter";
9-
public final static String version ="0.2.2";
9+
public final static String version ="0.3";
1010
public static IBurpExtenderCallbacks callbacks;
1111
public static IExtensionHelpers helpers;
1212
public static PrintWriter stdout;
@@ -24,15 +24,13 @@ public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) {
2424
callbacks.registerContextMenuFactory(new Menu());
2525
callbacks.registerIntruderPayloadProcessor(this);
2626

27-
BurpExtender.this.gui = new GUI(callbacks);
27+
BurpExtender.this.gui = new GUI();
2828
SwingUtilities.invokeLater(new Runnable()
2929
{
3030
public void run()
3131
{
32-
BurpExtender.this.callbacks.addSuiteTab(BurpExtender.this);
33-
stdout.println("[+] jsEncrypter is loaded");
34-
stdout.println("[+] ^_^");
35-
stdout.println(getBanner());
32+
BurpExtender.this.callbacks.addSuiteTab(BurpExtender.this);
33+
stdout.println(Utils.getBanner());
3634
}
3735
});
3836

@@ -49,23 +47,9 @@ public String getProcessorName() {
4947

5048
@Override
5149
public byte[] processPayload(byte[] currentPayload, byte[] originalPayload, byte[] baseValue) {
52-
byte[] newPayload = "".getBytes();
5350
String payload = new String(currentPayload);
54-
String strPayload = null;
55-
try {
56-
HttpClient hc = new HttpClient(gui.getURL());
57-
hc.setConnTimeout(gui.getTimeout());
58-
hc.setReadTimeout(gui.getTimeout());
59-
String data = "payload=" + payload;
60-
hc.setData(data);
61-
hc.sendPost();
62-
strPayload = hc.getRspData();
63-
} catch (Exception e) {
64-
stderr.println(e.getMessage());
65-
newPayload = e.getMessage().getBytes();
66-
}
67-
newPayload = helpers.stringToBytes(strPayload);
68-
return newPayload;
51+
String newPayload = Utils.sendPayload(payload);
52+
return helpers.stringToBytes(newPayload);
6953
}
7054

7155
//
@@ -81,18 +65,4 @@ public String getTabCaption() {
8165
public Component getUiComponent() {
8266
return gui.getComponet();
8367
}
84-
85-
//////////////////////////////////////////////////////////////////////
86-
87-
public String getBanner(){
88-
String bannerInfo =
89-
"[+]\n"
90-
+ "[+] #####################################\n"
91-
+ "[+] " + extensionName + " v" + version +"\n"
92-
+ "[+] anthor: c0ny1\n"
93-
+ "[+] email: [email protected]\n"
94-
+ "[+] github: http://github.com/c0ny1/jsEncrypter\n"
95-
+ "[+] ####################################";
96-
return bannerInfo;
97-
}
9868
}

src/main/java/burp/GUI.java

Lines changed: 32 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,8 @@
88
import java.awt.Component;
99
import java.awt.event.ActionListener;
1010
import java.awt.event.ActionEvent;
11-
import java.io.PrintWriter;
1211

1312
public class GUI{
14-
private IBurpExtenderCallbacks mCall;
15-
private IExtensionHelpers helpers;
16-
private PrintWriter stdout;
17-
private PrintWriter stderr;
18-
1913
private JPanel contentPane;
2014
private JLabel lbHost;
2115
private JTextField tfHost;
@@ -42,11 +36,7 @@ public class GUI{
4236
"woaini520","woaini","100200","1314520"
4337
};
4438

45-
public GUI(IBurpExtenderCallbacks callbacks) {
46-
this.mCall = callbacks;
47-
this.helpers = callbacks.getHelpers();
48-
this.stdout = new PrintWriter(callbacks.getStdout(), true);
49-
this.stderr = new PrintWriter(callbacks.getStderr(), true);
39+
public GUI() {
5040
contentPane = new JPanel();
5141
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
5242
contentPane.setLayout(new BorderLayout(0, 0));
@@ -85,24 +75,24 @@ public GUI(IBurpExtenderCallbacks callbacks) {
8575
btnConn.setToolTipText("Test the connection phantomJS");
8676
btnConn.addActionListener(new ActionListener() {
8777
public void actionPerformed(ActionEvent arg0) {
88-
GUI.this.testConnect();
78+
GUI.this.TestConnect();
8979
}
9080
});
9181
panel.add(btnConn);
9282

9383
lbConnectInfo = new JLabel("IsConnect:");
9484
panel.add(lbConnectInfo);
95-
lbConnectStatus = new JLabel("noknow");
85+
lbConnectStatus = new JLabel("unknown");
9686
lbConnectStatus.setForeground(new Color(0, 0, 255));
9787
panel.add(lbConnectStatus);
9888

9989
btnTest = new JButton("Test");
10090
btnTest.addActionListener(new ActionListener() {
10191
public void actionPerformed(ActionEvent arg0) {
102-
testConnect();
92+
GUI.this.TestConnect();
10393
if(isSucces){
104-
GUI.this.Test();
105-
GUI.this.stdout.println("[+] test...");
94+
GUI.this.TestPayload();
95+
BurpExtender.stdout.println("[+] test...");
10696
}else{
10797
JOptionPane.showMessageDialog(contentPane, "Please check if you can connect phantomJS!", "alert", JOptionPane.ERROR_MESSAGE);
10898
}
@@ -134,12 +124,12 @@ public void actionPerformed(ActionEvent arg0) {
134124
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
135125
splitPane.setRightComponent(spResultPayload);
136126

137-
mCall.customizeUiComponent(panel);
138-
mCall.customizeUiComponent(btnTest);
139-
mCall.customizeUiComponent(btnConn);
140-
mCall.customizeUiComponent(taTestPayload);
141-
mCall.customizeUiComponent(splitPane);
142-
mCall.customizeUiComponent(contentPane);
127+
BurpExtender.callbacks.customizeUiComponent(panel);
128+
BurpExtender.callbacks.customizeUiComponent(btnTest);
129+
BurpExtender.callbacks.customizeUiComponent(btnConn);
130+
BurpExtender.callbacks.customizeUiComponent(taTestPayload);
131+
BurpExtender.callbacks.customizeUiComponent(splitPane);
132+
BurpExtender.callbacks.customizeUiComponent(contentPane);
143133
}
144134

145135
public Component getComponet(){
@@ -149,42 +139,40 @@ public Component getComponet(){
149139
public Integer getTimeout(){
150140
return Integer.valueOf(tfTimeout.getText());
151141
}
142+
143+
// 发送连接测试,确定是否能连接加密服务端
144+
private void TestConnect(){
145+
boolean isConn = Utils.sendTestConnect();
146+
if(isConn){
147+
BurpExtender.stdout.println("[+] connect success!");
148+
lbConnectStatus.setText("True");
149+
isSucces = true;
150+
lbConnectStatus.setForeground(new Color(0,255,0));
151+
}else{
152+
BurpExtender.stdout.println("[-] connect fail!");
153+
lbConnectStatus.setText("False");
154+
isSucces = false;
155+
lbConnectStatus.setForeground(new Color(255,0,0));
156+
}
157+
}
158+
152159

153-
// 测试
154-
private void Test() {
160+
// 发送测试payload,确定是否加密成功
161+
private void TestPayload() {
155162
taResultPayload.setText("");
156163
btnTest.setEnabled(false);
157164
SwingUtilities.invokeLater(new Runnable() {
158165
public void run() {
159166
String[] payloads = taTestPayload.getText().split("\n\r");
160167
for (String payload : payloads) {
161-
String newPayload = sendTestPaylaod(payload);
168+
String newPayload = Utils.sendPayload(payload);
162169
taResultPayload.append(newPayload + "\n\r");
163170
}
164171
btnTest.setEnabled(true);
165172
}
166173
});
167174
}
168175

169-
// 发送测试payload
170-
private String sendTestPaylaod(String payload) {
171-
String newPayload = null;
172-
try {
173-
HttpClient hc = new HttpClient(this.getURL());
174-
hc.setConnTimeout(Integer.valueOf(tfTimeout.getText()));
175-
hc.setReadTimeout(Integer.valueOf(tfTimeout.getText()));
176-
String data = "payload=" + payload;
177-
hc.setData(data);
178-
hc.sendPost();
179-
newPayload = hc.getRspData();
180-
} catch (Exception e) {
181-
stderr.println(e.getMessage());
182-
newPayload = e.getMessage();
183-
}
184-
return newPayload;
185-
}
186-
187-
188176
// 获取phantomJS
189177
public String getURL(){
190178
String URL;
@@ -193,32 +181,4 @@ public String getURL(){
193181
URL = String.format("http://%s:%s",host,port);
194182
return URL;
195183
}
196-
197-
//测试连接phantomJS
198-
private void testConnect(){
199-
try {
200-
HttpClient hc = new HttpClient(this.getURL());
201-
hc.setReadTimeout(Integer.valueOf(tfTimeout.getText()));
202-
hc.setConnTimeout(Integer.valueOf(tfTimeout.getText()));
203-
hc.sendGet();
204-
int n = helpers.indexOf(hc.getRspData().getBytes(), "hello".getBytes(), false, 0, hc.getRspData().length());
205-
if((hc.getStatusCode() == 200)&&(n != -1)){
206-
stdout.println("[+] connect success!");
207-
lbConnectStatus.setText("True");
208-
isSucces = true;
209-
lbConnectStatus.setForeground(new Color(0,255,0));
210-
}else{
211-
stdout.println("[-] connect fail!");
212-
lbConnectStatus.setText("False");
213-
isSucces = false;
214-
lbConnectStatus.setForeground(new Color(255,0,0));
215-
}
216-
} catch (Exception e) {
217-
stderr.println(e.getMessage());
218-
stdout.println("[-] connect fail!");
219-
lbConnectStatus.setText("False");
220-
isSucces = false;
221-
lbConnectStatus.setForeground(new Color(255,0,0));
222-
}
223-
}
224184
}

src/main/java/burp/HttpClient.java

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ public class HttpClient {
1515
private Integer connTimeout = 3000;
1616
private Integer readTimeout = 3000;
1717
private String ua = "jsEncrypter client";
18-
private Integer statusCode;
19-
private String rspData;
18+
private Integer statusCode = 0;
19+
private String rspData = null;
2020

2121
public HttpClient(String url){
2222
this.url = url;
@@ -89,9 +89,9 @@ public void sendGet(){
8989
rspData += line;
9090
}
9191
}catch (MalformedURLException e){
92-
rspData = e.getMessage();
92+
rspData = "jsEncrypter wanning:" + e.getMessage();
9393
}catch (IOException e){
94-
rspData = e.getMessage();
94+
rspData = "jsEncrypter wanning:" + e.getMessage();
9595
}
9696
this.rspData = rspData;
9797
}
@@ -102,27 +102,29 @@ public void sendPost(){
102102
BufferedReader in = null;
103103
try {
104104
URL realUrl = new URL(this.url);
105-
URLConnection conn = realUrl.openConnection();
106-
conn.setRequestProperty("user-agent", this.ua);
107-
conn.setConnectTimeout(this.connTimeout);
108-
conn.setReadTimeout(this.readTimeout);
109-
110-
conn.setDoOutput(true);
111-
conn.setDoInput(true);
112-
out = new PrintWriter(conn.getOutputStream());
105+
URLConnection urlConn = realUrl.openConnection();
106+
HttpURLConnection httpConn = (HttpURLConnection) urlConn;
107+
httpConn.setRequestProperty("user-agent", this.ua);
108+
httpConn.setConnectTimeout(this.connTimeout);
109+
httpConn.setReadTimeout(this.readTimeout);
110+
111+
httpConn.setDoOutput(true);
112+
httpConn.setDoInput(true);
113+
out = new PrintWriter(httpConn.getOutputStream());
113114
out.print(data);
114-
conn.connect();
115+
httpConn.connect();
115116
out.flush();
116117

117-
in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
118+
this.statusCode = httpConn.getResponseCode();
119+
in = new BufferedReader(new InputStreamReader(httpConn.getInputStream()));
118120
String line;
119121
while ((line = in.readLine()) != null) {
120122
rspData += line;
121123
}
122124
}catch (MalformedURLException e){
123-
rspData = e.getMessage();
125+
rspData = "jsEncrypter wanning:" + e.getMessage();
124126
}catch (IOException e){
125-
rspData = e.getMessage();
127+
rspData = "jsEncrypter wanning:" + e.getMessage();
126128
}
127129
this.rspData = rspData;
128130
}

src/main/java/burp/Menu.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ public void actionPerformed(ActionEvent e) {
3131
strReq = strReq.replace(strSelect,strEncrypt);
3232
byte[] newRequst = BurpExtender.helpers.stringToBytes(strReq);
3333
reqRsp.setRequest(newRequst);
34-
} catch (UnsupportedEncodingException e1) {
35-
BurpExtender.stderr.println(e1.getMessage());
34+
} catch (UnsupportedEncodingException er) {
35+
BurpExtender.stderr.println(er.getMessage());
3636
}
3737
}
3838
});

src/main/java/burp/Utils.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,31 @@ public static String sendPayload(String payload){
1212
encryptPayload = hc.getRspData();
1313
return encryptPayload;
1414
}
15+
16+
public static boolean sendTestConnect(){
17+
HttpClient hc = new HttpClient(BurpExtender.gui.getURL());
18+
hc.setReadTimeout(Integer.valueOf(BurpExtender.gui.getTimeout()));
19+
hc.setConnTimeout(Integer.valueOf(BurpExtender.gui.getTimeout()));
20+
hc.sendGet();
21+
int n = BurpExtender.helpers.indexOf(hc.getRspData().getBytes(), "hello".getBytes(), false, 0, hc.getRspData().length());
22+
if((hc.getStatusCode() == 200)&&(n != -1)){
23+
return true;
24+
}else{
25+
return false;
26+
}
27+
}
28+
29+
public static String getBanner(){
30+
String bannerInfo =
31+
"[+] " + BurpExtender.extensionName + " is loaded\n"
32+
+ "[+] ^_^\n"
33+
+ "[+]\n"
34+
+ "[+] #####################################\n"
35+
+ "[+] " + BurpExtender.extensionName + " v" + BurpExtender.version +"\n"
36+
+ "[+] anthor: c0ny1\n"
37+
+ "[+] email: [email protected]\n"
38+
+ "[+] github: http://github.com/c0ny1/jsEncrypter\n"
39+
+ "[+] ####################################";
40+
return bannerInfo;
41+
}
1542
}

0 commit comments

Comments
 (0)