Open arthusu opened 3 years ago
This is what causing issues to you ...... as Burp doesn't provide any interface for JSON parameter update like normal POST/GET parameter update so have written a manual parser that is parsing JSON as highlight below
where I am getting indexes on the basis of " like
body = {"data":"abc", "key":"123"}
and the above code is parsing like below
int _fi = messageBody.indexOf(_params[i]);
if(_fi < 0) { continue; }
_fi = _fi + _params[i].length() + 3;
int _si = messageBody.indexOf("\"", _fi);
int _fi = body.indexof("data"); _fi = _fi + _fi.length + 3 // which is the index of data variable's value abc
and after this getting the closure of the data variable's value by checking the next occurrence of " in the string
So when you will change ' to " it will only parse till the first occurrence of " (DQ) and hence no solution as you have to customize it according to this special case.
a quick solution for this
parse it by searching the next occurrence of
",
instead of"
so in this way you can work with double quote too
But it might disturb your flow ... where your parameter is at the end / last and the code will not be able to find the next ", so need to add both cases here for such cases
@arthusu
replace the highlighted line with this snippet and compile again .....
int _si = messageBody.indexOf("]\",", _fi);
if(_si < 0){
_si = messageBody.indexOf("\"", _fi);
}
When configured:
It decrypts but does not parse correctly causing requests not to be processed. Double quotation marks cause problems:
If I modify with single quotes it works fine:
Is there any way to make this pair up correctly? I really appreciate the creation of the extension it's great.