Skip to content

Commit ebfd79a

Browse files
authored
Merge pull request #34 from SasanLabs/develop
Incorporating review comments
2 parents 482f1a8 + a98f511 commit ebfd79a

File tree

1 file changed

+12
-21
lines changed

1 file changed

+12
-21
lines changed

src/main/java/org/zaproxy/zap/extension/jwt/JWTActiveScanRule.java

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,10 @@
1616
import java.io.IOException;
1717
import java.util.ArrayList;
1818
import java.util.List;
19-
import java.util.Locale;
2019
import org.apache.log4j.Logger;
2120
import org.parosproxy.paros.core.scanner.AbstractAppParamPlugin;
2221
import org.parosproxy.paros.core.scanner.Category;
2322
import org.parosproxy.paros.core.scanner.NameValuePair;
24-
import org.parosproxy.paros.network.HttpHeaderField;
2523
import org.parosproxy.paros.network.HttpMessage;
2624
import org.parosproxy.paros.network.HttpRequestHeader;
2725
import org.zaproxy.zap.extension.jwt.attacks.ClientSideAttack;
@@ -54,8 +52,6 @@ public class JWTActiveScanRule extends AbstractAppParamPlugin {
5452
private static final String SOLUTION = JWTI18n.getMessage("jwt.scanner.soln");
5553
private static final String REFERENCE = JWTI18n.getMessage("jwt.scanner.refs");
5654
private static final Logger LOGGER = Logger.getLogger(JWTActiveScanRule.class);
57-
private static final String AUTHORIZATION_HEADER_KEY =
58-
HttpRequestHeader.AUTHORIZATION.toLowerCase(Locale.ROOT);
5955
private int maxRequestCount;
6056

6157
@Override
@@ -80,26 +76,21 @@ public void init() {
8076
}
8177

8278
protected void scan(List<NameValuePair> nameValuePairs) {
83-
if (nameValuePairs.isEmpty()
84-
|| nameValuePairs.get(0).getType() != NameValuePair.TYPE_HEADER) {
85-
super.scan(nameValuePairs);
86-
} else {
79+
if (!nameValuePairs.isEmpty()
80+
&& nameValuePairs.get(0).getType() == NameValuePair.TYPE_HEADER) {
8781
nameValuePairs = new ArrayList<>(nameValuePairs);
88-
List<HttpHeaderField> headerFields = getBaseMsg().getRequestHeader().getHeaders();
89-
for (HttpHeaderField headerField : headerFields) {
90-
if (AUTHORIZATION_HEADER_KEY.equals(
91-
headerField.getName().toLowerCase(Locale.ROOT))) {
92-
nameValuePairs.add(
93-
new NameValuePair(
94-
NameValuePair.TYPE_HEADER,
95-
headerField.getName(),
96-
headerField.getValue(),
97-
nameValuePairs.size()));
98-
break;
99-
}
82+
String authorizationHeaderValue =
83+
getBaseMsg().getRequestHeader().getHeader(HttpRequestHeader.AUTHORIZATION);
84+
if (authorizationHeaderValue != null) {
85+
nameValuePairs.add(
86+
new NameValuePair(
87+
NameValuePair.TYPE_HEADER,
88+
HttpRequestHeader.AUTHORIZATION,
89+
authorizationHeaderValue,
90+
nameValuePairs.size()));
10091
}
101-
super.scan(nameValuePairs);
10292
}
93+
super.scan(nameValuePairs);
10394
}
10495

10596
@Override

0 commit comments

Comments
 (0)