SlideShare a Scribd company logo
1 of 22
Download to read offline
JSON Fuzzing: New
           approach to old problems

- Tamaghna Basu            - K.V.Prashant
tamaghna.basu@gmail.com    good.best.guy@gmail.com



http://null.co.in/                      http://nullcon.net/
Who are we?
        We are still discovering ourselves
        • Kaun hu main…
        • kahan hu main….
        • Main yahan kaise aya…
        • Purpose of my life…

      Till then,
      K.V.Prashant :- CEH, CISSP Security
           consultant/researcher. An avid null
           community member.


    Tamaghna Basu :- GCIH, CEH, ECSA, RHCE,
       Diploma in Cyber Law. Once coder, now
       researcher. A net addict citizen of India.




http://null.co.in/                                  http://nullcon.net/
What are you going to
           tolerate in next 30 mins or so…
      • Lazy bums we are.
      • Wanted an easy tool to
        test apps with JSON
        support. Unable to find
        one.
      • Laziness inside us
        prompted us to use an
        existing to and add JSON
        functionality instead
        building it from scratch.



http://null.co.in/                      http://nullcon.net/
Disclaimer
      We are not responsible for any mental, financial and
       physical health issues arising after viewing this
       presentation.

      We are not responsible for any damage to conference
       venue arising due our conference speech


                             So be seated at your own risk 


http://null.co.in/                                     http://nullcon.net/
Why are we here?
                              Because of him…
                              • American computer
                                programmer and
                                entrepreneur

                              • More popular for his
                                involvement and creation of
                                JSON format

                                           (Ref: Wikipedia)
          Doglas Croockford


http://null.co.in/                                   http://nullcon.net/
JSON:- What is that ?
      JSON (an acronym for JavaScript Object Notation) is a
         lightweight text-based open standard designed for human-
         readable data interchange. It is derived from the JavaScript
         programming language for representing simple data
         structures and associative arrays, called objects. Despite its
         relationship to JavaScript, it is language-independent, with
         parsers available for most programming languages.
      The JSON format was originally specified by Douglas Crockford,
         and is described in RFC 4627. The official Internet media type
         for JSON is application/json. The JSON filename extension is
         .json
      Blah… Blah… Blah…
                            SEE Wikipedia…
http://null.co.in/                                              http://nullcon.net/
JSON:- What is that ?
      In simple language
       It's a method to exchange data in a simple structured
         format between web-client and server.
       Mostly used with AJAX request/response scenarios.
       Lightweight, lesser tags and easy to parse- less
         computational intensive than XML
       Extensively used in applications developed by
         companies like Google, Yahoo, Amazon etc.



http://null.co.in/                                     http://nullcon.net/
JSON: Client Side processing
             var abc ='{"loginId":"'+ document.test.name.value +'","pwd":"'+
                document.test.password.value +'"}';
             var req = null;
             if (window.XMLHttpRequest) {
               req = new XMLHttpRequest();
             } else if (window.ActiveXObject) {
             try {
                   req = new ActiveXObject("Msxml2.XMLHTTP");
                 } catch (e) {
                               try {
                                      req = new ActiveXObject("Microsoft.XMLHTTP");
                                    } catch (e) {}
                             }
                   }
                   req.onreadystatechange = function() {
                                if(req.readyState == 4) {
                            if(req.status == 200) {
                               var employee=eval(+req.responseText+);
                                   document.write(employee.name);
                                      document.write(employee.age);
                          }else {
                            document.getElementById("realtooltip2").innerHTML="Error: returned status code " + req.status + " " + req.statusText;
                          }
                    }
                 };
                 req.open("POST", "http://in-prashantkv.in.kworld.kpmg.com:8080/servlets/Search", true);
                 req.send(abc);




http://null.co.in/                                                                                                                        http://nullcon.net/
JSON: Message Format
      Request sent to server :
      {
        “LoginId”:”name”
        “pwd":"secret”
      }

      Response received from server after authentication and
          processing:
      {
        “name”:”Prashant”
        “age":"secret”
      }

