SlideShare a Scribd company logo
Confessions of an Accidental 
Security Tester 
"I didn't break in, you left the door open" 
Alan Richardson 
@eviltester 
www.SeleniumSimplified.com 
www.EvilTester.com 
www.CompendiumDev.co.uk 
www.JavaForTesters.com
2 
WARNING 
I AM NOT A 
SECURITY 
TESTER
3 
“I am not a security tester” 
● I am a user that observes the system 
at a lower level of detail than many 
users 
● I think about what I observe 
● Based on my observations I then ask 
the system 'what if?' questions
4 
“Accidentally Stumble” 
I prefer to get paid for finding defects 
But... 
● I use the web for business 
● My personal details are submitted to web sites 
● I like to make sure I'm safe 
● I 'accidentally stumble' across security defects
5 
“By adopting my 
'Bad' habits, you can 
Accidentally Stumble 
across Security 
Defects too”
6 
How I 'Accidentally Stumble' 
● I use browser dev tools in my normal day to day 
web surfing: 
– Firebug, Chrome Developer Tools 
● I often have all my web traffic running through a 
debug proxy: 
– Fiddler, BurpSuite, ZAP 
● I inspect Web Forms before I submit them 
This is normal behaviour for me.
7 
“I developed these 
'bad' habits out of 
necessity”
8 
I wanted to skip the online TV ads
9 
I sucked at online games
10 
Reading 'unreadable content'
Bypassing Bugs and annoyances on 
11 
WebSites 
● Div based overlays that stop me doing what 
I need to 
● Buttons not enabled when they should be 
● Incorrect JavaScript validation that marks 
invalid my valid details 
● Etc.
“It wasn't me Guv, 
THEY made me do it” 
12
13 
“Other normal people 
will develop these 
habits as well”
14 
It won't just be me doing this 
● Browser Dev Tools are now installed by default 
● Everyone has access to lower level observation 
and manipulation features 
● “No user would ever do that” is no longer valid 
● Some users are kids. 
– Kids love doing this
15 
“I'm not a security 
tester. I'm just a 
Cruddy guy”
16 
C.R.U.D.dy 
● Create 
– Create new POST requests with the information you 
want 
● Read 
– Read the HTTP requests and see the information to 
build a model of the system 
● Update 
– Update the information sent to the server to match 
what I want 
● Delete 
– Delete requests and responses I dont' want
17 
What do you apply CRUD to? 
● URL 
● Cookies 
● Payloads 
● Form Fields 
● DOM 
● HTTP Methods 
● HTTP Headers 
● etc. 
– make a list of 'entities' involved in HTTP process
18 
Example URL CRUD 
● URL 
– (C)Guess new urls, new params, mixup params 
– (R)track used urls, 
– (U)amend params in url, 
– (D)change HTTP method; delete params 
● Why? 
– See new products, change items in page, 
undocumented API commands, etc. 
● How? 
– Proxy tools, Amend DOM, Amend URL in browser
● Read 
● Update Before Sending 
● Delete so never sent 
● Create new requests 
based on old requests 
19 
Example HTTP Request 
Amend in DOM 
before sent 
to proxy 
Browser Proxy Server 
● Read 
● Update Before Receipt 
● Create/Replace so receive 
something else 
● Delete so never Received
20 
Example Cookie CRUD 
● Create new Cookies 
● Update values 
● Read – track cookies over time 
● Delete Cookies 
● Why? 
– Session hijacking, new permissions, change 
baskets, depends what they are used for, etc. 
● How? 
– Browser dev tools, Debug Proxy
21 
My First Proper Security Bug 
● My first crowd sourced testing 
experiment 
– Testing a 'social media' video sharing 
& watching site 
● Everyone else: 
– Low hanging fruit, spelling errors, 
broken links, missing images, etc. 
● Me: 
– I can access the live system and see 
all customer details including emails 
and addresses
22 
How did I find the defect? 
● I used the site 
● I ran the traffic through a Proxy 
● I saw the urls of requests that 
returned user data 
● I created a request & tried /users/ 
instead of /user 
● I changed test.site.com to site.com 
to hit live 
● Ooops, live data vulnerability 
Read 
Observe / Model 
Create 
Update
23 
Lessons Learned – 
Companies Love Security Defects 
5 Star Tester 
Only Quality 
Defects Here
Technical Defect 
24 
See how much they loved me 
I raised a 
I raised a 
showstopper! 
I was 5 star, 
now I'm 4.5 
$$ Big Money $$
25 
I didn't deliberately look for a 
security issue 
● I explored the system 
– Perform normal functions, observing traffic 
● I built a model 
– How do the requests map to the functions 
● I thought about the model from a 'risk' 
perspective 
– Does the API let you see all Users? 
– Does this work on live? 
● I found a way to ask the system the questions
26 
Generic Lessons Learned 
● The techniques and tools that we normally use 
for web testing extend to security testing 
● Increase your ability to Observe the system 
● Model the system 
● Think about what that model implies 
● Manipulate the system and ask 'what if' 
questions 
– Sometimes known as 'testing'
27 
Defects I 'mostly' got fixed 
● Viewing the revenue reports for other sellers 
– Urls not protected by user permissions 
● Unpaid video downloading via ipad and android 
– Permissions from web across devices 
● The 'Get' that became a 'Post' 
– Comments in site, Open source documentation 
● Should I be able to buy this for $0? 
– Shopping cart amendment
28 
Some notes on 
Reporting and 
Advocacy
29 
My old process 
● Email to support 
● Another Email 
● And another 
● Etc.
30 
When it was really serious 
● Email to support 
● Public post in their user forums or Facebook 
● Email to support 
● Find the emails of CEO, CTO, etc. 
● Email as many people in the company as I can 
● Replies to other people's posts in the forums 
Nag Nag Naggity Nag
31 
What I've found works 
● Create a video of you doing the exploit, as 
though it were a tutorial video 
● Email the video 
● Mention that you release video tutorials to 
YouTube 
youtube.com/EvilTesterVideos
32 
Lessons learned 
● Make it impossible to misunderstand 
– Write it up clearly 
– Show it in Action 
– Create a 'script' that performs the exploit 
● Let everyone in the company that you can find 
see the exploit
33 
And if they don't fix it... 
...at least you have an automated 
script that allows you to continue to 
take advantage of it
34 
“Some Defects 
don't get fixed 
quickly, they are 
still live”
35 
“I stumbled across 
security issues on 
a well known 
developer 
conference web 
site”
36 
“There are product 
sales sites where I 
can still download 
their stuff for free”
“I found a 'download' 
form that supplied me 
37 
with emails and 
server commands I 
could have tried”
38 
If you are a tester... 
● You should already have the thought processes 
required to stumble across these issues 
– Model, Observe, Risk, Manipulate, CRUD 
● You may need to learn 
– to read HTTP requests 
– JavaScript, and use the Dev Tool Debugger 
● You may need to start using 
– Debug Proxies – Fiddler, ZAP, BurpSuite 
– Browser Dev Tools & Firebug
39 
WARNING 
THIS IS A 
SLIPPERY 
SLOPE 
OUCH!
40 
Warning: Slippery Slope 
● You start seeing more of these problems 
● You become more concerned... 
– And start using VPNs 
– Monitoring your apps and network using Wireshark 
● You gain more technical knowledge 
● You test at deeper levels of the system
41 
And I learn generic issues 
● Too much data in JSON 
– Performance issue 
– Possible Security Issue 
● Knock on security impact of small change 
● Data in JSON used in 'other' places 
– Enrich domain model from multiple sources
42 
Suggested Reading/ Viewing 
unow.be/at/techwebtest101
43 
Suggested Gateway Hobbies 
● Monitor HTTP Wifi Network traffic using 
WireShark 
– Suggested locations: Hotels, Public WiFi, 
Conferences, and Airport Lounges 
● Monitor your network traffic using an HTTP 
debug proxy 
● Investigate the DOM using Browser Dev Tools, 
by default 
● Break out of the sandbox of Kiosk systems
44 
Blogs and Websites 
● CompendiumDev.co.uk 
● SeleniumSimplified.com 
● EvilTester.com 
● JavaForTesters.com 
● Twitter: @eviltester 
Online Training Courses 
● Technical Web Testing 101 
Unow.be/at/techwebtest101 
● Intro to Selenium 
Unow.be/at/startwebdriver 
● Selenium 2 WebDriver API 
Unow.be/at/webdriverapi 
Videos 
youtube.com/user/EviltesterVideos 
Books 
Selenium Simplified 
Unow.be/rc/selsimp 
Java For Testers 
leanpub.com/javaForTesters 
Alan Richardson 
uk.linkedin.com/in/eviltester 
Independent Test Consultant 
& Custom Training 
Contact Alan 
http://compendiumdev.co.uk/contact

More Related Content

What's hot (20)

PDF
Lessons Learned When Automating
Alan Richardson
 
PPTX
Risk Mitigation Using Exploratory and Technical Testing - QASymphony Webinar ...
Alan Richardson
 
PDF
Add More Security To Your Testing and Automating - Saucecon 2021
Alan Richardson
 
PDF
Abstraction Layers Test Management Summit Faciliated Session 2014
Alan Richardson
 
PDF
Technology Based Testing
Alan Richardson
 
PDF
Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...
Alan Richardson
 
PDF
The Art of Questioning to improve Software Testing, Agile and Automating
Alan Richardson
 
PDF
Devfest 2019-slides
Alan Richardson
 
PDF
Automating Pragmatically - Testival 20190604
Alan Richardson
 
PDF
Secrets and Mysteries of Automated Execution Keynote slides
Alan Richardson
 
PDF
Practical Test Automation Deep Dive
Alan Richardson
 
PDF
Automating to Augment Testing
Alan Richardson
 
PDF
Effective Software Testing for Modern Software Development
Alan Richardson
 
PDF
Automating Tactically vs Strategically SauceCon 2020
Alan Richardson
 
PDF
How To Test With Agility
Alan Richardson
 
PDF
Technical and Testing Challenges: Using the "Protect The Square" Game
Alan Richardson
 
