1 package com.jsql.util;
2
3 import com.jsql.model.InjectionModel;
4 import com.jsql.model.exception.JSqlRuntimeException;
5 import com.jsql.util.reverse.ModelReverse;
6 import org.apache.commons.lang3.StringUtils;
7 import org.apache.commons.lang3.SystemUtils;
8 import org.yaml.snakeyaml.LoaderOptions;
9 import org.yaml.snakeyaml.Yaml;
10
11 import java.io.IOException;
12 import java.util.List;
13 import java.util.Map;
14 import java.util.prefs.Preferences;
15 import java.util.stream.Collectors;
16
17
18
19
20
21
22 public class PreferencesUtil {
23
24 public static final String EW_SPLIT = "verticalSplitter";
25 public static final String NS_SPLIT = "horizontalSplitter";
26 public static final String CHUNK_VISIBLE = "chunk_visible";
27 public static final String BINARY_VISIBLE = "binary_visible";
28 public static final String NETWORK_VISIBLE = "header_visible";
29 public static final String JAVA_VISIBLE = "java_visible";
30 public static final String IS_MAXIMIZED = "is_maximized";
31
32
33 private String pathFile;
34
35 private boolean isCheckingUpdate = true;
36
37
38 private boolean isReportingBugs = true;
39
40 private boolean is4K = false;
41
42 private boolean isFollowingRedirection = false;
43 private boolean isHttp2Disabled = false;
44
45 private boolean isNotInjectingMetadata = false;
46 private boolean isNotSearchingCharInsertion = false;
47 private boolean isNotShowingVulnReport = false;
48
49 private boolean isCheckingAllParam = false;
50 private boolean isCheckingAllURLParam = false;
51 private boolean isCheckingAllRequestParam = false;
52 private boolean isCheckingAllHeaderParam = false;
53 private boolean isCheckingAllBase64Param = false;
54 private boolean isCheckingAllJsonParam = false;
55 private boolean isCheckingAllCookieParam = false;
56 private boolean isCheckingAllSoapParam = false;
57
58 private boolean isPerfIndexDisabled = false;
59 private boolean isDefaultStrategy = false;
60 private boolean isZipStrategy = false;
61 private boolean isDiosStrategy = false;
62 private boolean isUrlEncodingDisabled = false;
63 private boolean isUrlRandomSuffixDisabled = false;
64
65 private boolean isParsingForm = false;
66 private boolean isNotTestingConnection = false;
67 private boolean isNotProcessingCookies = false;
68 private boolean isProcessingCsrf = false;
69
70 private boolean isTamperingBase64 = false;
71 private boolean isTamperingFunctionComment = false;
72 private boolean isTamperingVersionComment = false;
73 private boolean isTamperingEqualToLike = false;
74 private boolean isTamperingRandomCase = false;
75 private boolean isTamperingEval = false;
76 private boolean isTamperingSpaceToMultilineComment = false;
77 private boolean isTamperingSpaceToDashComment = false;
78 private boolean isTamperingSpaceToSharpComment = false;
79
80 private String csrfUserTag = StringUtils.EMPTY;
81 private String csrfUserTagOutput = StringUtils.EMPTY;
82 private boolean isCsrfUserTag = false;
83 private boolean isLimitingThreads = true;
84 private int countLimitingThreads = 5;
85 private boolean isConnectionTimeout = false;
86 private int countConnectionTimeout = 15;
87 private boolean isUnicodeDecodeDisabled = false;
88 private boolean isUrlDecodeDisabled = false;
89
90 private boolean isStrategyTimeDisabled = false;
91 private boolean isStrategyBlindBinDisabled = false;
92 private boolean isStrategyBlindBitDisabled = false;
93 private boolean isStrategyMultibitDisabled = false;
94 private boolean isStrategyDnsDisabled = false;
95 private boolean isStrategyStackDisabled = false;
96 private boolean isStrategyErrorDisabled = false;
97 private boolean isStrategyUnionDisabled = false;
98
99 private boolean isLimitingUnionIndex = false;
100 private int countUnionIndex = 50;
101 private boolean isLimitingSleepTimeStrategy = false;
102 private int countSleepTimeStrategy = 5;
103
104 private String themeFlatLafName = StringUtils.EMPTY;
105 private String languageTag = StringUtils.EMPTY;
106 private boolean isUserAgentRandom = false;
107 private boolean isUrlDecodeNetworkTab = false;
108
109 private String dnsDomain = StringUtils.EMPTY;
110 private String dnsPort = StringUtils.EMPTY;
111
112 private final Yaml yaml;
113 private String commandsReverseYaml;
114 private List<ModelReverse> commandsReverse;
115
116 public PreferencesUtil() {
117 var loaderOptions = new LoaderOptions();
118 loaderOptions.setWarnOnDuplicateKeys(false);
119 this.yaml = new Yaml(loaderOptions);
120 try {
121 this.parseReverseCommands(StringUtil.fromBase64Zip(StringUtil.getFile("exploit/reverse.yml").trim()));
122 } catch (IOException e) {
123 throw new JSqlRuntimeException(e);
124 }
125 }
126
127 public void parseReverseCommands(String commandsReverseYaml) {
128 List<Map<String, String>> commandsReverseMap = this.yaml.load(commandsReverseYaml);
129 this.commandsReverse = commandsReverseMap.stream()
130 .map(map -> new ModelReverse(
131 map.get("name"),
132 map.get("command").replaceAll("\\n\\s*", StringUtils.EMPTY)
133 ))
134 .collect(Collectors.toList());
135 this.commandsReverseYaml = commandsReverseYaml;
136 }
137
138
139
140
141
142 public void loadSavedPreferences() {
143
144
145 Preferences preferences = Preferences.userRoot().node(InjectionModel.class.getName());
146
147 this.pathFile = preferences.get("pathFile", SystemUtils.USER_DIR);
148
149 this.isCheckingUpdate = preferences.getBoolean("isCheckingUpdate", true);
150 this.isReportingBugs = preferences.getBoolean("isReportingBugs", true);
151
152 this.isFollowingRedirection = preferences.getBoolean("isFollowingRedirection", false);
153 this.isHttp2Disabled = preferences.getBoolean("isHttp2Disabled", false);
154 this.isNotInjectingMetadata = preferences.getBoolean("isNotInjectingMetadata", false);
155 this.isNotSearchingCharInsertion = preferences.getBoolean("isNotSearchingCharInsertion", false);
156 this.isNotShowingVulnReport = preferences.getBoolean("isNotShowingVulnReport", false);
157
158 this.isCheckingAllParam = preferences.getBoolean("isCheckingAllParam", false);
159 this.isCheckingAllURLParam = preferences.getBoolean("isCheckingAllURLParam", false);
160 this.isCheckingAllRequestParam = preferences.getBoolean("isCheckingAllRequestParam", false);
161 this.isCheckingAllHeaderParam = preferences.getBoolean("isCheckingAllHeaderParam", false);
162 this.isCheckingAllBase64Param = preferences.getBoolean("isCheckingAllBase64Param", false);
163 this.isCheckingAllJsonParam = preferences.getBoolean("isCheckingAllJsonParam", false);
164 this.isCheckingAllCookieParam = preferences.getBoolean("isCheckingAllCookieParam", false);
165 this.isCheckingAllSoapParam = preferences.getBoolean("isCheckingAllSoapParam", false);
166
167 this.isPerfIndexDisabled = preferences.getBoolean("isPerfIndexDisabled", false);
168 this.isDefaultStrategy = preferences.getBoolean("isDefaultStrategy", false);
169 this.isZipStrategy = preferences.getBoolean("isZipStrategy", false);
170 this.isDiosStrategy = preferences.getBoolean("isDiosStrategy", false);
171 this.isUrlEncodingDisabled = preferences.getBoolean("isUrlEncodingDisabled", false);
172 this.isUrlRandomSuffixDisabled = preferences.getBoolean("isUrlRandomSuffixDisabled", false);
173
174 this.isParsingForm = preferences.getBoolean("isParsingForm", false);
175 this.isNotTestingConnection = preferences.getBoolean("isNotTestingConnection", false);
176 this.isNotProcessingCookies = preferences.getBoolean("isNotProcessingCookies", false);
177 this.isProcessingCsrf = preferences.getBoolean("isProcessingCsrf", false);
178
179 this.isTamperingBase64 = preferences.getBoolean("isTamperingBase64", false);
180 this.isTamperingEqualToLike = preferences.getBoolean("isTamperingEqualToLike", false);
181 this.isTamperingFunctionComment = preferences.getBoolean("isTamperingFunctionComment", false);
182 this.isTamperingVersionComment = preferences.getBoolean("isTamperingVersionComment", false);
183 this.isTamperingRandomCase = preferences.getBoolean("isTamperingRandomCase", false);
184 this.isTamperingEval = preferences.getBoolean("isTamperingEval", false);
185 this.isTamperingSpaceToDashComment = preferences.getBoolean("isTamperingSpaceToDashComment", false);
186 this.isTamperingSpaceToMultilineComment = preferences.getBoolean("isTamperingSpaceToMultilineComment", false);
187 this.isTamperingSpaceToSharpComment = preferences.getBoolean("isTamperingSpaceToSharpComment", false);
188
189 this.is4K = preferences.getBoolean("is4K", false);
190 this.isCsrfUserTag = preferences.getBoolean("isCsrfUserTag", false);
191 this.csrfUserTag = preferences.get("csrfUserTag", StringUtils.EMPTY);
192 this.csrfUserTagOutput = preferences.get("csrfUserTagOutput", StringUtils.EMPTY);
193 this.isLimitingThreads = preferences.getBoolean("isLimitingThreads", true);
194 this.countLimitingThreads = preferences.getInt("countLimitingThreads", 5);
195 this.isConnectionTimeout = preferences.getBoolean("isConnectionTimeout", false);
196 this.countConnectionTimeout = preferences.getInt("countConnectionTimeout", 15);
197 this.isUnicodeDecodeDisabled = preferences.getBoolean("isUnicodeDecodeDisabled", false);
198 this.isUrlDecodeDisabled = preferences.getBoolean("isUrlDecodeDisabled", false);
199 this.countUnionIndex = preferences.getInt("countUnionIndex", 50);
200 this.isLimitingUnionIndex = preferences.getBoolean("isLimitingUnionIndex", false);
201 this.countSleepTimeStrategy = preferences.getInt("countSleepTimeStrategy", 5);
202 this.isLimitingSleepTimeStrategy = preferences.getBoolean("isLimitingSleepTimeStrategy", false);
203
204 this.isStrategyTimeDisabled = preferences.getBoolean("isStrategyTimeDisabled", false);
205 this.isStrategyBlindBinDisabled = preferences.getBoolean("isStrategyBlindBinDisabled", false);
206 this.isStrategyBlindBitDisabled = preferences.getBoolean("isStrategyBlindBitDisabled", false);
207 this.isStrategyMultibitDisabled = preferences.getBoolean("isStrategyMultibitDisabled", false);
208 this.isStrategyDnsDisabled = preferences.getBoolean("isStrategyDnsDisabled", true);
209 this.isStrategyStackDisabled = preferences.getBoolean("isStrategyStackDisabled", false);
210 this.isStrategyErrorDisabled = preferences.getBoolean("isStrategyErrorDisabled", false);
211 this.isStrategyUnionDisabled = preferences.getBoolean("isStrategyUnionDisabled", false);
212
213 this.isUserAgentRandom = preferences.getBoolean("isUserAgentRandom", false);
214
215 this.themeFlatLafName = preferences.get("themeFlatLafName", StringUtils.EMPTY);
216 this.languageTag = preferences.get("languageTag", StringUtils.EMPTY);
217 this.isUrlDecodeNetworkTab = preferences.getBoolean("isUrlDecodeNetworkTab", false);
218
219 this.dnsDomain = preferences.get("dnsDomain", "custom-domain.com");
220 this.dnsPort = preferences.get("dnsPort", "53");
221 }
222
223
224
225
226
227 public void persist() {
228
229 var preferences = Preferences.userRoot().node(InjectionModel.class.getName());
230
231 preferences.putBoolean("isCheckingUpdate", this.isCheckingUpdate);
232 preferences.putBoolean("isReportingBugs", this.isReportingBugs);
233 preferences.putBoolean("is4K", this.is4K);
234 preferences.putBoolean("isUnicodeDecodeDisabled", this.isUnicodeDecodeDisabled);
235 preferences.putBoolean("isUrlDecodeDisabled", this.isUrlDecodeDisabled);
236 preferences.putBoolean("isLimitingThreads", this.isLimitingThreads);
237 preferences.putInt("countLimitingThreads", this.countLimitingThreads);
238 preferences.putBoolean("isConnectionTimeout", this.isConnectionTimeout);
239 preferences.putInt("countConnectionTimeout", this.countConnectionTimeout);
240 preferences.putBoolean("isLimitingUnionIndex", this.isLimitingUnionIndex);
241 preferences.putInt("countUnionIndex", this.countUnionIndex);
242 preferences.putBoolean("isLimitingSleepTimeStrategy", this.isLimitingSleepTimeStrategy);
243 preferences.putInt("countSleepTimeStrategy", this.countSleepTimeStrategy);
244 preferences.putBoolean("isCsrfUserTag", this.isCsrfUserTag);
245 preferences.put("csrfUserTag", this.csrfUserTag);
246 preferences.put("csrfUserTagOutput", this.csrfUserTagOutput);
247
248 preferences.putBoolean("isFollowingRedirection", this.isFollowingRedirection);
249 preferences.putBoolean("isHttp2Disabled", this.isHttp2Disabled);
250 preferences.putBoolean("isNotInjectingMetadata", this.isNotInjectingMetadata);
251 preferences.putBoolean("isNotSearchingCharInsertion", this.isNotSearchingCharInsertion);
252 preferences.putBoolean("isNotShowingVulnReport", this.isNotShowingVulnReport);
253 preferences.putBoolean("isCheckingAllParam", this.isCheckingAllParam);
254 preferences.putBoolean("isCheckingAllURLParam", this.isCheckingAllURLParam);
255 preferences.putBoolean("isCheckingAllRequestParam", this.isCheckingAllRequestParam);
256 preferences.putBoolean("isCheckingAllHeaderParam", this.isCheckingAllHeaderParam);
257
258 preferences.putBoolean("isCheckingAllBase64Param", this.isCheckingAllBase64Param);
259 preferences.putBoolean("isCheckingAllJsonParam", this.isCheckingAllJsonParam);
260 preferences.putBoolean("isCheckingAllCookieParam", this.isCheckingAllCookieParam);
261 preferences.putBoolean("isCheckingAllSoapParam", this.isCheckingAllSoapParam);
262 preferences.putBoolean("isParsingForm", this.isParsingForm);
263 preferences.putBoolean("isNotTestingConnection", this.isNotTestingConnection);
264 preferences.putBoolean("isNotProcessingCookies", this.isNotProcessingCookies);
265 preferences.putBoolean("isProcessingCsrf", this.isProcessingCsrf);
266
267 preferences.putBoolean("isPerfIndexDisabled", this.isPerfIndexDisabled);
268 preferences.putBoolean("isDefaultStrategy", this.isDefaultStrategy);
269 preferences.putBoolean("isZipStrategy", this.isZipStrategy);
270 preferences.putBoolean("isDiosStrategy", this.isDiosStrategy);
271 preferences.putBoolean("isUrlEncodingDisabled", this.isUrlEncodingDisabled);
272 preferences.putBoolean("isUrlRandomSuffixDisabled", this.isUrlRandomSuffixDisabled);
273
274 preferences.putBoolean("isTamperingBase64", this.isTamperingBase64);
275 preferences.putBoolean("isTamperingEqualToLike", this.isTamperingEqualToLike);
276 preferences.putBoolean("isTamperingVersionComment", this.isTamperingVersionComment);
277 preferences.putBoolean("isTamperingFunctionComment", this.isTamperingFunctionComment);
278 preferences.putBoolean("isTamperingRandomCase", this.isTamperingRandomCase);
279 preferences.putBoolean("isTamperingEval", this.isTamperingEval);
280 preferences.putBoolean("isTamperingSpaceToDashComment", this.isTamperingSpaceToDashComment);
281 preferences.putBoolean("isTamperingSpaceToMultilineComment", this.isTamperingSpaceToMultilineComment);
282 preferences.putBoolean("isTamperingSpaceToSharpComment", this.isTamperingSpaceToSharpComment);
283
284 preferences.putBoolean("isStrategyTimeDisabled", this.isStrategyTimeDisabled);
285 preferences.putBoolean("isStrategyBlindBinDisabled", this.isStrategyBlindBinDisabled);
286 preferences.putBoolean("isStrategyBlindBitDisabled", this.isStrategyBlindBitDisabled);
287 preferences.putBoolean("isStrategyMultibitDisabled", this.isStrategyMultibitDisabled);
288 preferences.putBoolean("isStrategyDnsDisabled", this.isStrategyDnsDisabled);
289 preferences.putBoolean("isStrategyStackDisabled", this.isStrategyStackDisabled);
290 preferences.putBoolean("isStrategyErrorDisabled", this.isStrategyErrorDisabled);
291 preferences.putBoolean("isStrategyUnionDisabled", this.isStrategyUnionDisabled);
292
293 preferences.putBoolean("isUserAgentRandom", this.isUserAgentRandom);
294 preferences.putBoolean("isUrlDecodeNetworkTab", this.isUrlDecodeNetworkTab);
295
296 preferences.put("themeFlatLafName", this.themeFlatLafName);
297 preferences.put("languageTag", this.languageTag);
298
299 preferences.put("dnsDomain", this.dnsDomain);
300 preferences.put("dnsPort", this.dnsPort);
301 }
302
303
304
305
306
307 public void set(String path) {
308 this.pathFile = path;
309 Preferences preferences = Preferences.userRoot().node(InjectionModel.class.getName());
310 preferences.put("pathFile", this.pathFile);
311 }
312
313
314
315
316 public String getPathFile() {
317 return this.pathFile;
318 }
319
320 public boolean isCheckingUpdate() {
321 return this.isCheckingUpdate;
322 }
323
324 public boolean isFollowingRedirection() {
325 return this.isFollowingRedirection;
326 }
327
328 public boolean isHttp2Disabled() {
329 return this.isHttp2Disabled;
330 }
331
332 public boolean isReportingBugs() {
333 return this.isReportingBugs;
334 }
335
336 public boolean isNotInjectingMetadata() {
337 return this.isNotInjectingMetadata;
338 }
339
340 public boolean isNotSearchingCharInsertion() {
341 return this.isNotSearchingCharInsertion;
342 }
343
344 public boolean isNotShowingVulnReport() {
345 return this.isNotShowingVulnReport;
346 }
347
348 public boolean isCheckingAllURLParam() {
349 return this.isCheckingAllURLParam;
350 }
351
352 public boolean isCheckingAllRequestParam() {
353 return this.isCheckingAllRequestParam;
354 }
355
356 public boolean isCheckingAllHeaderParam() {
357 return this.isCheckingAllHeaderParam;
358 }
359
360 public boolean isCheckingAllBase64Param() {
361 return this.isCheckingAllBase64Param;
362 }
363
364 public boolean isCheckingAllJsonParam() {
365 return this.isCheckingAllJsonParam;
366 }
367
368 public boolean isParsingForm() {
369 return this.isParsingForm;
370 }
371
372 public boolean isNotTestingConnection() {
373 return this.isNotTestingConnection;
374 }
375
376 public boolean isNotProcessingCookies() {
377 return this.isNotProcessingCookies;
378 }
379
380 public boolean isCheckingAllParam() {
381 return this.isCheckingAllParam;
382 }
383
384 public boolean isProcessingCsrf() {
385 return this.isProcessingCsrf;
386 }
387
388 public boolean isCheckingAllCookieParam() {
389 return this.isCheckingAllCookieParam;
390 }
391
392 public boolean isTamperingBase64() {
393 return this.isTamperingBase64;
394 }
395
396 public boolean isTamperingFunctionComment() {
397 return this.isTamperingFunctionComment;
398 }
399
400 public boolean isTamperingEqualToLike() {
401 return this.isTamperingEqualToLike;
402 }
403
404 public boolean isTamperingRandomCase() {
405 return this.isTamperingRandomCase;
406 }
407
408 public boolean isTamperingSpaceToMultilineComment() {
409 return this.isTamperingSpaceToMultilineComment;
410 }
411
412 public boolean isTamperingSpaceToDashComment() {
413 return this.isTamperingSpaceToDashComment;
414 }
415
416 public boolean isTamperingSpaceToSharpComment() {
417 return this.isTamperingSpaceToSharpComment;
418 }
419
420 public boolean isTamperingVersionComment() {
421 return this.isTamperingVersionComment;
422 }
423
424 public boolean isTamperingEval() {
425 return this.isTamperingEval;
426 }
427
428 public boolean isCheckingAllSoapParam() {
429 return this.isCheckingAllSoapParam;
430 }
431
432 public boolean is4K() {
433 return this.is4K;
434 }
435
436 public boolean isLimitingThreads() {
437 return this.isLimitingThreads;
438 }
439
440 public boolean isLimitingSleepTimeStrategy() {
441 return this.isLimitingSleepTimeStrategy;
442 }
443
444 public boolean isConnectionTimeout() {
445 return this.isConnectionTimeout;
446 }
447
448 public boolean isUnicodeDecodeDisabled() {
449 return this.isUnicodeDecodeDisabled;
450 }
451
452 public boolean isUrlDecodeDisabled() {
453 return this.isUrlDecodeDisabled;
454 }
455
456 public int countLimitingThreads() {
457 return this.countLimitingThreads;
458 }
459
460 public int countConnectionTimeout() {
461 return this.countConnectionTimeout;
462 }
463
464 public int countUnionIndex() {
465 return this.countUnionIndex;
466 }
467
468 public int countSleepTimeStrategy() {
469 return this.countSleepTimeStrategy;
470 }
471
472 public boolean isLimitingUnionIndex() {
473 return this.isLimitingUnionIndex;
474 }
475
476 public boolean isCsrfUserTag() {
477 return this.isCsrfUserTag;
478 }
479
480 public String csrfUserTag() {
481 return this.csrfUserTag;
482 }
483
484 public String csrfUserTagOutput() {
485 return this.csrfUserTagOutput;
486 }
487
488 public boolean isPerfIndexDisabled() {
489 return this.isPerfIndexDisabled;
490 }
491
492 public boolean isZipStrategy() {
493 return this.isZipStrategy;
494 }
495
496 public boolean isDefaultStrategy() {
497 return this.isDefaultStrategy;
498 }
499
500 public boolean isDiosStrategy() {
501 return this.isDiosStrategy;
502 }
503
504 public boolean isUrlEncodingDisabled() {
505 return this.isUrlEncodingDisabled;
506 }
507
508 public boolean isUrlRandomSuffixDisabled() {
509 return this.isUrlRandomSuffixDisabled;
510 }
511
512 public boolean isStrategyTimeDisabled() {
513 return this.isStrategyTimeDisabled;
514 }
515
516 public boolean isStrategyBlindBitDisabled() {
517 return this.isStrategyBlindBitDisabled;
518 }
519
520 public boolean isStrategyBlindBinDisabled() {
521 return this.isStrategyBlindBinDisabled;
522 }
523
524 public boolean isStrategyMultibitDisabled() {
525 return this.isStrategyMultibitDisabled;
526 }
527
528 public boolean isStrategyStackDisabled() {
529 return this.isStrategyStackDisabled;
530 }
531
532 public boolean isStrategyDnsDisabled() {
533 return this.isStrategyDnsDisabled;
534 }
535
536 public boolean isStrategyErrorDisabled() {
537 return this.isStrategyErrorDisabled;
538 }
539
540 public boolean isStrategyUnionDisabled() {
541 return this.isStrategyUnionDisabled;
542 }
543
544 public boolean isUserAgentRandom() {
545 return this.isUserAgentRandom;
546 }
547
548 public String getThemeFlatLafName() {
549 return this.themeFlatLafName;
550 }
551
552 public String getLanguageTag() {
553 return this.languageTag;
554 }
555
556 public boolean isUrlDecodeNetworkTab() {
557 return this.isUrlDecodeNetworkTab;
558 }
559
560 public String getCommandsReverseYaml() {
561 return this.commandsReverseYaml;
562 }
563
564 public List<ModelReverse> getCommandsReverse() {
565 return this.commandsReverse;
566 }
567
568 public String getDnsDomain() {
569 return this.dnsDomain;
570 }
571
572 public String getDnsPort() {
573 return this.dnsPort;
574 }
575
576
577
578
579 public PreferencesUtil withIsCheckingUpdate(boolean isCheckingUpdate) {
580 this.isCheckingUpdate = isCheckingUpdate;
581 return this;
582 }
583
584 public PreferencesUtil withIsReportingBugs(boolean isReportingBugs) {
585 this.isReportingBugs = isReportingBugs;
586 return this;
587 }
588
589 public PreferencesUtil withIs4K(boolean is4K) {
590 this.is4K = is4K;
591 return this;
592 }
593
594 public PreferencesUtil withIsFollowingRedirection(boolean isFollowingRedirection) {
595 this.isFollowingRedirection = isFollowingRedirection;
596 return this;
597 }
598
599 public PreferencesUtil withIsHttp2Disabled(boolean isHttp2Disabled) {
600 this.isHttp2Disabled = isHttp2Disabled;
601 return this;
602 }
603
604 public PreferencesUtil withIsUnicodeDecodeDisabled(boolean isUnicodeDecodeDisabled) {
605 this.isUnicodeDecodeDisabled = isUnicodeDecodeDisabled;
606 return this;
607 }
608
609 public PreferencesUtil withIsUrlDecodeDisabled(boolean isUrlDecodeDisabled) {
610 this.isUrlDecodeDisabled = isUrlDecodeDisabled;
611 return this;
612 }
613
614 public PreferencesUtil withIsNotInjectingMetadata(boolean isNotInjectingMetadata) {
615 this.isNotInjectingMetadata = isNotInjectingMetadata;
616 return this;
617 }
618
619 public PreferencesUtil withIsNotSearchingCharInsertion(boolean isNotSearchingCharInsertion) {
620 this.isNotSearchingCharInsertion = isNotSearchingCharInsertion;
621 return this;
622 }
623
624 public PreferencesUtil withIsNotShowingVulnReport(boolean isNotShowingVulnReport) {
625 this.isNotShowingVulnReport = isNotShowingVulnReport;
626 return this;
627 }
628
629 public PreferencesUtil withIsCheckingAllParam(boolean isCheckingAllParam) {
630 this.isCheckingAllParam = isCheckingAllParam;
631 return this;
632 }
633
634 public PreferencesUtil withIsCheckingAllURLParam(boolean isCheckingAllURLParam) {
635 this.isCheckingAllURLParam = isCheckingAllURLParam;
636 return this;
637 }
638
639 public PreferencesUtil withIsCheckingAllRequestParam(boolean isCheckingAllRequestParam) {
640 this.isCheckingAllRequestParam = isCheckingAllRequestParam;
641 return this;
642 }
643
644 public PreferencesUtil withIsCheckingAllHeaderParam(boolean isCheckingAllHeaderParam) {
645 this.isCheckingAllHeaderParam = isCheckingAllHeaderParam;
646 return this;
647 }
648
649 public PreferencesUtil withIsCheckingAllBase64Param(boolean isCheckingAllBase64Param) {
650 this.isCheckingAllBase64Param = isCheckingAllBase64Param;
651 return this;
652 }
653
654 public PreferencesUtil withIsCheckingAllJsonParam(boolean isCheckingAllJSONParam) {
655 this.isCheckingAllJsonParam = isCheckingAllJSONParam;
656 return this;
657 }
658
659 public PreferencesUtil withIsCheckingAllCookieParam(boolean isCheckingAllCookieParam) {
660 this.isCheckingAllCookieParam = isCheckingAllCookieParam;
661 return this;
662 }
663
664 public PreferencesUtil withIsCheckingAllSoapParam(boolean isCheckingAllSOAPParam) {
665 this.isCheckingAllSoapParam = isCheckingAllSOAPParam;
666 return this;
667 }
668
669 public PreferencesUtil withIsParsingForm(boolean isParsingForm) {
670 this.isParsingForm = isParsingForm;
671 return this;
672 }
673
674 public PreferencesUtil withIsNotTestingConnection(boolean isNotTestingConnection) {
675 this.isNotTestingConnection = isNotTestingConnection;
676 return this;
677 }
678
679 public PreferencesUtil withIsNotProcessingCookies(boolean isNotProcessingCookies) {
680 this.isNotProcessingCookies = isNotProcessingCookies;
681 return this;
682 }
683
684 public PreferencesUtil withIsProcessingCsrf(boolean isProcessingCsrf) {
685 this.isProcessingCsrf = isProcessingCsrf;
686 return this;
687 }
688
689 public PreferencesUtil withIsTamperingBase64(boolean isTamperingBase64) {
690 this.isTamperingBase64 = isTamperingBase64;
691 return this;
692 }
693
694 public PreferencesUtil withIsTamperingFunctionComment(boolean isTamperingFunctionComment) {
695 this.isTamperingFunctionComment = isTamperingFunctionComment;
696 return this;
697 }
698
699 public PreferencesUtil withIsTamperingVersionComment(boolean isTamperingVersionComment) {
700 this.isTamperingVersionComment = isTamperingVersionComment;
701 return this;
702 }
703
704 public PreferencesUtil withIsTamperingEqualToLike(boolean isTamperingEqualToLike) {
705 this.isTamperingEqualToLike = isTamperingEqualToLike;
706 return this;
707 }
708
709 public PreferencesUtil withIsTamperingRandomCase(boolean isTamperingRandomCase) {
710 this.isTamperingRandomCase = isTamperingRandomCase;
711 return this;
712 }
713
714 public PreferencesUtil withIsTamperingEval(boolean isTamperingEval) {
715 this.isTamperingEval = isTamperingEval;
716 return this;
717 }
718
719 public PreferencesUtil withIsTamperingSpaceToMultilineComment(boolean isTamperingSpaceToMultilineComment) {
720 this.isTamperingSpaceToMultilineComment = isTamperingSpaceToMultilineComment;
721 return this;
722 }
723
724 public PreferencesUtil withIsTamperingSpaceToDashComment(boolean isTamperingSpaceToDashComment) {
725 this.isTamperingSpaceToDashComment = isTamperingSpaceToDashComment;
726 return this;
727 }
728
729 public PreferencesUtil withIsTamperingSpaceToSharpComment(boolean isTamperingSpaceToSharpComment) {
730 this.isTamperingSpaceToSharpComment = isTamperingSpaceToSharpComment;
731 return this;
732 }
733
734 public PreferencesUtil withCsrfUserTag(String csrfUserTag) {
735 this.csrfUserTag = csrfUserTag;
736 return this;
737 }
738
739 public PreferencesUtil withCsrfUserTagOutput(String csrfUserTagOutput) {
740 this.csrfUserTagOutput = csrfUserTagOutput;
741 return this;
742 }
743
744 public PreferencesUtil withIsCsrfUserTag(boolean isCsrfUserTag) {
745 this.isCsrfUserTag = isCsrfUserTag;
746 return this;
747 }
748
749 public PreferencesUtil withIsLimitingThreads(boolean isLimitingThreads) {
750 this.isLimitingThreads = isLimitingThreads;
751 return this;
752 }
753
754 public PreferencesUtil withIsConnectionTimeout(boolean isConnectionTimeout) {
755 this.isConnectionTimeout = isConnectionTimeout;
756 return this;
757 }
758
759 public PreferencesUtil withIsLimitingSleepTimeStrategy(boolean isLimitingSleepTimeStrategy) {
760 this.isLimitingSleepTimeStrategy = isLimitingSleepTimeStrategy;
761 return this;
762 }
763
764 public PreferencesUtil withCountLimitingThreads(int countLimitingThreads) {
765 this.countLimitingThreads = countLimitingThreads;
766 return this;
767 }
768
769 public PreferencesUtil withCountConnectionTimeout(int countConnectionTimeout) {
770 this.countConnectionTimeout = countConnectionTimeout;
771 return this;
772 }
773
774 public PreferencesUtil withCountSleepTimeStrategy(int countSleepTimeStrategy) {
775 this.countSleepTimeStrategy = countSleepTimeStrategy;
776 return this;
777 }
778
779 public PreferencesUtil withIsZipStrategy(boolean isZipStrategy) {
780 this.isZipStrategy = isZipStrategy;
781 return this;
782 }
783
784 public PreferencesUtil withIsDefaultStrategy(boolean isDefaultStrategy) {
785 this.isDefaultStrategy = isDefaultStrategy;
786 return this;
787 }
788
789 public PreferencesUtil withIsDiosStrategy(boolean isDiosStrategy) {
790 this.isDiosStrategy = isDiosStrategy;
791 return this;
792 }
793
794 public PreferencesUtil withIsPerfIndexDisabled(boolean isPerfIndexDisabled) {
795 this.isPerfIndexDisabled = isPerfIndexDisabled;
796 return this;
797 }
798
799 public PreferencesUtil withIsUrlEncodingDisabled(boolean isUrlEncodingDisabled) {
800 this.isUrlEncodingDisabled = isUrlEncodingDisabled;
801 return this;
802 }
803
804 public PreferencesUtil withIsUrlRandomSuffixDisabled(boolean isUrlRandomSuffixDisabled) {
805 this.isUrlRandomSuffixDisabled = isUrlRandomSuffixDisabled;
806 return this;
807 }
808
809 public PreferencesUtil withIsLimitingUnionIndex(boolean isLimitingUnionIndex) {
810 this.isLimitingUnionIndex = isLimitingUnionIndex;
811 return this;
812 }
813
814 public PreferencesUtil withCountUnionIndex(int countUnionIndex) {
815 this.countUnionIndex = countUnionIndex;
816 return this;
817 }
818
819 public PreferencesUtil withDnsDomain(String dnsDomain) {
820 this.dnsDomain = dnsDomain;
821 return this;
822 }
823
824 public PreferencesUtil withDnsPort(String dnsPort) {
825 this.dnsPort = dnsPort;
826 return this;
827 }
828
829 public PreferencesUtil withIsStrategyTimeDisabled(boolean isStrategyTimeDisabled) {
830 this.isStrategyTimeDisabled = isStrategyTimeDisabled;
831 return this;
832 }
833
834 public PreferencesUtil withIsStrategyBlindBitDisabled(boolean isStrategyBlindBitDisabled) {
835 this.isStrategyBlindBitDisabled = isStrategyBlindBitDisabled;
836 return this;
837 }
838
839 public PreferencesUtil withIsStrategyBlindBinDisabled(boolean isStrategyBlindBinDisabled) {
840 this.isStrategyBlindBinDisabled = isStrategyBlindBinDisabled;
841 return this;
842 }
843
844 public PreferencesUtil withIsStrategyMultibitDisabled(boolean isStrategyMultibitDisabled) {
845 this.isStrategyMultibitDisabled = isStrategyMultibitDisabled;
846 return this;
847 }
848
849 public PreferencesUtil withIsStrategyStackDisabled(boolean isStrategyStackDisabled) {
850 this.isStrategyStackDisabled = isStrategyStackDisabled;
851 return this;
852 }
853
854 public PreferencesUtil withIsStrategyDnsDisabled(boolean isStrategyDnsDisabled) {
855 this.isStrategyDnsDisabled = isStrategyDnsDisabled;
856 return this;
857 }
858
859 public PreferencesUtil withIsStrategyErrorDisabled(boolean isStrategyErrorDisabled) {
860 this.isStrategyErrorDisabled = isStrategyErrorDisabled;
861 return this;
862 }
863
864 public PreferencesUtil withIsStrategyUnionDisabled(boolean isStrategyUnionDisabled) {
865 this.isStrategyUnionDisabled = isStrategyUnionDisabled;
866 return this;
867 }
868
869 public PreferencesUtil withThemeFlatLafName(String themeFlatLafName) {
870 this.themeFlatLafName = themeFlatLafName;
871 return this;
872 }
873
874 public PreferencesUtil withIsUrlDecodeNetworkTab(boolean isUrlDecodeNetworkTab) {
875 this.isUrlDecodeNetworkTab = isUrlDecodeNetworkTab;
876 return this;
877 }
878
879 public PreferencesUtil withLanguageTag(String languageTag) {
880 this.languageTag = languageTag;
881 return this;
882 }
883
884 public PreferencesUtil withIsUserAgentRandom(boolean selected) {
885 this.isUserAgentRandom = selected;
886 return this;
887 }
888 }