Extending burp

Carl Sampson, CSSLP
Carl Sampson, CSSLPCarl Sampson is a Senior Product Security Engineer at salesforce.com
Extending burp
•
•
•
•
Extending burp
Extending burp
Extending burp
Extending burp
Extending burp
Extending burp
Extending burp
Extending burp
Extending burp
Extending burp
•
•
•
•
•
•
•
•
•
•
Extending burp
•
•
•
•
Extending burp
1 of 16

More Related Content

Recently uploaded(20)

ChatGPT and AI for Web DevelopersChatGPT and AI for Web Developers
ChatGPT and AI for Web Developers
Maximiliano Firtman152 views
ThroughputThroughput
Throughput
Moisés Armani Ramírez28 views
Green Leaf Consulting: Capabilities DeckGreen Leaf Consulting: Capabilities Deck
Green Leaf Consulting: Capabilities Deck
GreenLeafConsulting170 views
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet48 views
The Research Portal of Catalonia: Growing more (information) & more (services)The Research Portal of Catalonia: Growing more (information) & more (services)
The Research Portal of Catalonia: Growing more (information) & more (services)
CSUC - Consorci de Serveis Universitaris de Catalunya51 views

Featured(20)

How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC3.9K views
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy82.1K views
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani30.2K views
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking6.9K views
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Erica Santiago25.1K views
9 Tips for a Work-free Vacation9 Tips for a Work-free Vacation
9 Tips for a Work-free Vacation
Weekdone.com7.1K views
I Rock Therefore I Am. 20 Legendary Quotes from PrinceI Rock Therefore I Am. 20 Legendary Quotes from Prince
I Rock Therefore I Am. 20 Legendary Quotes from Prince
Empowered Presentations142.8K views
How to Map Your FutureHow to Map Your Future
How to Map Your Future
SlideShop.com275.1K views

Editor's Notes

  1. A little about me Been to every Derbycon and excited to present to you today Started career as a developer, but when switched to security started the Indianapolis OWASP chapter 12 years ago - still run it today
  2. How many use it regularly? How many take advantage of extensions? How many have written an extension? Graphical tool for testing web application security Intercepting proxy that sits between your browser and a web server Provides both manual and automatic testing capabilities Number of built-in tools (Scanner, Intruder, Spider, Repeater, etc…) Paid version and free version Focus of this talk – the extensive API for adding functionality via extensions
  3. What is an extension? Extensions come from multiple places First is the Bapp Store (listed above) Shows available extensions and what’s installed Differentiates ones that require the pro version Code for the ones from portswigger are in github To get your own in, send an an email to support@portswigger.net to start the process
  4. Second is adding your own This screen also shows what’s loaded and type Also shows the output from extensions (for debugging, info, etc) and errors
  5. Once you click add this is what you get Shows that an extension can be written in 3 different languages – Java, Python(Jython), and Ruby(Jruby)
  6. Shows the extension API page Can download/save interface files Can save javadoc files What can the API do? Process and modify HTTP requests/responses Access runtime data of Burp Interact with built-in tools(repeater, intruder, etc.) Add items to the UI (tabs, context menus) Persist settings
  7. Switch gears and show a snippet of code from my extension Must have a class called BurpExtender in a package called Burp (same package as all of the api files) It must implement IBurpExtender In this example, we also implement IScannerCheck and register that we are a scanner registerExtenderCallbacks comes from IBurpExtender doPassiveScan, doActiveScan, and consolidateDuplicateResults come from iScannerCheck Package up in jar file
  8. When extension loaded, registerExtenderCallbacks is called for each extension when it’s loaded Analyzes a request/response pair No modification During analysis, extension chooses what areas to check Headers, parameters, cookies, etc. String that represents the entire request and response Helper methods to more easily access certain parts Happens in the background Built-in passive check you can specify what you want to scan Create findings For findings with duplicate titles, consolidates into 1 finding with different locations
  9. Just a sample of the start of the doPassiveScan method Use the helpers to get the URL Get a byte array of the response and get the body offset
  10. Receive a base request and an Insertion Point Defines type of value (query string param, form param, cookie, header, etc.) Can restrict which types of Insertion Points get scanned in the Active Scan settings, but also use this as a further check Build a request with your own custom value for the Insertion Point Returns a new request with the data and size of request adjusted Send the request and receive the response Analyze and create finding(s)
  11. Snippet from active scanning Shows how to change an insertion point Send the request and get the response After that, analyze the response and report
  12. Order is important because findings needed to be added in the order in which location in the response is found Findings might lag corresponding activity
  13. Demoing a sample extension that I wrote for the presentation and will share Implements both passive and active scanning It takes a simple website (that I wrote and host on my laptop) and shows how the sample extension can actively and passively scan it
  14. Order is important because findings needed to be added in the order in which location in the response is found Findings might lag corresponding activity
  15. Open up for questions only specific to this topic Invite them to contact me via Twitter for questions, etc. Slides and example code at Github