Skip to content

Instantly share code, notes, and snippets.

@pajswigger
Created September 20, 2018 09:47
Show Gist options
  • Save pajswigger/6be535a0ad05eb55038c07a29e71b777 to your computer and use it in GitHub Desktop.
Save pajswigger/6be535a0ad05eb55038c07a29e71b777 to your computer and use it in GitHub Desktop.
Function to help a Burp extension update a parameter
static byte[] updateParameter(IExtensionHelpers helpers, IRequestInfo requestInfo, byte[] request, IParameter parameter, String value) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int bodyOffset = requestInfo.getBodyOffset();
baos.write(request, bodyOffset, parameter.getValueStart() - bodyOffset);
baos.write(value.getBytes(Charsets.ISO_8859_1), 0, value.length());
baos.write(request, parameter.getValueEnd(), request.length - parameter.getValueEnd());
byte[] newBody = baos.toByteArray();
List<String> headers = requestInfo.getHeaders();
for(int i = 0; i < headers.size(); i++) {
if(headers.get(i).startsWith("Content-Length:")) {
headers.set(i, String.format("Content-Length: %d", newBody.length));
}
}
return helpers.buildHttpMessage(headers, newBody);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment