1
2
3
4
5
6
7
8
9
10
11 package com.jsql.view.terminal.interaction;
12
13 import com.jsql.model.InjectionModel;
14 import com.jsql.model.bean.util.Header;
15 import com.jsql.util.AnsiColorUtil;
16 import com.jsql.view.interaction.InteractionCommand;
17 import org.apache.logging.log4j.LogManager;
18 import org.apache.logging.log4j.Logger;
19
20 import java.util.Map;
21
22
23
24
25 public class MarkErrorVulnerable implements InteractionCommand {
26
27 private static final Logger LOGGER = LogManager.getRootLogger();
28
29 private final int indexMethodError;
30 private final InjectionModel injectionModel;
31
32 @SuppressWarnings("unchecked")
33 public MarkErrorVulnerable(Object[] interactionParams) {
34 Map<Header, Object> mapHeader = (Map<Header, Object>) interactionParams[0];
35 this.indexMethodError = (int) mapHeader.get(Header.INDEX_ERROR_STRATEGY);
36 this.injectionModel = (InjectionModel) mapHeader.get(Header.INJECTION_MODEL);
37 }
38
39 @Override
40 public void execute() {
41 LOGGER.info(
42 () -> AnsiColorUtil.addGreenColor(
43 this.injectionModel
44 .getMediatorVendor()
45 .getVendor()
46 .instance()
47 .getModelYaml()
48 .getStrategy()
49 .getError()
50 .getMethod()
51 .get(this.indexMethodError)
52 .getName()
53 )
54 );
55 }
56 }