http://null.co.in/                                             http://nullcon.net/
JSON: Server Side processing
      Using org.json libraries we can parse JSON object in below way:

      public class HelloWorld extends HttpServlet{
      public void doPost(HttpServletRequest request, HttpServletResponse response)
                          throws ServletException, IOException{
      {
      StringBuffer jb = new StringBuffer();
      String line = null;
      BufferedReader reader = request.getReader();

      while ((line = reader.readLine()) != null)
      jb.append(line);

      JSONObject jsonObject = new JSONObject(jb.toString());

      String pwd = jsonObject.getString("pwd");
      String uname = jsonObject.getString("loginId");
      …..



http://null.co.in/                                                                   http://nullcon.net/
JSON: Server Side processing
      Using org.json libraries we can create JSON object in below method:

      public class HelloJSON
      {
        public static void main(String args[]){
        JSONObject jobject=new JSONObject();

          jobject.put("name","prashant");
          jobject.put("Age",new Integer(25));

           .........
          }
      }




http://null.co.in/                                                          http://nullcon.net/
JSON Fuzzing: What's missing
       Almost everything 
       Current tools support only name/value pair
        format of data e.g.
        login=test&passwd=test123&seclogin=on
       But not JSON format like:
        {"loginId":"test@ttt.com","pwd":"12345"}
       Tiresome to edit each field each field in http
        proxies like paros


http://null.co.in/                                http://nullcon.net/
JSON Fuzzing: What's missing




    login=test&passwd=test
    123&seclogin=on&Form
    Name=existing



http://null.co.in/                         http://nullcon.net/
JSON Fuzzing: What's missing




http://null.co.in/                         http://nullcon.net/
JSON Fuzzing: What's missing




http://null.co.in/                         http://nullcon.net/
JSON Fuzzing: What's missing




http://null.co.in/                       http://nullcon.net/
JSON Fuzzing: What we did
       Took a popular Firefox addon
       Added conversion module to convert JSON to
        name/value pair
       Added fuzzing capabilities on converted name
        value/pair
       Convert back fuzzed values to JSON object and
        complete the request
        (current contribution still under review)

http://null.co.in/                               http://nullcon.net/
JSON Fuzzing: Demo



                            Demo




http://null.co.in/                        http://nullcon.net/
JSON Fuzzing: Road Ahead
      Support for various JSON format :
       Simple object - {"loginId":"test@ttt.com","pwd":"12345"}

       Nested object –
        { "name": "Jack ("Bee") Nimble",
          "format": { "type": "rect", "width": 1920}
        }

       Array –
        ["Sunday", "Monday", "Tuesday", "Wednesday",
        "Thursday", "Friday", "Saturday"]


http://null.co.in/                                                 http://nullcon.net/
JSON Fuzzing: Road Ahead
       Present code changes to Tamper data
        submitted to original writer
       Adding JSON fuzzing capabilities to other tools
        like Webscarab
       Release a JSON application with common
        vulnerabilities




http://null.co.in/                               http://nullcon.net/
JSON Fuzzing: References
       JSON reference site www.json.org
       JSON Ajax tutorials
        http://www.ibm.com/developerworks/web/li
        brary/wa-ajaxintro11.html
       Tamper data page
        https://addons.mozilla.org/en-
        us/firefox/addon/tamper-data/


http://null.co.in/                              http://nullcon.net/
JSON Fuzzing: Road Ahead
                      If you are still there/awake then

                                Dhanyawad

                     Special Thanks to null community
  Tamaghna Basu
  - tamaghna.basu@gmail.com                   K.V.Prashant
  - tamahawk-                                 -good.best.guy@gmail.com
  techguru.blogspot.com
  - twitter.comtitanlambda


http://null.co.in/                                           http://nullcon.net/

More Related Content

More from n|u - The Open Security Community

Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...n|u - The Open Security Community
 

More from n|u - The Open Security Community (20)

Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
 
Talking About SSRF,CRLF
Talking About SSRF,CRLFTalking About SSRF,CRLF
Talking About SSRF,CRLF
 
Building active directory lab for red teaming
Building active directory lab for red teamingBuilding active directory lab for red teaming
Building active directory lab for red teaming
 
Owning a company through their logs
Owning a company through their logsOwning a company through their logs
Owning a company through their logs
 
Introduction to shodan
Introduction to shodanIntroduction to shodan
Introduction to shodan
 
Cloud security
Cloud security Cloud security
Cloud security
 
Detecting persistence in windows
Detecting persistence in windowsDetecting persistence in windows
Detecting persistence in windows
 
Frida - Objection Tool Usage
Frida - Objection Tool UsageFrida - Objection Tool Usage
Frida - Objection Tool Usage
 
OSQuery - Monitoring System Process
OSQuery - Monitoring System ProcessOSQuery - Monitoring System Process
OSQuery - Monitoring System Process
 
DevSecOps Jenkins Pipeline -Security
DevSecOps Jenkins Pipeline -SecurityDevSecOps Jenkins Pipeline -Security
DevSecOps Jenkins Pipeline -Security
 
Extensible markup language attacks
Extensible markup language attacksExtensible markup language attacks
Extensible markup language attacks
 
Linux for hackers
Linux for hackersLinux for hackers
Linux for hackers
 
Android Pentesting
Android PentestingAndroid Pentesting
Android Pentesting
 
News bytes null 200314121904
News bytes null 200314121904News bytes null 200314121904
News bytes null 200314121904
 
XXE
XXEXXE
XXE
 
News Bytes
News BytesNews Bytes
News Bytes
 
Introduction to YARA rules
Introduction to YARA rulesIntroduction to YARA rules
Introduction to YARA rules
 
MITRE ATT&CK Framework
MITRE ATT&CK FrameworkMITRE ATT&CK Framework
MITRE ATT&CK Framework
 
Deep dive into ssrf
Deep dive into ssrfDeep dive into ssrf
Deep dive into ssrf
 
Social engineering
Social engineeringSocial engineering
Social engineering
 

Recently uploaded

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Recently uploaded (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

nullcon 2011 - JSON Fuzzing: New approach to old problems

  • 1. JSON Fuzzing: New approach to old problems - Tamaghna Basu - K.V.Prashant tamaghna.basu@gmail.com good.best.guy@gmail.com http://null.co.in/ http://nullcon.net/
  • 2. Who are we? We are still discovering ourselves • Kaun hu main… • kahan hu main…. • Main yahan kaise aya… • Purpose of my life… Till then, K.V.Prashant :- CEH, CISSP Security consultant/researcher. An avid null community member. Tamaghna Basu :- GCIH, CEH, ECSA, RHCE, Diploma in Cyber Law. Once coder, now researcher. A net addict citizen of India. http://null.co.in/ http://nullcon.net/
  • 3. What are you going to tolerate in next 30 mins or so… • Lazy bums we are. • Wanted an easy tool to test apps with JSON support. Unable to find one. • Laziness inside us prompted us to use an existing to and add JSON functionality instead building it from scratch. http://null.co.in/ http://nullcon.net/
  • 4. Disclaimer We are not responsible for any mental, financial and physical health issues arising after viewing this presentation. We are not responsible for any damage to conference venue arising due our conference speech So be seated at your own risk  http://null.co.in/ http://nullcon.net/
  • 5. Why are we here? Because of him… • American computer programmer and entrepreneur • More popular for his involvement and creation of JSON format (Ref: Wikipedia) Doglas Croockford http://null.co.in/ http://nullcon.net/
  • 6. JSON:- What is that ? JSON (an acronym for JavaScript Object Notation) is a lightweight text-based open standard designed for human- readable data interchange. It is derived from the JavaScript programming language for representing simple data structures and associative arrays, called objects. Despite its relationship to JavaScript, it is language-independent, with parsers available for most programming languages. The JSON format was originally specified by Douglas Crockford, and is described in RFC 4627. The official Internet media type for JSON is application/json. The JSON filename extension is .json Blah… Blah… Blah… SEE Wikipedia… http://null.co.in/ http://nullcon.net/
  • 7. JSON:- What is that ? In simple language  It's a method to exchange data in a simple structured format between web-client and server.  Mostly used with AJAX request/response scenarios.  Lightweight, lesser tags and easy to parse- less computational intensive than XML  Extensively used in applications developed by companies like Google, Yahoo, Amazon etc. http://null.co.in/ http://nullcon.net/
  • 8. JSON: Client Side processing var abc ='{"loginId":"'+ document.test.name.value +'","pwd":"'+ document.test.password.value +'"}'; var req = null; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } req.onreadystatechange = function() { if(req.readyState == 4) { if(req.status == 200) { var employee=eval(+req.responseText+); document.write(employee.name); document.write(employee.age); }else { document.getElementById("realtooltip2").innerHTML="Error: returned status code " + req.status + " " + req.statusText; } } }; req.open("POST", "http://in-prashantkv.in.kworld.kpmg.com:8080/servlets/Search", true); req.send(abc); http://null.co.in/ http://nullcon.net/
  • 9. JSON: Message Format Request sent to server : { “LoginId”:”name” “pwd":"secret” } Response received from server after authentication and processing: { “name”:”Prashant” “age":"secret” } http://null.co.in/ http://nullcon.net/
  • 10. JSON: Server Side processing Using org.json libraries we can parse JSON object in below way: public class HelloWorld extends HttpServlet{ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ { StringBuffer jb = new StringBuffer(); String line = null; BufferedReader reader = request.getReader(); while ((line = reader.readLine()) != null) jb.append(line); JSONObject jsonObject = new JSONObject(jb.toString()); String pwd = jsonObject.getString("pwd"); String uname = jsonObject.getString("loginId"); ….. http://null.co.in/ http://nullcon.net/
  • 11. JSON: Server Side processing Using org.json libraries we can create JSON object in below method: public class HelloJSON { public static void main(String args[]){ JSONObject jobject=new JSONObject(); jobject.put("name","prashant"); jobject.put("Age",new Integer(25)); ......... } } http://null.co.in/ http://nullcon.net/
  • 12. JSON Fuzzing: What's missing  Almost everything   Current tools support only name/value pair format of data e.g. login=test&passwd=test123&seclogin=on  But not JSON format like: {"loginId":"test@ttt.com","pwd":"12345"}  Tiresome to edit each field each field in http proxies like paros http://null.co.in/ http://nullcon.net/
  • 13. JSON Fuzzing: What's missing login=test&passwd=test 123&seclogin=on&Form Name=existing http://null.co.in/ http://nullcon.net/
  • 14. JSON Fuzzing: What's missing http://null.co.in/ http://nullcon.net/
  • 15. JSON Fuzzing: What's missing http://null.co.in/ http://nullcon.net/
  • 16. JSON Fuzzing: What's missing http://null.co.in/ http://nullcon.net/
  • 17. JSON Fuzzing: What we did  Took a popular Firefox addon  Added conversion module to convert JSON to name/value pair  Added fuzzing capabilities on converted name value/pair  Convert back fuzzed values to JSON object and complete the request (current contribution still under review) http://null.co.in/ http://nullcon.net/
  • 18. JSON Fuzzing: Demo Demo http://null.co.in/ http://nullcon.net/
  • 19. JSON Fuzzing: Road Ahead Support for various JSON format :  Simple object - {"loginId":"test@ttt.com","pwd":"12345"}  Nested object – { "name": "Jack ("Bee") Nimble", "format": { "type": "rect", "width": 1920} }  Array – ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] http://null.co.in/ http://nullcon.net/
  • 20. JSON Fuzzing: Road Ahead  Present code changes to Tamper data submitted to original writer  Adding JSON fuzzing capabilities to other tools like Webscarab  Release a JSON application with common vulnerabilities http://null.co.in/ http://nullcon.net/
  • 21. JSON Fuzzing: References  JSON reference site www.json.org  JSON Ajax tutorials http://www.ibm.com/developerworks/web/li brary/wa-ajaxintro11.html  Tamper data page https://addons.mozilla.org/en- us/firefox/addon/tamper-data/ http://null.co.in/ http://nullcon.net/
  • 22. JSON Fuzzing: Road Ahead If you are still there/awake then Dhanyawad Special Thanks to null community Tamaghna Basu - tamaghna.basu@gmail.com K.V.Prashant - tamahawk- -good.best.guy@gmail.com techguru.blogspot.com - twitter.comtitanlambda http://null.co.in/ http://nullcon.net/