Security Testing For REST Applications
Security Testing For REST Applications
Applications
Eyal Fingold & Ofer Shezaf, HP Enterprise Security Products
© Copyright 2011 Hewlett-Packard Development Company, L.P. The information contained herein is
subject to change without notice. Confidentiality label goes here
Agenda
What is REST?
© Copyright 2011 Hewlett-Packard Development Company, L.P. The information contained herein is
3 subject to change without notice. Confidentiality label goes here
So What REST?
Representational State Transfer (REST) is a style of software
architecture for distributed systems such as the World Wide Web
(but not just Web)
Is:
•A style of software
architecture
•Essentially how the web
have always worked
Is Not:
•A well defined protocol
•A set of software libraries or
frameworks
Code on demand •Servers are able to temporarily extend or customize the functionality
(optional) of a client by transferring logic to it that it can execute.
* The server can be stateful; this constraint merely requires that server-side state be addressable by URL as a resource.
(John Cowan)
Parameters in Headers
None Standard
Parameters/Method
REST Security
© Copyright 2011 Hewlett-Packard Development Company, L.P. The information contained herein is
1 subject to change without notice. Confidentiality label goes here
REST Security Overview
• SSO
– Web app calling REST services
Design pattern related Related to commonly Somewhat linked to Any Other Web
vulnerabilities use implementation REST Application Vulnerability
•Restful Privilege Elevation method •XSRF •It is just a web application
•Utilizing REST's Trust in the •JSON hijacking array after all
System Resource to Register vulnerability
Man in the Middle
•Session ID in the URL
Testing Challenges
© Copyright 2011 Hewlett-Packard Development Company, L.P. The information contained herein is
1 subject to change without notice. Confidentiality label goes here
Parameters Embedded in URLs
Susceptible to Injection and Manipulation
Informal documentation:
• Highly unstructured
• Requires heuristic, training and
trial and error.