PDF
Odinstar 2017 - Real World Automating to Support Testing
Alan Richardson
 
PDF
Joy of Coding Conference 2019 slides - Alan Richardson
Alan Richardson
 
PDF
Your Automated Execution Does Not Have to be Flaky
Alan Richardson
 
PDF
Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...
Alan Richardson
 
Lessons Learned When Automating
Alan Richardson
 
Risk Mitigation Using Exploratory and Technical Testing - QASymphony Webinar ...
Alan Richardson
 
Add More Security To Your Testing and Automating - Saucecon 2021
Alan Richardson
 
Abstraction Layers Test Management Summit Faciliated Session 2014
Alan Richardson
 
Technology Based Testing
Alan Richardson
 
Test Bash Netherlands Alan Richardson "How to misuse 'Automation' for testing...
Alan Richardson
 
The Art of Questioning to improve Software Testing, Agile and Automating
Alan Richardson
 
Devfest 2019-slides
Alan Richardson
 
Automating Pragmatically - Testival 20190604
Alan Richardson
 
Secrets and Mysteries of Automated Execution Keynote slides
Alan Richardson
 
Practical Test Automation Deep Dive
Alan Richardson
 
Automating to Augment Testing
Alan Richardson
 
Effective Software Testing for Modern Software Development
Alan Richardson
 
Automating Tactically vs Strategically SauceCon 2020
Alan Richardson
 
How To Test With Agility
Alan Richardson
 
Technical and Testing Challenges: Using the "Protect The Square" Game
Alan Richardson
 
Odinstar 2017 - Real World Automating to Support Testing
Alan Richardson
 
Joy of Coding Conference 2019 slides - Alan Richardson
Alan Richardson
 
Your Automated Execution Does Not Have to be Flaky
Alan Richardson
 
Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...
Alan Richardson
 

