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