54 | * 根据传进来的 value 进行域名拼接, 接着以http get请求进行访问
55 | * 例如:
56 | * 临时域名: fs.dnslog.cn
57 | * value: testlog
58 | * 拼接:http://testlog.fs.dnslog.cn 然后以http get请求进行访问,结束
59 | *
60 | * @param value
61 | */
62 | @Override
63 | public void sendAccessLog(String value) {
64 | if (this.getTemporaryDomainName() == null || this.getTemporaryDomainName().isEmpty()) {
65 | throw new IllegalArgumentException("临时域名获取失败, 无法发送日志");
66 | }
67 |
68 | if (value == null || value.isEmpty()) {
69 | throw new IllegalArgumentException("sendAccessLog()方法, value参数不能为空");
70 | }
71 |
72 | String domainName = "http://" + value + "." + this.getTemporaryDomainName();
73 | String userAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36";
74 |
75 | HttpRequest request = HttpRequest.get(domainName);
76 | request.trustAllCerts();
77 | request.trustAllHosts();
78 | request.followRedirects(false);
79 | request.header("User-Agent", userAgent);
80 | request.header("Accept", "*/*");
81 | request.readTimeout(3 * 1000);
82 | request.connectTimeout(3 * 1000);
83 |
84 | try {
85 | request.ok();
86 | } catch (Exception e) {
87 | // 这里选择不处理, 因为发送过去的域名肯定是连接不到的
88 | // 所以必定爆错, 因此直接屏蔽该接口的爆错即可
89 | }
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/src/main/java/burp/DnsLogModule/ExtensionInterface/DnsLogInterface.java:
--------------------------------------------------------------------------------
1 | package burp.DnsLogModule.ExtensionInterface;
2 |
3 | /**
4 | * DnsLog扩展的公共接口
5 | * 所有的抽象类都要继承它并实现所有的接口
6 | */
7 | public interface DnsLogInterface {
8 | String getExtensionName();
9 |
10 | String getTemporaryDomainName();
11 |
12 | String getBodyContent();
13 |
14 | void sendAccessLog(String value);
15 |
16 | String export();
17 |
18 | void consoleExport();
19 | }
--------------------------------------------------------------------------------
/src/main/java/burp/DnsLogModule/ExtensionMethod/BurpDnsLog.java:
--------------------------------------------------------------------------------
1 | package burp.DnsLogModule.ExtensionMethod;
2 |
3 | import java.util.Map;
4 | import java.util.List;
5 | import java.util.Arrays;
6 | import java.util.Iterator;
7 | import java.io.PrintWriter;
8 |
9 | import burp.IExtensionHelpers;
10 | import burp.IBurpExtenderCallbacks;
11 | import burp.IBurpCollaboratorInteraction;
12 | import burp.IBurpCollaboratorClientContext;
13 | import burp.DnsLogModule.ExtensionInterface.DnsLogAbstract;
14 |
15 | public class BurpDnsLog extends DnsLogAbstract {
16 | private IBurpExtenderCallbacks callbacks;
17 | private IExtensionHelpers helpers;
18 |
19 | private IBurpCollaboratorClientContext burpCollaboratorClientContext;
20 |
21 | private String dnslogContent = null;
22 |
23 | public BurpDnsLog(IBurpExtenderCallbacks callbacks) {
24 | this.callbacks = callbacks;
25 | this.helpers = callbacks.getHelpers();
26 |
27 | this.burpCollaboratorClientContext = callbacks.createBurpCollaboratorClientContext();
28 |
29 | setExtensionName("BurpDnsLog");
30 |
31 | this.init();
32 | }
33 |
34 | private void init() {
35 | // 通过burp组建获取临时dnslog域名
36 | String temporaryDomainName = this.burpCollaboratorClientContext.generatePayload(true);
37 | if (temporaryDomainName == null || temporaryDomainName.length() <= 0) {
38 | throw new RuntimeException(
39 | String.format(
40 | "%s 扩展-获取临时域名失败, 请检查本机是否可使用burp自带的dnslog客户端",
41 | this.getExtensionName()));
42 | }
43 | this.setTemporaryDomainName(temporaryDomainName);
44 | }
45 |
46 | @Override
47 | public String getBodyContent() {
48 | List
============dnsLogExtensionDetail============
");
75 | String str2 = String.format("ExtensionMethod: %s
", this.getExtensionName());
76 | String str3 = String.format("dnsLogTemporaryDomainName: %s
", this.getTemporaryDomainName());
77 | String str4 = String.format("=====================================
");
78 |
79 | String detail = str1 + str2 + str3 + str4;
80 |
81 | return detail;
82 | }
83 |
84 | @Override
85 | public void consoleExport() {
86 | PrintWriter stdout = new PrintWriter(this.callbacks.getStdout(), true);
87 |
88 | stdout.println("");
89 | stdout.println("===========dnsLog扩展详情===========");
90 | stdout.println("你好呀~ (≧ω≦*)喵~");
91 | stdout.println(String.format("被调用的插件: %s", this.getExtensionName()));
92 | stdout.println(String.format("dnsLog临时域名: %s", this.getTemporaryDomainName()));
93 | stdout.println("===================================");
94 | stdout.println("");
95 | }
96 | }
97 |
--------------------------------------------------------------------------------
/src/main/java/burp/DnsLogModule/ExtensionMethod/Ceye.java:
--------------------------------------------------------------------------------
1 | package burp.DnsLogModule.ExtensionMethod;
2 |
3 | import burp.Bootstrap.CustomHelpers;
4 | import burp.Bootstrap.YamlReader;
5 | import burp.DnsLogModule.ExtensionInterface.DnsLogAbstract;
6 | import burp.IBurpExtenderCallbacks;
7 | import com.github.kevinsawicki.http.HttpRequest;
8 |
9 | import java.io.PrintWriter;
10 |
11 | public class Ceye extends DnsLogAbstract {
12 | private IBurpExtenderCallbacks callbacks;
13 |
14 | private String dnslogDomainName;
15 |
16 | private YamlReader yamlReader;
17 |
18 | private String key;
19 | private String token;
20 | private String Identifier;
21 |
22 | public Ceye(IBurpExtenderCallbacks callbacks) {
23 | this.callbacks = callbacks;
24 |
25 | this.dnslogDomainName = "http://api.ceye.io";
26 |
27 | this.setExtensionName("Ceye");
28 |
29 | this.yamlReader = YamlReader.getInstance(callbacks);
30 | String other = this.yamlReader.getString("dnsLogModule.other");
31 |
32 | this.key = CustomHelpers.randomStr(8);
33 | this.token = CustomHelpers.getParam(other, "token").trim();
34 | this.Identifier = CustomHelpers.getParam(other, "Identifier").trim();
35 |
36 | this.init();
37 | }
38 |
39 | private void init() {
40 | if (this.token == null || this.token.length() <= 0) {
41 | throw new RuntimeException(String.format("%s 扩展-token参数不能为空", this.getExtensionName()));
42 | }
43 | if (this.Identifier == null || this.Identifier.length() <= 0) {
44 | throw new RuntimeException(String.format("%s 扩展-Identifier参数不能为空", this.getExtensionName()));
45 | }
46 |
47 | String temporaryDomainName = this.key + "." + this.Identifier;
48 | this.setTemporaryDomainName(temporaryDomainName);
49 | }
50 |
51 | @Override
52 | public String getBodyContent() {
53 | String url = String.format("%s/v1/records?token=%s&type=dns&filter=%s", this.dnslogDomainName, this.token, this.key + ".");
54 | String userAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36";
55 | HttpRequest request = HttpRequest.get(url);
56 | request.trustAllCerts();
57 | request.trustAllHosts();
58 | request.followRedirects(false);
59 | request.header("User-Agent", userAgent);
60 | request.header("Accept", "*/*");
61 | request.readTimeout(30 * 1000);
62 | request.connectTimeout(30 * 1000);
63 |
64 | String body = request.body();
65 |
66 | if (!request.ok()) {
67 | throw new RuntimeException(
68 | String.format(
69 | "%s 扩展-%s内容有异常,异常内容: %s",
70 | this.getExtensionName(),
71 | this.dnslogDomainName,
72 | body
73 | )
74 | );
75 | }
76 |
77 | if (body.contains("[]")) {
78 | return null;
79 | }
80 | return body;
81 | }
82 |
83 | @Override
84 | public String export() {
85 | String str1 = String.format("
============dnsLogExtensionDetail============
");
86 | String str2 = String.format("ExtensionMethod: %s
", this.getExtensionName());
87 | String str3 = String.format("dnsLogDomainName: %s
", this.dnslogDomainName);
88 | String str4 = String.format("dnsLogRecordsApi: %s/v1/records?token=%s&type=dns&filter=%s
", this.dnslogDomainName, this.token, this.key + ".");
89 | String str5 = String.format("dnsLogTemporaryDomainName: %s
", this.getTemporaryDomainName());
90 | String str6 = String.format("=====================================
");
91 |
92 | String detail = str1 + str2 + str3 + str4 + str5 + str6;
93 |
94 | return detail;
95 | }
96 |
97 | @Override
98 | public void consoleExport() {
99 | PrintWriter stdout = new PrintWriter(this.callbacks.getStdout(), true);
100 |
101 | stdout.println("");
102 | stdout.println("===========dnsLog扩展详情===========");
103 | stdout.println("你好呀~ (≧ω≦*)喵~");
104 | stdout.println(String.format("被调用的插件: %s", this.getExtensionName()));
105 | stdout.println(String.format("dnsLog域名: %s", this.dnslogDomainName));
106 | stdout.println(String.format("dnsLogRecordsApi: %s/v1/records?token=%s&type=dns&filter=%s", this.dnslogDomainName, this.token, this.key + "."));
107 | stdout.println(String.format("dnsLog临时域名: %s", this.getTemporaryDomainName()));
108 | stdout.println("===================================");
109 | stdout.println("");
110 | }
111 | }
112 |
--------------------------------------------------------------------------------
/src/main/java/burp/DnsLogModule/ExtensionMethod/DnsLogCn.java:
--------------------------------------------------------------------------------
1 | package burp.DnsLogModule.ExtensionMethod;
2 |
3 | import java.io.PrintWriter;
4 |
5 | import burp.Bootstrap.CustomHelpers;
6 | import com.github.kevinsawicki.http.HttpRequest;
7 |
8 | import burp.IBurpExtenderCallbacks;
9 | import burp.DnsLogModule.ExtensionInterface.DnsLogAbstract;
10 |
11 | public class DnsLogCn extends DnsLogAbstract {
12 | private IBurpExtenderCallbacks callbacks;
13 |
14 | private String dnslogDomainName;
15 |
16 | private String dnsLogCookieName;
17 | private String dnsLogCookieValue;
18 |
19 | public DnsLogCn(IBurpExtenderCallbacks callbacks) {
20 | this.callbacks = callbacks;
21 |
22 | this.dnslogDomainName = "http://dnslog.cn";
23 |
24 | this.setExtensionName("DnsLogCn");
25 |
26 | this.init();
27 | }
28 |
29 | private void init() {
30 | String url = this.dnslogDomainName + "/getdomain.php";
31 | String userAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36";
32 |
33 | HttpRequest request = HttpRequest.get(url);
34 | request.trustAllCerts();
35 | request.trustAllHosts();
36 | request.followRedirects(false);
37 | request.header("User-Agent", userAgent);
38 | request.header("Accept", "*/*");
39 | request.readTimeout(30 * 1000);
40 | request.connectTimeout(30 * 1000);
41 |
42 | int statusCode = request.code();
43 | if (statusCode != 200) {
44 | throw new RuntimeException(
45 | String.format(
46 | "%s 扩展-访问url-%s, 请检查本机是否可访问 %s",
47 | this.getExtensionName(),
48 | statusCode,
49 | url));
50 | }
51 |
52 | // 设置 dnslog 的临时域名
53 | String temporaryDomainName = request.body();
54 | if (request.isBodyEmpty()) {
55 | throw new RuntimeException(
56 | String.format(
57 | "%s 扩展-获取临时域名失败, 请检查本机是否可访问 %s",
58 | this.getExtensionName(),
59 | this.dnslogDomainName));
60 | }
61 | this.setTemporaryDomainName(temporaryDomainName);
62 |
63 | String cookie = request.header("Set-Cookie");
64 | String sessidKey = "PHPSESSID";
65 | String sessidValue = CustomHelpers.getParam(cookie, sessidKey);
66 | if (sessidValue.length() == 0) {
67 | throw new IllegalArgumentException(
68 | String.format(
69 | "%s 扩展-访问站点 %s 时返回Cookie为空, 导致无法正常获取dnsLog数据, 请检查",
70 | this.getExtensionName(),
71 | this.dnslogDomainName));
72 | }
73 |
74 | this.dnsLogCookieName = sessidKey;
75 | this.dnsLogCookieValue = sessidValue;
76 | }
77 |
78 | @Override
79 | public String getBodyContent() {
80 | String url = this.dnslogDomainName + "/getrecords.php";
81 | String userAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36";
82 |
83 | HttpRequest request = HttpRequest.get(url);
84 | request.trustAllCerts();
85 | request.trustAllHosts();
86 | request.followRedirects(false);
87 | request.header("User-Agent", userAgent);
88 | request.header("Accept", "*/*");
89 | request.header("Cookie", this.dnsLogCookieName + "=" + this.dnsLogCookieValue + ";");
90 | request.readTimeout(30 * 1000);
91 | request.connectTimeout(30 * 1000);
92 |
93 | String body = request.body();
94 |
95 | if (!request.ok()) {
96 | throw new RuntimeException(
97 | String.format(
98 | "%s 扩展-%s内容有异常,异常内容: %s",
99 | this.getExtensionName(),
100 | this.dnslogDomainName,
101 | body
102 | )
103 | );
104 | }
105 |
106 | if (body.equals("[]")) {
107 | return null;
108 | }
109 | return body;
110 | }
111 |
112 | @Override
113 | public String export() {
114 | String str1 = String.format("
============dnsLogExtensionDetail============
");
115 | String str2 = String.format("ExtensionMethod: %s
", this.getExtensionName());
116 | String str3 = String.format("dnsLogDomainName: %s
", this.dnslogDomainName);
117 | String str4 = String.format("dnsLogRecordsApi: %s
", this.dnslogDomainName + "/getrecords.php");
118 | String str5 = String.format("cookie: %s=%s
", this.dnsLogCookieName, this.dnsLogCookieValue);
119 | String str6 = String.format("dnsLogTemporaryDomainName: %s
", this.getTemporaryDomainName());
120 | String str7 = String.format("=====================================
");
121 |
122 | String detail = str1 + str2 + str3 + str4 + str5 + str6 + str7;
123 |
124 | return detail;
125 | }
126 |
127 | @Override
128 | public void consoleExport() {
129 | PrintWriter stdout = new PrintWriter(this.callbacks.getStdout(), true);
130 |
131 | stdout.println("");
132 | stdout.println("===========dnsLog扩展详情===========");
133 | stdout.println("你好呀~ (≧ω≦*)喵~");
134 | stdout.println(String.format("被调用的插件: %s", this.getExtensionName()));
135 | stdout.println(String.format("dnsLog域名: %s", this.dnslogDomainName));
136 | stdout.println(String.format("dnsLog保存记录的api接口: %s", this.dnslogDomainName + "/getrecords.php"));
137 | stdout.println(String.format("cookie: %s=%s", this.dnsLogCookieName, this.dnsLogCookieValue));
138 | stdout.println(String.format("dnsLog临时域名: %s", this.getTemporaryDomainName()));
139 | stdout.println("===================================");
140 | stdout.println("");
141 | }
142 | }
143 |
--------------------------------------------------------------------------------
/src/main/java/burp/Ui/BaseSettingTag.java:
--------------------------------------------------------------------------------
1 | package burp.Ui;
2 |
3 | import java.awt.*;
4 | import java.util.List;
5 | import java.util.ArrayList;
6 | import javax.swing.*;
7 |
8 | import burp.IBurpExtenderCallbacks;
9 | import burp.Bootstrap.YamlReader;
10 |
11 | public class BaseSettingTag {
12 | private YamlReader yamlReader;
13 |
14 | private JCheckBox isStartBox;
15 |
16 | private JCheckBox isScanGetBox;
17 | private JCheckBox isScanPostBox;
18 | private JCheckBox isScanCookieBox;
19 | private JCheckBox isScanJsonBox;
20 | private JCheckBox isScanXmlBox;
21 | private JCheckBox isScanParamMultipartBox;
22 |
23 | private JCheckBox isScanNullParameterBox;
24 |
25 | private JCheckBox isStartRemoteCmdExtensionBox;
26 |
27 | public BaseSettingTag(IBurpExtenderCallbacks callbacks, JTabbedPane tabs, YamlReader yamlReader) {
28 | JPanel baseSetting = new JPanel(new GridBagLayout());
29 | GridBagConstraints c = new GridBagConstraints();
30 | this.yamlReader = yamlReader;
31 |
32 | this.input1_1(baseSetting, c);
33 | this.input1_2(baseSetting, c);
34 |
35 | this.input2_1(baseSetting, c);
36 | this.input2_2(baseSetting, c);
37 | this.input2_3(baseSetting, c);
38 | this.input2_4(baseSetting, c);
39 | this.input2_5(baseSetting, c);
40 | this.input2_6(baseSetting, c);
41 | this.input2_7(baseSetting, c);
42 | this.input2_8(baseSetting, c);
43 |
44 | this.input3_1(baseSetting, c);
45 | this.input3_2(baseSetting, c);
46 |
47 | tabs.addTab("基本设置", baseSetting);
48 | }
49 |
50 | private void input1_1(JPanel baseSetting, GridBagConstraints c) {
51 | JLabel br_lbl_1_1 = new JLabel("基础设置");
52 | br_lbl_1_1.setForeground(new Color(255, 89, 18));
53 | br_lbl_1_1.setFont(new Font("Serif", Font.PLAIN, br_lbl_1_1.getFont().getSize() + 2));
54 | c.insets = new Insets(5, 5, 5, 5);
55 | c.gridx = 0;
56 | c.gridy = 1;
57 | baseSetting.add(br_lbl_1_1, c);
58 | }
59 |
60 | private void input1_2(JPanel baseSetting, GridBagConstraints c) {
61 | this.isStartBox = new JCheckBox("插件-启动", this.yamlReader.getBoolean("isStart"));
62 | this.isStartBox.setFont(new Font("Serif", Font.PLAIN, this.isStartBox.getFont().getSize()));
63 | c.insets = new Insets(5, 5, 5, 5);
64 | c.gridx = 0;
65 | c.gridy = 2;
66 | baseSetting.add(this.isStartBox, c);
67 | }
68 |
69 | private void input2_1(JPanel baseSetting, GridBagConstraints c) {
70 | JLabel br_lbl_2_1 = new JLabel("扫描类型设置");
71 | br_lbl_2_1.setForeground(new Color(255, 89, 18));
72 | br_lbl_2_1.setFont(new Font("Serif", Font.PLAIN, br_lbl_2_1.getFont().getSize() + 2));
73 | c.insets = new Insets(15, 5, 5, 5);
74 | c.gridx = 0;
75 | c.gridy = 3;
76 | baseSetting.add(br_lbl_2_1, c);
77 | }
78 |
79 | private void input2_2(JPanel baseSetting, GridBagConstraints c) {
80 | this.isScanGetBox = new JCheckBox("扫描GET类型参数", this.yamlReader.getBoolean("scan.type.isScanGet"));
81 | this.isScanGetBox.setFont(new Font("Serif", Font.PLAIN, this.isScanGetBox.getFont().getSize()));
82 | c.insets = new Insets(5, 5, 5, 5);
83 | c.gridx = 0;
84 | c.gridy = 4;
85 | baseSetting.add(this.isScanGetBox, c);
86 | }
87 |
88 | private void input2_3(JPanel baseSetting, GridBagConstraints c) {
89 | this.isScanPostBox = new JCheckBox("扫描POST类型参数", this.yamlReader.getBoolean("scan.type.isScanPost"));
90 | this.isScanPostBox.setFont(new Font("Serif", Font.PLAIN, this.isScanPostBox.getFont().getSize()));
91 | c.insets = new Insets(5, 5, 5, 5);
92 | c.gridx = 0;
93 | c.gridy = 5;
94 | baseSetting.add(this.isScanPostBox, c);
95 | }
96 |
97 | private void input2_4(JPanel baseSetting, GridBagConstraints c) {
98 | this.isScanCookieBox = new JCheckBox("扫描Cookie类型参数", this.yamlReader.getBoolean("scan.type.isScanCookie"));
99 | this.isScanCookieBox.setFont(new Font("Serif", Font.PLAIN, this.isScanCookieBox.getFont().getSize()));
100 | c.insets = new Insets(5, 5, 5, 5);
101 | c.gridx = 0;
102 | c.gridy = 6;
103 | baseSetting.add(this.isScanCookieBox, c);
104 | }
105 |
106 |
107 | private void input2_5(JPanel baseSetting, GridBagConstraints c) {
108 | this.isScanJsonBox = new JCheckBox("扫描JSON类型参数", this.yamlReader.getBoolean("scan.type.isScanJson"));
109 | this.isScanJsonBox.setFont(new Font("Serif", Font.PLAIN, this.isScanJsonBox.getFont().getSize()));
110 | c.insets = new Insets(5, 5, 5, 5);
111 | c.gridx = 0;
112 | c.gridy = 7;
113 | baseSetting.add(this.isScanJsonBox, c);
114 | }
115 |
116 | private void input2_6(JPanel baseSetting, GridBagConstraints c) {
117 | this.isScanXmlBox = new JCheckBox("扫描Xml类型参数", this.yamlReader.getBoolean("scan.type.isScanXml"));
118 | this.isScanXmlBox.setFont(new Font("Serif", Font.PLAIN, this.isScanXmlBox.getFont().getSize()));
119 | c.insets = new Insets(5, 5, 5, 5);
120 | c.gridx = 0;
121 | c.gridy = 8;
122 | baseSetting.add(this.isScanXmlBox, c);
123 | }
124 |
125 | private void input2_7(JPanel baseSetting, GridBagConstraints c) {
126 | this.isScanParamMultipartBox = new JCheckBox("扫描ParamMultipart(例如上传文件的名称)", this.yamlReader.getBoolean("scan.type.isScanParamMultipart"));
127 | this.isScanParamMultipartBox.setFont(new Font("Serif", Font.PLAIN, this.isScanParamMultipartBox.getFont().getSize()));
128 | c.insets = new Insets(5, 5, 5, 5);
129 | c.gridx = 0;
130 | c.gridy = 9;
131 | baseSetting.add(this.isScanParamMultipartBox, c);
132 | }
133 |
134 | private void input2_8(JPanel baseSetting, GridBagConstraints c) {
135 | this.isScanNullParameterBox = new JCheckBox("扫描空参数请求", this.yamlReader.getBoolean("scan.type.isScanNullParameter"));
136 | this.isScanNullParameterBox.setFont(new Font("Serif", Font.PLAIN, this.isScanNullParameterBox.getFont().getSize()));
137 | c.insets = new Insets(5, 5, 5, 5);
138 | c.gridx = 0;
139 | c.gridy = 10;
140 | baseSetting.add(this.isScanNullParameterBox, c);
141 | }
142 |
143 | private void input3_1(JPanel baseSetting, GridBagConstraints c) {
144 | JLabel br_lbl_3_1 = new JLabel("应用程序配置");
145 | br_lbl_3_1.setForeground(new Color(255, 89, 18));
146 | br_lbl_3_1.setFont(new Font("Serif", Font.PLAIN, br_lbl_3_1.getFont().getSize() + 2));
147 | c.insets = new Insets(15, 5, 5, 5);
148 | c.gridx = 0;
149 | c.gridy = 11;
150 | baseSetting.add(br_lbl_3_1, c);
151 | }
152 |
153 | private void input3_2(JPanel baseSetting, GridBagConstraints c) {
154 | this.isStartRemoteCmdExtensionBox = new JCheckBox("远程命令扩展-启动", this.yamlReader.getBoolean("application.remoteCmdExtension.config.isStart"));
155 | this.isStartRemoteCmdExtensionBox.setFont(new Font("Serif", Font.PLAIN, this.isStartRemoteCmdExtensionBox.getFont().getSize()));
156 | c.insets = new Insets(5, 5, 5, 5);
157 | c.gridx = 0;
158 | c.gridy = 12;
159 | baseSetting.add(this.isStartRemoteCmdExtensionBox, c);
160 | }
161 |
162 | public Boolean isStart() {
163 | return this.isStartBox.isSelected();
164 | }
165 |
166 | /**
167 | * 获取允许运行插入点类型列表
168 | * 0 = GET, 1 = POST, 2 = COOKIE, 6 = JSON, 3/4 = XML, PARAM_MULTIPART_ATTR = 5
169 | *
170 | * @return
171 | */
172 | public List