Similar to Confessions of an Accidental Security Tester (20)

PDF
Push Functional Testing Further
Alan Richardson
 
PDF
Demise of test scripts rise of test ideas
Richard Robinson
 
PPTX
An Introduction To Software Development - Testing, Continuous integration
Blue Elephant Consulting
 
PPTX
Hogy néz ki egy pentest meló a gyakorlatban?
hackersuli
 
ZIP
Five Easy Ways to QA Your Drupal Site
Mediacurrent
 
PDF
Owasp tds
snyff
 
PDF
The Evil Tester's Guide to HTTP proxies Tutorial
Alan Richardson
 
PDF
Ask a Malware Archaeologist
Michael Gough
 
PPTX
Ui Testing with Ghost Inspector
Harvard Web Working Group
 
PPTX
Reporting service applications
Sayed Ahmed
 
PPTX
SaltConf14 - Thomas Jackson, LinkedIn - Safety with Power Tools
SaltStack
 
PDF
My Bug Hunting With Open Source
Madhu Akula
 
PDF
Bsidesvienna sentinel v0.4
nibod
 
PPT
WE-06-Testing.ppt
javed281701
 
PPTX
BSides_Charm2015_Info sec hunters_gathers
Andrew McNicol
 
PDF
WordCamp Milwaukee 2012 - Aaron Saray - Secure Wordpress Coding
Aaron Saray
 
PDF
Drupal, lessons learnt from real world security incidents
sydneydrupal
 
PDF
Auditing Drupal Sites
Exove
 
PPT
Security Testing for Mobile and Web Apps
DrKaramHatim
 
PDF
Owasp top 10 2013
Edouard de Lansalut
 
Push Functional Testing Further
Alan Richardson
 
Demise of test scripts rise of test ideas
Richard Robinson
 
An Introduction To Software Development - Testing, Continuous integration
Blue Elephant Consulting
 
Hogy néz ki egy pentest meló a gyakorlatban?
hackersuli
 
Five Easy Ways to QA Your Drupal Site
Mediacurrent
 
Owasp tds
snyff
 
The Evil Tester's Guide to HTTP proxies Tutorial
Alan Richardson
 
Ask a Malware Archaeologist
Michael Gough
 
Ui Testing with Ghost Inspector
Harvard Web Working Group
 
Reporting service applications
Sayed Ahmed
 
SaltConf14 - Thomas Jackson, LinkedIn - Safety with Power Tools
SaltStack
 
My Bug Hunting With Open Source
Madhu Akula
 
Bsidesvienna sentinel v0.4
nibod
 
WE-06-Testing.ppt
javed281701
 
BSides_Charm2015_Info sec hunters_gathers
Andrew McNicol
 
WordCamp Milwaukee 2012 - Aaron Saray - Secure Wordpress Coding
Aaron Saray
 
Drupal, lessons learnt from real world security incidents
sydneydrupal
 
Auditing Drupal Sites
Exove
 
Security Testing for Mobile and Web Apps
DrKaramHatim
 
Owasp top 10 2013
Edouard de Lansalut
 
Ad

More from Alan Richardson (16)

PDF
The Future of Testing Webinar
Alan Richardson
 
PDF
Programming katas for Software Testers - CounterStrings
Alan Richardson
 
PDF
About Consultant Alan Richardson Compendium Developments Evil Tester
Alan Richardson
 
PDF
Shift left-testing
Alan Richardson
 
PDF
Automating and Testing a REST API
Alan Richardson
 
PDF
TDD - Test Driven Development - Java JUnit FizzBuzz
Alan Richardson
 
PDF
What is Testability vs Automatability? How to improve your Software Testing.
Alan Richardson
 
PDF
What is Agile Testing? A MindMap
Alan Richardson
 
PDF
Evil Tester's Guide to Agile Testing
Alan Richardson
 
PDF
The Evil Tester Show - Episode 001 Halloween 2017
Alan Richardson
 
PDF
What is Regression Testing?
Alan Richardson
 
PDF
Simple ways to add and work with a `.jar` file in your local maven setup
Alan Richardson
 
