Web Services Testing David Ward
Something To Consider Eight to Eighty Information and Communications Systems Department (ICS) Over 5 years
Agenda Web Service Testing Starting Points Security Issues Key Tools Demo IntroSecurityToolsDemo
Web Services Headless web application Programmatic interface (WSDL/WADL) HTTP transport XML/JSON data format Common types SOAP / REST IntroSecurityToolsDemo
Testing Services Services are a contract - API(s) Test the contract (WSDL / WADL) Is the contract consistent? If the contract changes, its a new version IntroSecurityToolsDemo
QA Engineer Profile Programming background Strong personality – developer’s advocate Background developing / testing API(s) Security background Influencer IntroSecurityToolsDemo
Security / Privacy Mark Zuckerberg (Facebook CEO) The age of privacy is over / user information should default to public Eric Schmidt (Google CEO) search engines including Google do retain information for some time… IntroSecurityToolsDemo
Additional Attack Vector Web UI App Server Web Service App Server Database IntroSecurityToolsDemo
Security Standards WS-Security SOAP No formal standards Different approaches - Amazon, Flickr, Google REST IntroSecurityToolsDemo
SOAP: WS-Security missionary_test_client <wsse:Password Type=" profile1.0# PasswordDigest">Q1QSzWSl8JY5AfQykkIoO6hTf3k= iWjprJQjnqHmlh8gSyRweg== T17:32:26.413Z IntroSecurityToolsDemo
REST: Security IntroSecurityToolsDemo No formal security standards Often use SSL - transportation only Proprietary authentication steps – Amazon, Flickr, Google - different approaches Session Management – cookies (Oracle WAM)
Finding the Weak Link SSL – is the window open? Soap’s WS-Security – partially used? Errors – are they too helpful? Interfaces – are they publicized? I’m behind the firewall – everything is great! Obfuscation is weak sauce! Innocent data can be maliciously used IntroSecurityToolsDemo
Testing Tools Rest/Soap Functional Load SoapUI Packet Trace Protocols Filters WireShark Web Apps Services Host Env Appscan Plugins HttpFox TamperData RestClient Firefox IntroSecurityToolsDemo
Wireshark IntroSecurityToolsDemo Protocols Decodes hundreds of protocols Analyze traffic patterns Tracing Live packet capture Offline packet analysis Filters Easily filter on protocols Intuitive analysis Go Deep!
Firefox Plugins IntroSecurityToolsDemo Monitor http traffic View headers View cookies HttpFox Exercise RESTful web services Test endpoints RESTClient Modify post Parameters Modify http headers TamperData 5000 and counting…
SoapUI One Awesome Tool! Project Setup Test Suite Creation Writing Tests Groovy Scripts IntroSecurityToolsDemo
Call To Action Join the LDS Tech community Identify Web Service Projects Start testing!
References SoapUI – Wireshark – Firefox Plugins –