 Hello, Didier Stevens here, senior handler at the InternetStorm Center. In my last diary entry I talk about the new JSON option in the latest version of Curl. So let's take a look. Here I have my simple listener Python script. It's a kind of Python honeypot. I configure it to listen on port 8080 and it will always center reply HTTP 200 status okay with small bit of JSON. I'm starting this and now over here I'm going to use the new Curl version. This is the Windows version for Curl that I downloaded, 7.82.0 and now I can do something like option JSON and here I'm going to send JSON data. So open the curly brace and then I need again a double quote but that's for the JSON so I need to escape that from the Windows shell, cmd.exe here and then I'm saying ISC, close this, value 1, close the curly brace here and then double quotes to terminate the argument and then localhost port 8080 okay and so that's what we get back that's because I configured this here but as you can see here now we have a post that's because of the JSON and here we have content type application JSON and accept application JSON and this is the JSON that we send. So that's what the JSON option does. It's very similar to data option that will also do a post see the same post here same data is post but then here the headers the content type header and accept here is different that's a standard then the default value so that's something you would have to change yourself with an option for the header but that's actually what JSON option does here it does this automatically for you. Now JSON here that option it will not validate the syntax or anything so if I remove the curly brace here at the end see this will still be posted so it's not interpreted that might come later in curl that more features are added for JSON but up till now this is how it works and so I discovered this because about a month ago one of our handlers shared this blog post that announced the JSON option and in here I found a tool that I have never heard of before Yo. So Yo is actually a tool to create JSON easily from the command line because here I have to escape the double quotes here so it's a bit awkward to do in this shell now if I type Yo and that's the command and I say IC equals one just that it will generate for me the proper JSON for that and you can do other things like let's say Sans equals edu and then you get this and as you can see in is the default configuration it will try to recognize the values that you pass so one here that has the format of an integer so it is interpreted as an integer while this here is a string can have different options like option A to make this an array a list instead of a dictionary and of course once you have this tool you can pipe this into curl so let's take this here and I'm going to pipe this into curl JSON and I'm not going to type the data itself here as an argument it will come from standard in so from a file I have to use add to say that it comes from a file and then the dash to say that standard in so now the JSON expression will be taken from standard in and then we also sent that to local host here my simple listener and then here you can see you have this result