Skip to content

Commit b02e81e

Browse files
Merge pull request #23 from NetSPI/sort-signed-headers
Signed headers list is now sorted
2 parents afd115b + 69e7976 commit b02e81e

File tree

2 files changed

+3
-10
lines changed

2 files changed

+3
-10
lines changed

.idea/modules.xml

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/main/java/burp/Utility.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ public static byte[] signRequest(IHttpRequestResponse messageInfo,
9696
pw.println("Warning: SignedHeader '" + signedHeader + "' does not exist in request headers.");
9797
}
9898
}
99+
String signedHeadersSorted = String.join(";", signedHeaderList);
99100
//pw.println(canonicalHeaders.toString());
100101
byte[] request = messageInfo.getRequest();
101102
String body = "";
@@ -216,7 +217,7 @@ public static byte[] signRequest(IHttpRequestResponse messageInfo,
216217
//canonicalQueryString = canonicalQueryString.replace(":","%3A").replace("/","%2F").replace(" ", "%20");
217218

218219
String canonicalRequest = requestInfo.getMethod() + '\n' + encodedCanonicalUri + '\n' + canonicalQueryString + '\n' +
219-
canonicalHeaders +'\n' + signedHeaders + '\n' + payloadHash;
220+
canonicalHeaders +'\n' + signedHeadersSorted + '\n' + payloadHash;
220221
String credScope = dateStampString + '/' + region + '/' + service + '/' + "aws4_request";
221222
String algorithm = "AWS4-HMAC-SHA256";
222223

@@ -228,7 +229,7 @@ public static byte[] signRequest(IHttpRequestResponse messageInfo,
228229
String signature = DatatypeConverter.printHexBinary(HmacSHA256(stringToSign, signingKey));
229230

230231
newHeaders.add("Authorization: " + algorithm + ' ' + "Credential=" + accessKey + '/' + credScope + ", " + "SignedHeaders=" +
231-
signedHeaders + ", " + "Signature=" + signature.toLowerCase());
232+
signedHeadersSorted + ", " + "Signature=" + signature.toLowerCase());
232233
newHeaders.add("X-Amz-Date: " + amzdate);
233234
if(!newHeaders.get(0).matches(notUnicode)) {
234235
char[] chars = newHeaders.get(0).toCharArray();

0 commit comments

Comments
 (0)