1 package com.jsql.view.swing.panel.preferences;
2
3 import com.jsql.view.swing.panel.PanelPreferences;
4 import com.jsql.view.swing.panel.preferences.listener.SpinnerMouseWheelListener;
5 import com.jsql.view.swing.text.JPopupTextField;
6 import com.jsql.view.swing.text.listener.DocumentListenerEditing;
7 import com.jsql.view.swing.util.MediatorHelper;
8
9 import javax.swing.*;
10 import javax.swing.event.DocumentListener;
11 import java.awt.*;
12 import java.awt.event.ActionListener;
13 import java.util.Arrays;
14 import java.util.stream.Stream;
15
16 public class PanelInjection extends JPanel {
17
18 public static final String CHECKBOX_IS_PARSING_FORM = "checkboxIsParsingForm";
19 public static final String RADIO_IS_ZIP_STRATEGY = "radioIsZipStrategy";
20 public static final String RADIO_IS_DIOS_STRATEGY = "radioIsDiosStrategy";
21 public static final String RADIO_IS_DEFAULT_STRATEGY = "radioIsDefaultStrategy";
22
23 private final JCheckBox checkboxIsNotShowingVulnReport = new JCheckBox("Disable showing vulnerability report", MediatorHelper.model().getMediatorUtils().preferencesUtil().isNotShowingVulnReport());
24 private final JCheckBox checkboxIsNotSearchingCharInsertion = new JCheckBox("Disable search for character insertion", MediatorHelper.model().getMediatorUtils().preferencesUtil().isNotSearchingCharInsertion());
25 private final JCheckBox checkboxIsNotInjectingMetadata = new JCheckBox("Disable search of database name, version and user metadata", MediatorHelper.model().getMediatorUtils().preferencesUtil().isNotInjectingMetadata());
26 private final JCheckBox checkboxIsParsingForm = new JCheckBox("Get HTML tags <input/> and add parameters to URL and Request", MediatorHelper.model().getMediatorUtils().preferencesUtil().isParsingForm());
27
28 private final JCheckBox checkboxIsCheckingAllParam = new JCheckBox("Inject every parameters (ignore user's selection)", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllParam());
29 private final JCheckBox checkboxIsCheckingAllURLParam = new JCheckBox("Inject every URL parameters when URL method is selected", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllURLParam());
30 private final JCheckBox checkboxIsCheckingAllRequestParam = new JCheckBox("Inject every Request parameters when Request method is selected", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllRequestParam());
31 private final JCheckBox checkboxIsCheckingAllHeaderParam = new JCheckBox("Inject every Header parameters when Header method is selected", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllHeaderParam());
32 private final JCheckBox checkboxIsCheckingAllBase64Param = new JCheckBox("Inject Base64 parameters", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllBase64Param());
33 private final JCheckBox checkboxIsCheckingAllJSONParam = new JCheckBox("Inject every JSON parameters", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllJsonParam());
34 private final JCheckBox checkboxIsCheckingAllCookieParam = new JCheckBox("Inject every cookie parameters", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllCookieParam());
35 private final JCheckBox checkboxIsCheckingAllSOAPParam = new JCheckBox("Inject SOAP parameters in Request body", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllSoapParam());
36
37 private final JCheckBox checkboxIsLimitingUnionIndex = new JCheckBox("Limit Union strategy:", MediatorHelper.model().getMediatorUtils().preferencesUtil().isLimitingUnionIndex());
38 private final JSpinner spinnerUnionIndexCount = new JSpinner();
39 private final JCheckBox checkboxIsLimitingSleepTimeStrategy = new JCheckBox("Delay Time strategy:", MediatorHelper.model().getMediatorUtils().preferencesUtil().isLimitingSleepTimeStrategy());
40 private final JSpinner spinnerSleepTimeStrategyCount = new JSpinner();
41
42 private final JCheckBox checkboxIsPerfIndexDisabled = new JCheckBox("Disable calibration (smaller SQL query during Union index selection only)", MediatorHelper.model().getMediatorUtils().preferencesUtil().isPerfIndexDisabled());
43 private final JRadioButton radioIsDefaultStrategy = new JRadioButton("Use Default mode (keep unchanged ; URL and processing unchanged)", true);
44 private final JRadioButton radioIsZipStrategy = new JRadioButton("Use Zip mode (smaller SQL queries ; reduce URL size but less efficient)", MediatorHelper.model().getMediatorUtils().preferencesUtil().isZipStrategy());
45 private final JRadioButton radioIsDiosStrategy = new JRadioButton("Use Dios mode (less queries ; do not use with Error strategies)", MediatorHelper.model().getMediatorUtils().preferencesUtil().isDiosStrategy());
46 private final JCheckBox checkboxIsUrlEncodingDisabled = new JCheckBox("Disable URL encoding (smaller URL)", MediatorHelper.model().getMediatorUtils().preferencesUtil().isUrlEncodingDisabled());
47 private final JCheckBox checkboxIsUrlRandomSuffixDisabled = new JCheckBox("Disable URL random suffix (strategy Time special use case)", MediatorHelper.model().getMediatorUtils().preferencesUtil().isUrlRandomSuffixDisabled());
48
49 private final JTextField textfieldDnsDomain = new JPopupTextField("e.g custom-domain.com", MediatorHelper.model().getMediatorUtils().preferencesUtil().getDnsDomain()).getProxy();
50 private final JTextField textfieldDnsPort = new JPopupTextField("e.g 53", MediatorHelper.model().getMediatorUtils().preferencesUtil().getDnsPort()).getProxy();
51
52 public PanelInjection(PanelPreferences panelPreferences) {
53 this.checkboxIsNotInjectingMetadata.setName("checkboxIsNotInjectingMetadata");
54 this.checkboxIsNotSearchingCharInsertion.setName("checkboxIsNotSearchingCharInsertion");
55 this.checkboxIsNotShowingVulnReport.setName("checkboxIsNotShowingVulnReport");
56 this.checkboxIsParsingForm.setName(PanelInjection.CHECKBOX_IS_PARSING_FORM);
57 this.checkboxIsCheckingAllURLParam.setName("checkboxIsCheckingAllURLParam");
58 this.checkboxIsCheckingAllRequestParam.setName("checkboxIsCheckingAllRequestParam");
59 this.checkboxIsCheckingAllHeaderParam.setName("checkboxIsCheckingAllHeaderParam");
60 this.checkboxIsCheckingAllJSONParam.setName("checkboxIsCheckingAllJSONParam");
61 this.checkboxIsCheckingAllBase64Param.setName("checkboxIsCheckingAllBase64Param");
62 this.checkboxIsCheckingAllCookieParam.setName("checkboxIsCheckingAllCookieParam");
63 this.checkboxIsCheckingAllSOAPParam.setName("checkboxIsCheckingAllSOAPParam");
64 this.checkboxIsPerfIndexDisabled.setName("checkboxIsPerfIndexDisabled");
65 this.radioIsZipStrategy.setName(PanelInjection.RADIO_IS_ZIP_STRATEGY);
66 this.radioIsDefaultStrategy.setName(PanelInjection.RADIO_IS_DEFAULT_STRATEGY);
67 this.radioIsDiosStrategy.setName(PanelInjection.RADIO_IS_DIOS_STRATEGY);
68 this.checkboxIsUrlEncodingDisabled.setName("checkboxIsUrlEncodingDisabled");
69 this.checkboxIsUrlRandomSuffixDisabled.setName("checkboxIsUrlRandomSuffixDisabled");
70 this.checkboxIsLimitingUnionIndex.setName("checkboxIsLimitingUnionIndex");
71 this.checkboxIsLimitingSleepTimeStrategy.setName("checkboxIsLimitingSleepTimeStrategy");
72
73 this.checkboxIsPerfIndexDisabled.setToolTipText(
74 "<html>Reduce Union calibration URL, useful when host rejects large URL."
75 + "<br>Should be enabled when Zip mode is activated.</html>"
76 );
77 this.checkboxIsParsingForm.setToolTipText(
78 "<html>Create name=value params from HTML forms' extracted data.<br>"
79 + "Sometimes mandatory params are contained in forms.<br>"
80 + "It makes easy adding such params to requests.</html>"
81 );
82 this.checkboxIsNotInjectingMetadata.setToolTipText("Not injecting metadata saves time, particularly for Blind and Time strategies");
83 this.checkboxIsNotSearchingCharInsertion.setToolTipText(
84 "<html>Injection query starts usually with prefix like <b>quote</b> or <b>parenthesis</b>:<br>" +
85 "- ...&injectMe=' union select...<br>" +
86 "- ...&injectMe=) union select...<br>" +
87 "Default is searching for the prefix but can be disabled to save time when prefix is already set by the user.</html>"
88 );
89 this.checkboxIsLimitingSleepTimeStrategy.setToolTipText("<html>Time strategy waits a given number of seconds for a page to respond (fallback to default if unchecked).<br>Amount of seconds can be lowered on a stable environment to save time (e.g. local tests).</html>");
90
91 var panelSleepTimeStrategy = new JPanel();
92 panelSleepTimeStrategy.setLayout(new BoxLayout(panelSleepTimeStrategy, BoxLayout.X_AXIS));
93 panelSleepTimeStrategy.add(new JLabel("Adjust delay to "), BorderLayout.WEST);
94 panelSleepTimeStrategy.add(this.spinnerSleepTimeStrategyCount, BorderLayout.CENTER);
95 panelSleepTimeStrategy.add(new JLabel(" s ; default 5s"), BorderLayout.EAST);
96 panelSleepTimeStrategy.setMaximumSize(new Dimension(125, this.spinnerSleepTimeStrategyCount.getPreferredSize().height));
97 int countSleepTimeStrategy = MediatorHelper.model().getMediatorUtils().preferencesUtil().countSleepTimeStrategy();
98 var spinnerSleepTimeStrategy = new SpinnerNumberModel(
99 countSleepTimeStrategy <= 0 ? 15 : countSleepTimeStrategy,
100 1,
101 30,
102 1
103 );
104 this.spinnerSleepTimeStrategyCount.setModel(spinnerSleepTimeStrategy);
105 this.spinnerSleepTimeStrategyCount.addMouseWheelListener(new SpinnerMouseWheelListener());
106 this.spinnerSleepTimeStrategyCount.addChangeListener(e -> panelPreferences.getActionListenerSave().actionPerformed(null));
107
108 this.checkboxIsLimitingUnionIndex.setToolTipText("Maximum number of columns to check on UNION based queries");
109
110 var panelIsLimitingUnionIndex = new JPanel();
111 panelIsLimitingUnionIndex.setLayout(new BoxLayout(panelIsLimitingUnionIndex, BoxLayout.X_AXIS));
112 panelIsLimitingUnionIndex.add(new JLabel("Search for up to "));
113 panelIsLimitingUnionIndex.add(this.spinnerUnionIndexCount);
114 panelIsLimitingUnionIndex.add(new JLabel(" column(s) ; default 50 columns"));
115 panelIsLimitingUnionIndex.setMaximumSize(new Dimension(325, this.spinnerUnionIndexCount.getPreferredSize().height));
116 int countUnionIndex = MediatorHelper.model().getMediatorUtils().preferencesUtil().countUnionIndex();
117 var spinnerCountUnionIndex = new SpinnerNumberModel(
118 countUnionIndex <= 0 ? 50 : countUnionIndex,
119 1,
120 200,
121 1
122 );
123 this.spinnerUnionIndexCount.setModel(spinnerCountUnionIndex);
124 this.spinnerUnionIndexCount.addMouseWheelListener(new SpinnerMouseWheelListener());
125 this.spinnerUnionIndexCount.addChangeListener(e -> panelPreferences.getActionListenerSave().actionPerformed(null));
126
127 this.radioIsDiosStrategy.setToolTipText(
128 "<html>Mode Dump In One Shot injects a single query that gets all the data at once."
129 + "<br>Faster than default mode for Union and Error strats but requires volume of data to not be huge.</html>"
130 );
131 this.radioIsZipStrategy.setToolTipText(
132 "<html>Zip mode injects small queries, useful when host rejects large URL."
133 + "<br>Downside is metadata like table or row count is not fetched.</html>"
134 );
135
136 var labelGeneralInjection = new JLabel("<html><b>Processing</b></html>");
137 var labelParamsInjection = new JLabel("<html><br><b>URL parameters</b></html>");
138 var labelSpecial = new JLabel("<html><br><b>Special parameters</b></html>");
139 var labelQuerySize = new JLabel("<html><br><b>[Advanced] Reduce URL size</b></html>");
140 var labelDns = new JLabel("<html><br><b>[Advanced] DNS exfiltration (also working on local database without registrar)</b></html>");
141 Arrays.asList(
142 labelGeneralInjection,
143 labelParamsInjection,
144 labelSpecial,
145 labelQuerySize,
146 labelDns
147 ).forEach(label -> label.setBorder(PanelGeneral.MARGIN));
148
149 ActionListener actionListenerCheckingAllParam = actionEvent -> {
150 if (actionEvent.getSource() != this.checkboxIsCheckingAllParam) {
151 this.checkboxIsCheckingAllParam.setSelected(!this.checkboxIsCheckingAllParam.isSelected());
152 }
153
154 this.checkboxIsCheckingAllURLParam.setSelected(this.checkboxIsCheckingAllParam.isSelected());
155 this.checkboxIsCheckingAllRequestParam.setSelected(this.checkboxIsCheckingAllParam.isSelected());
156 this.checkboxIsCheckingAllHeaderParam.setSelected(this.checkboxIsCheckingAllParam.isSelected());
157
158 this.checkboxIsCheckingAllURLParam.setEnabled(!this.checkboxIsCheckingAllParam.isSelected());
159 this.checkboxIsCheckingAllRequestParam.setEnabled(!this.checkboxIsCheckingAllParam.isSelected());
160 this.checkboxIsCheckingAllHeaderParam.setEnabled(!this.checkboxIsCheckingAllParam.isSelected());
161
162 panelPreferences.getActionListenerSave().actionPerformed(null);
163 };
164
165 this.checkboxIsCheckingAllURLParam.setEnabled(!this.checkboxIsCheckingAllParam.isSelected());
166 this.checkboxIsCheckingAllRequestParam.setEnabled(!this.checkboxIsCheckingAllParam.isSelected());
167 this.checkboxIsCheckingAllHeaderParam.setEnabled(!this.checkboxIsCheckingAllParam.isSelected());
168
169 this.checkboxIsCheckingAllParam.addActionListener(actionListenerCheckingAllParam);
170
171 Stream.of(
172 this.checkboxIsNotInjectingMetadata,
173 this.checkboxIsNotSearchingCharInsertion,
174 this.checkboxIsNotShowingVulnReport,
175 this.checkboxIsParsingForm,
176 this.checkboxIsCheckingAllURLParam,
177 this.checkboxIsCheckingAllRequestParam,
178 this.checkboxIsCheckingAllHeaderParam,
179 this.checkboxIsCheckingAllJSONParam,
180 this.checkboxIsCheckingAllBase64Param,
181 this.checkboxIsCheckingAllCookieParam,
182 this.checkboxIsCheckingAllSOAPParam,
183 this.checkboxIsPerfIndexDisabled,
184 this.radioIsZipStrategy,
185 this.radioIsDiosStrategy,
186 this.radioIsDefaultStrategy,
187 this.checkboxIsUrlEncodingDisabled,
188 this.checkboxIsUrlRandomSuffixDisabled,
189 this.checkboxIsLimitingUnionIndex,
190 this.checkboxIsLimitingSleepTimeStrategy
191 )
192 .forEach(button -> button.addActionListener(panelPreferences.getActionListenerSave()));
193
194 var panelDnsDomain = new JPanel();
195 panelDnsDomain.setLayout(new BoxLayout(panelDnsDomain, BoxLayout.X_AXIS));
196 panelDnsDomain.add(new JLabel("Domain name "));
197 panelDnsDomain.add(this.textfieldDnsDomain);
198 panelDnsDomain.add(new JLabel(" ; default custom-domain.com"));
199 panelDnsDomain.setMaximumSize(new Dimension(400, this.textfieldDnsDomain.getPreferredSize().height));
200 var panelDnsPort = new JPanel();
201 panelDnsPort.setLayout(new BoxLayout(panelDnsPort, BoxLayout.X_AXIS));
202 panelDnsPort.add(new JLabel("DNS port "));
203 panelDnsPort.add(this.textfieldDnsPort);
204 panelDnsPort.add(new JLabel(" ; default 53"));
205 panelDnsPort.setMaximumSize(new Dimension(125, this.textfieldDnsPort.getPreferredSize().height));
206
207 DocumentListener documentListenerSave = new DocumentListenerEditing() {
208 @Override
209 public void process() {
210 panelPreferences.getActionListenerSave().actionPerformed(null);
211 }
212 };
213
214 Stream.of(this.textfieldDnsDomain, this.textfieldDnsPort).forEach(
215 textField -> textField.getDocument().addDocumentListener(documentListenerSave)
216 );
217
218 this.textfieldDnsDomain.setToolTipText(
219 "<html>"
220 + "<b>This domain must redirect to your IP address that runs jSQL</b><br>"
221 + "You can run DNS exfiltration on a local database, replace your ISP box address<br>"
222 + "by your system address in your OS preferred DNS.<br>"
223 + "</html>"
224 );
225 this.textfieldDnsPort.setToolTipText("The DNS server port started by jSQL");
226
227 var groupSpaceToComment = new ButtonGroup();
228 groupSpaceToComment.add(this.radioIsZipStrategy);
229 groupSpaceToComment.add(this.radioIsDiosStrategy);
230 groupSpaceToComment.add(this.radioIsDefaultStrategy);
231
232 var groupLayout = new GroupLayout(this);
233 this.setLayout(groupLayout);
234
235 groupLayout.setHorizontalGroup(
236 groupLayout
237 .createSequentialGroup()
238 .addGroup(
239 groupLayout
240 .createParallelGroup(GroupLayout.Alignment.LEADING, false)
241 .addComponent(labelGeneralInjection)
242 .addComponent(this.checkboxIsParsingForm)
243 .addComponent(this.checkboxIsNotInjectingMetadata)
244 .addComponent(this.checkboxIsNotSearchingCharInsertion)
245 .addComponent(this.checkboxIsNotShowingVulnReport)
246 .addComponent(this.checkboxIsLimitingUnionIndex)
247 .addComponent(panelIsLimitingUnionIndex)
248 .addComponent(this.checkboxIsLimitingSleepTimeStrategy)
249 .addComponent(panelSleepTimeStrategy)
250
251 .addComponent(labelParamsInjection)
252 .addComponent(this.checkboxIsCheckingAllParam)
253 .addComponent(this.checkboxIsCheckingAllURLParam)
254 .addComponent(this.checkboxIsCheckingAllRequestParam)
255 .addComponent(this.checkboxIsCheckingAllHeaderParam)
256
257 .addComponent(labelSpecial)
258
259 .addComponent(this.checkboxIsCheckingAllJSONParam)
260 .addComponent(this.checkboxIsCheckingAllSOAPParam)
261 .addComponent(this.checkboxIsCheckingAllCookieParam)
262
263 .addComponent(labelQuerySize)
264 .addComponent(this.radioIsDefaultStrategy)
265 .addComponent(this.radioIsDiosStrategy)
266 .addComponent(this.radioIsZipStrategy)
267 .addComponent(this.checkboxIsPerfIndexDisabled)
268 .addComponent(this.checkboxIsUrlEncodingDisabled)
269 .addComponent(this.checkboxIsUrlRandomSuffixDisabled)
270
271 .addComponent(labelDns)
272 .addComponent(panelDnsDomain)
273 .addComponent(panelDnsPort)
274 )
275 );
276
277 groupLayout.setVerticalGroup(
278 groupLayout
279 .createSequentialGroup()
280 .addGroup(
281 groupLayout
282 .createParallelGroup(GroupLayout.Alignment.BASELINE)
283 .addComponent(labelGeneralInjection)
284 )
285 .addGroup(
286 groupLayout
287 .createParallelGroup(GroupLayout.Alignment.BASELINE)
288 .addComponent(this.checkboxIsParsingForm)
289 )
290 .addGroup(
291 groupLayout
292 .createParallelGroup(GroupLayout.Alignment.BASELINE)
293 .addComponent(this.checkboxIsNotInjectingMetadata)
294 )
295 .addGroup(
296 groupLayout
297 .createParallelGroup(GroupLayout.Alignment.BASELINE)
298 .addComponent(this.checkboxIsNotSearchingCharInsertion)
299 )
300 .addGroup(
301 groupLayout
302 .createParallelGroup(GroupLayout.Alignment.BASELINE)
303 .addComponent(this.checkboxIsNotShowingVulnReport)
304 )
305 .addGroup(
306 groupLayout
307 .createParallelGroup(GroupLayout.Alignment.BASELINE)
308 .addComponent(this.checkboxIsLimitingUnionIndex)
309 )
310 .addGroup(
311 groupLayout
312 .createParallelGroup(GroupLayout.Alignment.BASELINE)
313 .addComponent(panelIsLimitingUnionIndex)
314 )
315 .addGroup(
316 groupLayout
317 .createParallelGroup(GroupLayout.Alignment.BASELINE)
318 .addComponent(this.checkboxIsLimitingSleepTimeStrategy)
319 )
320 .addGroup(
321 groupLayout
322 .createParallelGroup(GroupLayout.Alignment.BASELINE)
323 .addComponent(panelSleepTimeStrategy)
324 )
325
326 .addGroup(
327 groupLayout
328 .createParallelGroup(GroupLayout.Alignment.BASELINE)
329 .addComponent(labelParamsInjection)
330 )
331 .addGroup(
332 groupLayout
333 .createParallelGroup(GroupLayout.Alignment.BASELINE)
334 .addComponent(this.checkboxIsCheckingAllParam)
335 )
336 .addGroup(
337 groupLayout
338 .createParallelGroup(GroupLayout.Alignment.BASELINE)
339 .addComponent(this.checkboxIsCheckingAllURLParam)
340 )
341 .addGroup(
342 groupLayout
343 .createParallelGroup(GroupLayout.Alignment.BASELINE)
344 .addComponent(this.checkboxIsCheckingAllRequestParam)
345 )
346 .addGroup(
347 groupLayout
348 .createParallelGroup(GroupLayout.Alignment.BASELINE)
349 .addComponent(this.checkboxIsCheckingAllHeaderParam)
350 )
351
352 .addGroup(
353 groupLayout
354 .createParallelGroup(GroupLayout.Alignment.BASELINE)
355 .addComponent(labelSpecial)
356 )
357
358
359
360
361
362 .addGroup(
363 groupLayout
364 .createParallelGroup(GroupLayout.Alignment.BASELINE)
365 .addComponent(this.checkboxIsCheckingAllJSONParam)
366 )
367 .addGroup(
368 groupLayout
369 .createParallelGroup(GroupLayout.Alignment.BASELINE)
370 .addComponent(this.checkboxIsCheckingAllSOAPParam)
371 )
372 .addGroup(
373 groupLayout
374 .createParallelGroup(GroupLayout.Alignment.BASELINE)
375 .addComponent(this.checkboxIsCheckingAllCookieParam)
376 )
377
378 .addGroup(
379 groupLayout
380 .createParallelGroup(GroupLayout.Alignment.BASELINE)
381 .addComponent(labelQuerySize)
382 )
383 .addGroup(
384 groupLayout
385 .createParallelGroup(GroupLayout.Alignment.BASELINE)
386 .addComponent(this.radioIsDefaultStrategy)
387 )
388 .addGroup(
389 groupLayout
390 .createParallelGroup(GroupLayout.Alignment.BASELINE)
391 .addComponent(this.radioIsDiosStrategy)
392 )
393 .addGroup(
394 groupLayout
395 .createParallelGroup(GroupLayout.Alignment.BASELINE)
396 .addComponent(this.radioIsZipStrategy)
397 )
398 .addGroup(
399 groupLayout
400 .createParallelGroup(GroupLayout.Alignment.BASELINE)
401 .addComponent(this.checkboxIsPerfIndexDisabled)
402 )
403 .addGroup(
404 groupLayout
405 .createParallelGroup(GroupLayout.Alignment.BASELINE)
406 .addComponent(this.checkboxIsUrlEncodingDisabled)
407 )
408 .addGroup(
409 groupLayout
410 .createParallelGroup(GroupLayout.Alignment.BASELINE)
411 .addComponent(this.checkboxIsUrlRandomSuffixDisabled)
412 )
413 .addGroup(
414 groupLayout
415 .createParallelGroup(GroupLayout.Alignment.BASELINE)
416 .addComponent(labelDns)
417 )
418 .addGroup(
419 groupLayout
420 .createParallelGroup(GroupLayout.Alignment.BASELINE)
421 .addComponent(panelDnsDomain)
422 )
423 .addGroup(
424 groupLayout
425 .createParallelGroup(GroupLayout.Alignment.BASELINE)
426 .addComponent(panelDnsPort)
427 )
428 );
429 }
430
431
432
433
434 public JCheckBox getCheckboxIsNotInjectingMetadata() {
435 return this.checkboxIsNotInjectingMetadata;
436 }
437
438 public JCheckBox getCheckboxIsNotSearchingCharInsertion() {
439 return this.checkboxIsNotSearchingCharInsertion;
440 }
441
442 public JCheckBox getCheckboxIsNotShowingVulnReport() {
443 return this.checkboxIsNotShowingVulnReport;
444 }
445
446 public JCheckBox getCheckboxIsCheckingAllParam() {
447 return this.checkboxIsCheckingAllParam;
448 }
449
450 public JCheckBox getCheckboxIsCheckingAllURLParam() {
451 return this.checkboxIsCheckingAllURLParam;
452 }
453
454 public JCheckBox getCheckboxIsCheckingAllRequestParam() {
455 return this.checkboxIsCheckingAllRequestParam;
456 }
457
458 public JCheckBox getCheckboxIsCheckingAllHeaderParam() {
459 return this.checkboxIsCheckingAllHeaderParam;
460 }
461
462 public JCheckBox getCheckboxIsCheckingAllBase64Param() {
463 return this.checkboxIsCheckingAllBase64Param;
464 }
465
466 public JCheckBox getCheckboxIsCheckingAllJsonParam() {
467 return this.checkboxIsCheckingAllJSONParam;
468 }
469
470 public JCheckBox getCheckboxIsCheckingAllCookieParam() {
471 return this.checkboxIsCheckingAllCookieParam;
472 }
473
474 public JCheckBox getCheckboxIsCheckingAllSoapParam() {
475 return this.checkboxIsCheckingAllSOAPParam;
476 }
477
478 public JCheckBox getCheckboxIsParsingForm() {
479 return this.checkboxIsParsingForm;
480 }
481
482 public JCheckBox getCheckboxIsPerfIndexDisabled() {
483 return this.checkboxIsPerfIndexDisabled;
484 }
485
486 public JRadioButton getRadioIsZipStrategy() {
487 return this.radioIsZipStrategy;
488 }
489
490 public JRadioButton getRadioIsDiosStrategy() {
491 return this.radioIsDiosStrategy;
492 }
493
494 public JRadioButton getRadioIsDefaultStrategy() {
495 return this.radioIsDefaultStrategy;
496 }
497
498 public JCheckBox getCheckboxIsUrlEncodingDisabled() {
499 return this.checkboxIsUrlEncodingDisabled;
500 }
501
502 public JCheckBox getCheckboxIsUrlRandomSuffixDisabled() {
503 return this.checkboxIsUrlRandomSuffixDisabled;
504 }
505
506 public JCheckBox getCheckboxIsLimitingUnionIndex() {
507 return this.checkboxIsLimitingUnionIndex;
508 }
509
510 public JSpinner getSpinnerUnionIndexCount() {
511 return this.spinnerUnionIndexCount;
512 }
513
514 public JCheckBox getCheckboxIsLimitingSleepTimeStrategy() {
515 return this.checkboxIsLimitingSleepTimeStrategy;
516 }
517
518 public JSpinner getSpinnerSleepTimeStrategy() {
519 return this.spinnerSleepTimeStrategyCount;
520 }
521
522 public JTextField getTextfieldDnsDomain() {
523 return this.textfieldDnsDomain;
524 }
525
526 public JTextField getTextfieldDnsPort() {
527 return this.textfieldDnsPort;
528 }
529 }