Skip to content

Instantly share code, notes, and snippets.

@dufferzafar
Created April 25, 2016 00:00
Show Gist options
  • Save dufferzafar/45c80301aed045e729820db001fe5d00 to your computer and use it in GitHub Desktop.
Save dufferzafar/45c80301aed045e729820db001fe5d00 to your computer and use it in GitHub Desktop.
Proxy Tools Research

Research into other proxy tools

There are a ton of proxy tools out there, I decided to try some of them to find functionalities that we might want to incorporate in mitmproxy.

Currently, I was just focussed on how these tools do import/export of sessions.

Fiddler

  • Dot Net, Mono

  • Export

    • Custom Format (.saz)
      • Session Archive Zip (application/vnd.telerik-fiddler.SessionArchive)
      • Specially formatted Zip files
      • Open with standard zip unpacker
      • http://fiddler.wikidot.com/saz-files
      • Contents
        • _index.htm
          • human readable version of session list
          • not processed when loading .saz file
          • exists solely for manual examination
        • [Content_Types.xml]
        • raw folder
          • sessid#_c.txt
          • sessid#_s.txt
          • sessid#_m.xml
          • sessid#_m.xml
    • HTML5 App Cache Manifest
    • Meddler Scripts
    • WCAT Script
    • HTTP Archive (.har) (v1.1, v1.2)
    • Can also Log session into a Database
  • Import

    • HTTP Archive JSON / XML (.har)
  • Custom Importers or Exporters can also be built

  • Has lots of addons

    • We can implement some of these as example scripts for mitmproxy
    • AnyWHERE
      • Spoof responses to browsers' GeoLocation web service queries
    • Compressibility
      • "Find opportunities for compression savings across your entire site"
      • Link
    • Privacy Scanner
      • Flags responses that set cookies
      • P3P headers
    • JavaScript Formatter
      • Pretty Print JS
      • Do we have this already?
    • SyntaxView (Syntax Highlighting)
      • HTML, JavaScript, CSS, XML etc.
    • MessagePack, FastInfoset Viewers

Charles

  • Java

  • Export

    • Charles Session File (.chls)
      • Java Serialization Data (v5)
      • Sort of like python's pickle
    • CSV
      • Doesn't contain all of the session information
      • Only Summary data (timing and size of the requests and responses)
    • HTTP Trace File (.trace)
      • Plain text file
    • XML Summary / Session File (.xml)
    • HTTP Archive (.har)
  • Import

    • Charles Session Files (.chls)

    • AMF Dumps (.amf0, .amf, .amf3)

    • HTTP Trace File (.trace)

    • XML Summary / Session File (.xml)

    • HTTP Archive (.har)

    • JSON Dumps (.json)

    • Fiddler Sessions (.saz)

    • Libpcap Files (.pcap)

  • Syntax Highlighting

TCPCatcher

  • Java

  • Export

    • Custom format (.tcpsf)
      • Java Serialization Data (v5)
    • Text file
      • 'Flows' are separated by --------- line
  • Import

    • Custom format (.tcpsf)

Burp Suite

  • Java

  • Import / Export

    • Only available in the Pro version :/
    • Undocumented
    • Not meant to be used outside Burp :'(
  • Syntax highlighting

Other Tools

  • Wireshark

  • Zed Attack Proxy (ZAP) (Java)

  • Skipfish

  • Hoppy

  • Web Scarab ?

  • mitmproxy

  • honeyproxy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment