Pentesting WebApp & WebServices using Burp Suite

www.linkedin.com/in/arun1105

 @Arunthomas115

@prvnkumark

https://in.linkedin.com/in/prvnkumark

Import the .ova

What is there in the .ova???

It just a kali linux(2016.1) x64 image with following tools;

  • Postman & FoxyProxy Browser Addon
  • Github - Seclist files
  • BurpSuite Free Edition with few free Extenders.
  • Docker Container with runs vulnerable applications like;

 

Vuln Apps : 

DVWA, DVWServices, DVWSockets, WebGoat, JuiceShop, Railsgoat, django.NV, Biggy Bank, Mutilidae II

 

Tools : 

MailCatcher, Brakeman - Ruby on Rails Scanner, RIPS - PHP Code Scanner

 

HTTP Protocol Basics

  • HTTP Request & Response & Methods.

  • HTTPS / SSL Handshake.
  • Same Origin Policy.
  • Cookies.
  • Sessions.
  • Web Proxies.

HTTP Request

HTTP Response

HTTP Status Codes

  • Exhaustive List here : https://httpstatuses.com/

Let's Try it Out!!!

HTTP Request & Response

  • Firefox > Settings > Developer > Network

HTTPS/SSL Handshake

Same Origin Policy

  • SOP - prevents a script or a document from getting or setting properties of another document that comes from a different origin.

  • CSS stylesheets, images and scripts are loaded by the browser without consulting the policy.

  • SOP is consulted only when cross-site HTTP requests are initiated from within client side scripts ( IE: JavaScript), or when an Ajax request is run.

Same Origin Policy

  • The origin is based on the following Conditions;

Same Origin Policy

  • Let's see an example with the following address;
  • http://demo.example.site/index.php

Cookies

Cookies

  • HTTP is stateless protocol.
  • Cookies are just textual information installed by a website into the "cookie jar" of the web browser.
  • Cookie jar is a storage space where a web browser stores the cookies.

Cookie Format

Cookie Format

Intercepting Proxy

An intercepting proxy is a tool that lets you analyze and modify any request and any response exchanged between an HTTP client and a server.

By intercepting HTTP messages a pentester can study a web application behavior and manually test for vulnerabilities.

Intercepting Proxy

  • Most used proxies are Burpsuite & ZAP.

  • Proxy servers have different purposes: bandwidth optimization, content filtering and more
  • Please do not confuse intercepting proxies with common proxy server like squid.
  • The next two images will make that clearer.

Intercepting Proxy

  • Here the proxy is an application which intercepts the user’s browser traffic.

Proxy Server

  • Here proxy server filters all traffic coming from internal network.

BurpSuite Free Vs Professional Edition

BurpSuite Essential Components

Burp Proxy

- Intercepts  HTTP/S connections.
Burp Spider
- Crawls a Web Application.
Burp Intruder
- Attack tool that contains a large number of attack methods.
Burp Repeater
- Repeats interactions/attacks.
Burp Sequencer
- Analyzes session tokens.
Burp Decoder
- Decodes various types of encoding for textual information.
Burp Comparer
- Compares two pages together, implementing a form of “diff”

BurpSuite Essentials 

  • Basics of burp suite and Proxy configuration, local and remote proxy.
  • Import Burp SSL cert in chrome
  • Site map, Scope, filters, highlight , Compare site map
  • Socks proxy – SSH.
  • Spider, Repeater, Sequencer, Decoder, Comparer, Project Options, User Options, Alerts.

Project Options

BurpSuite Tips & Tricks

  • User Options -> Misc -> Hotkeys – Edit use keyboard combination
  • Classic – ctr+x|c|v for “cut|copy|paste” ctr+t
  • Decoding – ctr+[shift]+u|h|b for url|html|base64
  • Navigation – Ctr+shift+T|P|S|I|R –
  • Custom – Ctr+G for “issue repeater request”
  • History auto scroll
  • Change request method

BurpSuite Intruder

  • Drawback of burp free version intruder ,compensate with dirbuster and other brute force tools
  • Payload from seclist
  • Payload processing
  • Grep match
  • Base64 authentication brute-force
  • Anti CSRF tokens

BurpSuite Extensions

  • Free and Pro Extensions
  • Automatic and Manual Installations – setting lib in folder
  • Default Data parsing by burp - Parameters, XML, AMF, Viewstate
  • Data Parsing with Extensions - Json Decoder, javascript
  • Authz, CO2, logger++, wsdler
  • https://github.com/Meatballs1/burp-extensions

BurpSuite Webservices Demo

  • API testing plugins like PostMan for Chrome or RESTClient for Firefox allow you to communicate with the RESTful backend of a web application directly.
  • Using these plugins you can create requests for all available HTTP verbs (GET, POST, PUT, DELETE etc.) with all kinds of content-types, request headers etc.

BurpSuite  - Webservices Addon

  • Burp suite Essentials Book – Akash Mahajan

  • Agarri - http://www.agarri.fr/en/

References

WebApp Pentesting - Private Session

By Arunthomas

WebApp Pentesting - Private Session

  • 611