PDF
Re-thinking Test Automation and Test Process Modelling (in pictures)
Alan Richardson
 
PDF
Automating Strategically or Tactically when Testing
Alan Richardson
 
PDF
Learning in Public - A How to Speak in Public Workshop
Alan Richardson
 
PDF
How to Practise to Remove Fear of Public Speaking
Alan Richardson
 
The Future of Testing Webinar
Alan Richardson
 
Programming katas for Software Testers - CounterStrings
Alan Richardson
 
About Consultant Alan Richardson Compendium Developments Evil Tester
Alan Richardson
 
Shift left-testing
Alan Richardson
 
Automating and Testing a REST API
Alan Richardson
 
TDD - Test Driven Development - Java JUnit FizzBuzz
Alan Richardson
 
What is Testability vs Automatability? How to improve your Software Testing.
Alan Richardson
 
What is Agile Testing? A MindMap
Alan Richardson
 
Evil Tester's Guide to Agile Testing
Alan Richardson
 
The Evil Tester Show - Episode 001 Halloween 2017
Alan Richardson
 
What is Regression Testing?
Alan Richardson
 
Simple ways to add and work with a `.jar` file in your local maven setup
Alan Richardson
 
Re-thinking Test Automation and Test Process Modelling (in pictures)
Alan Richardson
 
Automating Strategically or Tactically when Testing
Alan Richardson
 
Learning in Public - A How to Speak in Public Workshop
Alan Richardson
 
How to Practise to Remove Fear of Public Speaking
Alan Richardson
 
Ad

Recently uploaded (20)

PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PPTX
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
PDF
AI Software Engineering based on Multi-view Modeling and Engineering Patterns
Hironori Washizaki
 
PDF
Why Are More Businesses Choosing Partners Over Freelancers for Salesforce.pdf
Cymetrix Software
 
PDF
Salesforce Pricing Update 2025: Impact, Strategy & Smart Cost Optimization wi...
GetOnCRM Solutions
 
PDF
What companies do with Pharo (ESUG 2025)
ESUG
 
PPTX
Presentation about Database and Database Administrator
abhishekchauhan86963
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PPT
Brief History of Python by Learning Python in three hours
adanechb21
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PPTX
Employee salary prediction using Machine learning Project template.ppt
bhanuk27082004
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PDF
Summary Of Odoo 18.1 to 18.4 : The Way For Odoo 19
CandidRoot Solutions Private Limited
 
PDF
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
PDF
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
PPTX
Farrell__10e_ch04_PowerPoint.pptx Programming Logic and Design slides
bashnahara11
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PDF
Infrastructure planning and resilience - Keith Hastings.pptx.pdf
Safe Software
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Activate_Methodology_Summary presentatio
annapureddyn
 
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
AI Software Engineering based on Multi-view Modeling and Engineering Patterns
Hironori Washizaki
 
Why Are More Businesses Choosing Partners Over Freelancers for Salesforce.pdf
Cymetrix Software
 
Salesforce Pricing Update 2025: Impact, Strategy & Smart Cost Optimization wi...
GetOnCRM Solutions
 
What companies do with Pharo (ESUG 2025)
ESUG
 
Presentation about Database and Database Administrator
abhishekchauhan86963
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
Brief History of Python by Learning Python in three hours
adanechb21
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Employee salary prediction using Machine learning Project template.ppt
bhanuk27082004
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
Summary Of Odoo 18.1 to 18.4 : The Way For Odoo 19
CandidRoot Solutions Private Limited
 
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
Farrell__10e_ch04_PowerPoint.pptx Programming Logic and Design slides
bashnahara11
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
Infrastructure planning and resilience - Keith Hastings.pptx.pdf
Safe Software
 

