View Javadoc
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 prefix", 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 all params and ignore user's selection", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllParam());
29      private final JCheckBox checkboxIsCheckingAllURLParam = new JCheckBox("Inject all URL params when URL method is selected", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllURLParam());
30      private final JCheckBox checkboxIsCheckingAllRequestParam = new JCheckBox("Inject all Request params when Request method is selected", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllRequestParam());
31      private final JCheckBox checkboxIsCheckingAllHeaderParam = new JCheckBox("Inject all Header params when Header method is selected", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllHeaderParam());
32      private final JCheckBox checkboxIsCheckingAllJSONParam = new JCheckBox("Inject all JSON params", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllJsonParam());
33      private final JCheckBox checkboxIsCheckingAllCookieParam = new JCheckBox("Inject all Cookie params in Request body", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllCookieParam());
34      private final JCheckBox checkboxIsCheckingAllSoapParam = new JCheckBox("Inject all SOAP params in Request body", MediatorHelper.model().getMediatorUtils().preferencesUtil().isCheckingAllSoapParam());
35  
36      private final JCheckBox checkboxIsLimitingUnionIndex = new JCheckBox("Limit Union strategy:", MediatorHelper.model().getMediatorUtils().preferencesUtil().isLimitingUnionIndex());
37      private final JSpinner spinnerUnionIndexCount = new JSpinner();
38      private final JCheckBox checkboxIsLimitingSleepTimeStrategy = new JCheckBox("Delay Time strategy:", MediatorHelper.model().getMediatorUtils().preferencesUtil().isLimitingSleepTimeStrategy());
39      private final JSpinner spinnerSleepTimeStrategyCount = new JSpinner();
40  
41      private final JCheckBox checkboxIsPerfIndexDisabled = new JCheckBox("Disable calibration (smaller SQL query during Union index selection only)", MediatorHelper.model().getMediatorUtils().preferencesUtil().isPerfIndexDisabled());
42      private final JRadioButton radioIsDefaultStrategy = new JRadioButton("Use Default mode (keep unchanged ; URL and processing unchanged)", true);
43      private final JRadioButton radioIsZipStrategy = new JRadioButton("Use Zip mode (smaller SQL queries ; reduce URL size but less efficient)", MediatorHelper.model().getMediatorUtils().preferencesUtil().isZipStrategy());
44      private final JRadioButton radioIsDiosStrategy = new JRadioButton("Use Dios mode (less queries ; do not use with Error strategies)", MediatorHelper.model().getMediatorUtils().preferencesUtil().isDiosStrategy());
45      private final JCheckBox checkboxIsUrlEncodingDisabled = new JCheckBox("Disable URL encoding (smaller URL)", MediatorHelper.model().getMediatorUtils().preferencesUtil().isUrlEncodingDisabled());
46      private final JCheckBox checkboxIsUrlRandomSuffixDisabled = new JCheckBox("Disable URL random suffix", MediatorHelper.model().getMediatorUtils().preferencesUtil().isUrlRandomSuffixDisabled());
47  
48      private final JTextField textfieldDnsDomain = new JPopupTextField("e.g custom-domain.com", MediatorHelper.model().getMediatorUtils().preferencesUtil().getDnsDomain()).getProxy();
49      private final JTextField textfieldDnsPort = new JPopupTextField("e.g 53", MediatorHelper.model().getMediatorUtils().preferencesUtil().getDnsPort()).getProxy();
50  
51      public PanelInjection(PanelPreferences panelPreferences) {
52          this.checkboxIsNotInjectingMetadata.setName("checkboxIsNotInjectingMetadata");
53          this.checkboxIsNotSearchingCharInsertion.setName("checkboxIsNotSearchingCharInsertion");
54          this.checkboxIsNotShowingVulnReport.setName("checkboxIsNotShowingVulnReport");
55          this.checkboxIsParsingForm.setName(PanelInjection.CHECKBOX_IS_PARSING_FORM);
56  
57          this.checkboxIsCheckingAllURLParam.setName("checkboxIsCheckingAllURLParam");
58          this.checkboxIsCheckingAllRequestParam.setName("checkboxIsCheckingAllRequestParam");
59          this.checkboxIsCheckingAllHeaderParam.setName("checkboxIsCheckingAllHeaderParam");
60          this.checkboxIsCheckingAllJSONParam.setName("checkboxIsCheckingAllJSONParam");
61          this.checkboxIsCheckingAllCookieParam.setName("checkboxIsCheckingAllCookieParam");
62          this.checkboxIsCheckingAllSoapParam.setName("checkboxIsCheckingAllSOAPParam");
63  
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 
177             this.checkboxIsCheckingAllURLParam,
178             this.checkboxIsCheckingAllRequestParam,
179             this.checkboxIsCheckingAllHeaderParam,
180             this.checkboxIsCheckingAllJSONParam,
181             this.checkboxIsCheckingAllCookieParam,
182             this.checkboxIsCheckingAllSoapParam,
183 
184             this.checkboxIsPerfIndexDisabled,
185             this.radioIsZipStrategy,
186             this.radioIsDiosStrategy,
187             this.radioIsDefaultStrategy,
188             this.checkboxIsUrlEncodingDisabled,
189             this.checkboxIsUrlRandomSuffixDisabled,
190             this.checkboxIsLimitingUnionIndex,
191             this.checkboxIsLimitingSleepTimeStrategy
192         )
193         .forEach(button -> button.addActionListener(panelPreferences.getActionListenerSave()));
194 
195         var panelDnsDomain = new JPanel();
196         panelDnsDomain.setLayout(new BoxLayout(panelDnsDomain, BoxLayout.X_AXIS));
197         panelDnsDomain.add(new JLabel("Domain name "));
198         panelDnsDomain.add(this.textfieldDnsDomain);
199         panelDnsDomain.add(new JLabel(" ; default custom-domain.com"));
200         panelDnsDomain.setMaximumSize(new Dimension(400, this.textfieldDnsDomain.getPreferredSize().height));
201         var panelDnsPort = new JPanel();
202         panelDnsPort.setLayout(new BoxLayout(panelDnsPort, BoxLayout.X_AXIS));
203         panelDnsPort.add(new JLabel("DNS port "));
204         panelDnsPort.add(this.textfieldDnsPort);
205         panelDnsPort.add(new JLabel(" ; default 53"));
206         panelDnsPort.setMaximumSize(new Dimension(125, this.textfieldDnsPort.getPreferredSize().height));
207 
208         DocumentListener documentListenerSave = new DocumentListenerEditing() {
209             @Override
210             public void process() {
211                 panelPreferences.getActionListenerSave().actionPerformed(null);
212             }
213         };
214 
215         Stream.of(this.textfieldDnsDomain, this.textfieldDnsPort).forEach(
216             textField -> textField.getDocument().addDocumentListener(documentListenerSave)
217         );
218 
219         this.textfieldDnsDomain.setToolTipText(
220             "<html>"
221             + "<b>This domain must redirect to your IP address that runs jSQL</b><br>"
222             + "You can run DNS exfiltration on a local database, replace your ISP box address<br>"
223             + "by your system address in your OS preferred DNS.<br>"
224             + "</html>"
225         );
226         this.textfieldDnsPort.setToolTipText("The DNS server port started by jSQL");
227 
228         var groupSpaceToComment = new ButtonGroup();
229         groupSpaceToComment.add(this.radioIsZipStrategy);
230         groupSpaceToComment.add(this.radioIsDiosStrategy);
231         groupSpaceToComment.add(this.radioIsDefaultStrategy);
232 
233         var groupLayout = new GroupLayout(this);
234         this.setLayout(groupLayout);
235 
236         groupLayout.setHorizontalGroup(
237             groupLayout
238             .createSequentialGroup()
239             .addGroup(
240                 groupLayout
241                 .createParallelGroup(GroupLayout.Alignment.LEADING, false)
242                 .addComponent(labelGeneralInjection)
243                 .addComponent(this.checkboxIsParsingForm)
244                 .addComponent(this.checkboxIsNotInjectingMetadata)
245                 .addComponent(this.checkboxIsNotSearchingCharInsertion)
246                 .addComponent(this.checkboxIsNotShowingVulnReport)
247                 .addComponent(this.checkboxIsLimitingUnionIndex)
248                 .addComponent(panelIsLimitingUnionIndex)
249                 .addComponent(this.checkboxIsLimitingSleepTimeStrategy)
250                 .addComponent(panelSleepTimeStrategy)
251 
252                 .addComponent(labelParamsInjection)
253                 .addComponent(this.checkboxIsCheckingAllParam)
254                 .addComponent(this.checkboxIsCheckingAllURLParam)
255                 .addComponent(this.checkboxIsCheckingAllRequestParam)
256                 .addComponent(this.checkboxIsCheckingAllHeaderParam)
257 
258                 .addComponent(labelSpecial)
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             .addGroup(
358                 groupLayout
359                 .createParallelGroup(GroupLayout.Alignment.BASELINE)
360                 .addComponent(this.checkboxIsCheckingAllJSONParam)
361             )
362             .addGroup(
363                 groupLayout
364                 .createParallelGroup(GroupLayout.Alignment.BASELINE)
365                 .addComponent(this.checkboxIsCheckingAllSoapParam)
366             )
367             .addGroup(
368                 groupLayout
369                 .createParallelGroup(GroupLayout.Alignment.BASELINE)
370                 .addComponent(this.checkboxIsCheckingAllCookieParam)
371             )
372 
373             .addGroup(
374                 groupLayout
375                 .createParallelGroup(GroupLayout.Alignment.BASELINE)
376                 .addComponent(labelQuerySize)
377             )
378             .addGroup(
379                 groupLayout
380                 .createParallelGroup(GroupLayout.Alignment.BASELINE)
381                 .addComponent(this.radioIsDefaultStrategy)
382             )
383             .addGroup(
384                 groupLayout
385                 .createParallelGroup(GroupLayout.Alignment.BASELINE)
386                 .addComponent(this.radioIsDiosStrategy)
387             )
388             .addGroup(
389                 groupLayout
390                 .createParallelGroup(GroupLayout.Alignment.BASELINE)
391                 .addComponent(this.radioIsZipStrategy)
392             )
393             .addGroup(
394                 groupLayout
395                 .createParallelGroup(GroupLayout.Alignment.BASELINE)
396                 .addComponent(this.checkboxIsPerfIndexDisabled)
397             )
398             .addGroup(
399                 groupLayout
400                 .createParallelGroup(GroupLayout.Alignment.BASELINE)
401                 .addComponent(this.checkboxIsUrlEncodingDisabled)
402             )
403             .addGroup(
404                 groupLayout
405                 .createParallelGroup(GroupLayout.Alignment.BASELINE)
406                 .addComponent(this.checkboxIsUrlRandomSuffixDisabled)
407             )
408             .addGroup(
409                 groupLayout
410                 .createParallelGroup(GroupLayout.Alignment.BASELINE)
411                 .addComponent(labelDns)
412             )
413             .addGroup(
414                 groupLayout
415                 .createParallelGroup(GroupLayout.Alignment.BASELINE)
416                 .addComponent(panelDnsDomain)
417             )
418             .addGroup(
419                 groupLayout
420                 .createParallelGroup(GroupLayout.Alignment.BASELINE)
421                 .addComponent(panelDnsPort)
422             )
423         );
424     }
425 
426     
427     // Getter and setter
428     
429     public JCheckBox getCheckboxIsNotInjectingMetadata() {
430         return this.checkboxIsNotInjectingMetadata;
431     }
432     
433     public JCheckBox getCheckboxIsNotSearchingCharInsertion() {
434         return this.checkboxIsNotSearchingCharInsertion;
435     }
436 
437     public JCheckBox getCheckboxIsNotShowingVulnReport() {
438         return this.checkboxIsNotShowingVulnReport;
439     }
440 
441     public JCheckBox getCheckboxIsCheckingAllParam() {
442         return this.checkboxIsCheckingAllParam;
443     }
444     
445     public JCheckBox getCheckboxIsCheckingAllURLParam() {
446         return this.checkboxIsCheckingAllURLParam;
447     }
448     
449     public JCheckBox getCheckboxIsCheckingAllRequestParam() {
450         return this.checkboxIsCheckingAllRequestParam;
451     }
452     
453     public JCheckBox getCheckboxIsCheckingAllHeaderParam() {
454         return this.checkboxIsCheckingAllHeaderParam;
455     }
456     
457     public JCheckBox getCheckboxIsCheckingAllJsonParam() {
458         return this.checkboxIsCheckingAllJSONParam;
459     }
460     
461     public JCheckBox getCheckboxIsCheckingAllCookieParam() {
462         return this.checkboxIsCheckingAllCookieParam;
463     }
464     
465     public JCheckBox getCheckboxIsCheckingAllSoapParam() {
466         return this.checkboxIsCheckingAllSoapParam;
467     }
468     
469     public JCheckBox getCheckboxIsParsingForm() {
470         return this.checkboxIsParsingForm;
471     }
472 
473     public JCheckBox getCheckboxIsPerfIndexDisabled() {
474         return this.checkboxIsPerfIndexDisabled;
475     }
476 
477     public JRadioButton getRadioIsZipStrategy() {
478         return this.radioIsZipStrategy;
479     }
480     
481     public JRadioButton getRadioIsDiosStrategy() {
482         return this.radioIsDiosStrategy;
483     }
484     
485     public JRadioButton getRadioIsDefaultStrategy() {
486         return this.radioIsDefaultStrategy;
487     }
488     
489     public JCheckBox getCheckboxIsUrlEncodingDisabled() {
490         return this.checkboxIsUrlEncodingDisabled;
491     }
492     
493     public JCheckBox getCheckboxIsUrlRandomSuffixDisabled() {
494         return this.checkboxIsUrlRandomSuffixDisabled;
495     }
496 
497     public JCheckBox getCheckboxIsLimitingUnionIndex() {
498         return this.checkboxIsLimitingUnionIndex;
499     }
500     
501     public JSpinner getSpinnerUnionIndexCount() {
502         return this.spinnerUnionIndexCount;
503     }
504     
505     public JCheckBox getCheckboxIsLimitingSleepTimeStrategy() {
506         return this.checkboxIsLimitingSleepTimeStrategy;
507     }
508     
509     public JSpinner getSpinnerSleepTimeStrategy() {
510         return this.spinnerSleepTimeStrategyCount;
511     }
512 
513     public JTextField getTextfieldDnsDomain() {
514         return this.textfieldDnsDomain;
515     }
516 
517     public JTextField getTextfieldDnsPort() {
518         return this.textfieldDnsPort;
519     }
520 }