Confessions of an Accidental Security Tester

  • 1. Confessions of an Accidental Security Tester "I didn't break in, you left the door open" Alan Richardson @eviltester www.SeleniumSimplified.com www.EvilTester.com www.CompendiumDev.co.uk www.JavaForTesters.com
  • 2. 2 WARNING I AM NOT A SECURITY TESTER
  • 3. 3 “I am not a security tester” ● I am a user that observes the system at a lower level of detail than many users ● I think about what I observe ● Based on my observations I then ask the system 'what if?' questions
  • 4. 4 “Accidentally Stumble” I prefer to get paid for finding defects But... ● I use the web for business ● My personal details are submitted to web sites ● I like to make sure I'm safe ● I 'accidentally stumble' across security defects
  • 5. 5 “By adopting my 'Bad' habits, you can Accidentally Stumble across Security Defects too”
  • 6. 6 How I 'Accidentally Stumble' ● I use browser dev tools in my normal day to day web surfing: – Firebug, Chrome Developer Tools ● I often have all my web traffic running through a debug proxy: – Fiddler, BurpSuite, ZAP ● I inspect Web Forms before I submit them This is normal behaviour for me.
  • 7. 7 “I developed these 'bad' habits out of necessity”
  • 8. 8 I wanted to skip the online TV ads
  • 9. 9 I sucked at online games
  • 11. Bypassing Bugs and annoyances on 11 WebSites ● Div based overlays that stop me doing what I need to ● Buttons not enabled when they should be ● Incorrect JavaScript validation that marks invalid my valid details ● Etc.
  • 12. “It wasn't me Guv, THEY made me do it” 12
  • 13. 13 “Other normal people will develop these habits as well”
  • 14. 14 It won't just be me doing this ● Browser Dev Tools are now installed by default ● Everyone has access to lower level observation and manipulation features ● “No user would ever do that” is no longer valid ● Some users are kids. – Kids love doing this
  • 15. 15 “I'm not a security tester. I'm just a Cruddy guy”
  • 16. 16 C.R.U.D.dy ● Create – Create new POST requests with the information you want ● Read – Read the HTTP requests and see the information to build a model of the system ● Update – Update the information sent to the server to match what I want ● Delete – Delete requests and responses I dont' want
  • 17. 17 What do you apply CRUD to? ● URL ● Cookies ● Payloads ● Form Fields ● DOM ● HTTP Methods ● HTTP Headers ● etc. – make a list of 'entities' involved in HTTP process
  • 18. 18 Example URL CRUD ● URL – (C)Guess new urls, new params, mixup params – (R)track used urls, – (U)amend params in url, – (D)change HTTP method; delete params ● Why? – See new products, change items in page, undocumented API commands, etc. ● How? – Proxy tools, Amend DOM, Amend URL in browser
  • 19. ● Read ● Update Before Sending ● Delete so never sent ● Create new requests based on old requests 19 Example HTTP Request Amend in DOM before sent to proxy Browser Proxy Server ● Read ● Update Before Receipt ● Create/Replace so receive something else ● Delete so never Received
  • 20. 20 Example Cookie CRUD ● Create new Cookies ● Update values ● Read – track cookies over time ● Delete Cookies ● Why? – Session hijacking, new permissions, change baskets, depends what they are used for, etc. ● How? – Browser dev tools, Debug Proxy
  • 21. 21 My First Proper Security Bug ● My first crowd sourced testing experiment – Testing a 'social media' video sharing & watching site ● Everyone else: – Low hanging fruit, spelling errors, broken links, missing images, etc. ● Me: – I can access the live system and see all customer details including emails and addresses
  • 22. 22 How did I find the defect? ● I used the site ● I ran the traffic through a Proxy ● I saw the urls of requests that returned user data ● I created a request & tried /users/ instead of /user ● I changed test.site.com to site.com to hit live ● Ooops, live data vulnerability Read Observe / Model Create Update
  • 23. 23 Lessons Learned – Companies Love Security Defects 5 Star Tester Only Quality Defects Here
  • 24. Technical Defect 24 See how much they loved me I raised a I raised a showstopper! I was 5 star, now I'm 4.5 $$ Big Money $$
  • 25. 25 I didn't deliberately look for a security issue ● I explored the system – Perform normal functions, observing traffic ● I built a model – How do the requests map to the functions ● I thought about the model from a 'risk' perspective – Does the API let you see all Users? – Does this work on live? ● I found a way to ask the system the questions
  • 26. 26 Generic Lessons Learned ● The techniques and tools that we normally use for web testing extend to security testing ● Increase your ability to Observe the system ● Model the system ● Think about what that model implies ● Manipulate the system and ask 'what if' questions – Sometimes known as 'testing'
  • 27. 27 Defects I 'mostly' got fixed ● Viewing the revenue reports for other sellers – Urls not protected by user permissions ● Unpaid video downloading via ipad and android – Permissions from web across devices ● The 'Get' that became a 'Post' – Comments in site, Open source documentation ● Should I be able to buy this for $0? – Shopping cart amendment
  • 28. 28 Some notes on Reporting and Advocacy
  • 29. 29 My old process ● Email to support ● Another Email ● And another ● Etc.
  • 30. 30 When it was really serious ● Email to support ● Public post in their user forums or Facebook ● Email to support ● Find the emails of CEO, CTO, etc. ● Email as many people in the company as I can ● Replies to other people's posts in the forums Nag Nag Naggity Nag
  • 31. 31 What I've found works ● Create a video of you doing the exploit, as though it were a tutorial video ● Email the video ● Mention that you release video tutorials to YouTube youtube.com/EvilTesterVideos
  • 32. 32 Lessons learned ● Make it impossible to misunderstand – Write it up clearly – Show it in Action – Create a 'script' that performs the exploit ● Let everyone in the company that you can find see the exploit
  • 33. 33 And if they don't fix it... ...at least you have an automated script that allows you to continue to take advantage of it
  • 34. 34 “Some Defects don't get fixed quickly, they are still live”
  • 35. 35 “I stumbled across security issues on a well known developer conference web site”
  • 36. 36 “There are product sales sites where I can still download their stuff for free”
  • 37. “I found a 'download' form that supplied me 37 with emails and server commands I could have tried”
  • 38. 38 If you are a tester... ● You should already have the thought processes required to stumble across these issues – Model, Observe, Risk, Manipulate, CRUD ● You may need to learn – to read HTTP requests – JavaScript, and use the Dev Tool Debugger ● You may need to start using – Debug Proxies – Fiddler, ZAP, BurpSuite – Browser Dev Tools & Firebug
  • 39. 39 WARNING THIS IS A SLIPPERY SLOPE OUCH!
  • 40. 40 Warning: Slippery Slope ● You start seeing more of these problems ● You become more concerned... – And start using VPNs – Monitoring your apps and network using Wireshark ● You gain more technical knowledge ● You test at deeper levels of the system
  • 41. 41 And I learn generic issues ● Too much data in JSON – Performance issue – Possible Security Issue ● Knock on security impact of small change ● Data in JSON used in 'other' places – Enrich domain model from multiple sources
  • 42. 42 Suggested Reading/ Viewing unow.be/at/techwebtest101
  • 43. 43 Suggested Gateway Hobbies ● Monitor HTTP Wifi Network traffic using WireShark – Suggested locations: Hotels, Public WiFi, Conferences, and Airport Lounges ● Monitor your network traffic using an HTTP debug proxy ● Investigate the DOM using Browser Dev Tools, by default ● Break out of the sandbox of Kiosk systems
  • 44. 44 Blogs and Websites ● CompendiumDev.co.uk ● SeleniumSimplified.com ● EvilTester.com ● JavaForTesters.com ● Twitter: @eviltester Online Training Courses ● Technical Web Testing 101 Unow.be/at/techwebtest101 ● Intro to Selenium Unow.be/at/startwebdriver ● Selenium 2 WebDriver API Unow.be/at/webdriverapi Videos youtube.com/user/EviltesterVideos Books Selenium Simplified Unow.be/rc/selsimp Java For Testers leanpub.com/javaForTesters Alan Richardson uk.linkedin.com/in/eviltester Independent Test Consultant & Custom Training Contact Alan http://compendiumdev.co.uk/contact