SlideShare a Scribd company logo
1 of 48
Download to read offline
Adding more Security To
your Testing and
Automating
Saucecon 2021, Alan Richardson
@EvilTester, EvilTester.com
@EvilTester 1
Security Testing:
- a highly technical set of skills,
- a wide domain of knowledge,
- a long time to learn and practice.
@EvilTester 2
Any Hacks for doing more
faster?
@EvilTester 3
Yes.
Augment and Extend our
current approaches.
@EvilTester 4
That doesn't mean you
shouldn't learn Security
Testing
It just isn't the fastest way to add
security into your process
@EvilTester 5
I did learn Security
Testing (Some)
Loved it. Interesting. Challenging.
Deep Dive into Technology.
@EvilTester 6
Because I could Test &
Automate & Code
I could see overlap and natural
extensions.
@EvilTester 7
A Natural Extension to Technical Exploratory Testing
If you are already:
— Using Dev Tools.
— Using Proxies.
— Reading HTML & JS.
— Pushing the Edge Cases.
— Bypassing the validation.
— etc.
@EvilTester 8
A Natural Extension to Automating
If you are already:
— Writing reusable Abstraction Layers.
— Combining Libraries and tools.
— Data Parameterising your Execution paths.
— Auto Generating Test Data.
— Monitoring Logs.
— etc.
@EvilTester 9
On Learning
Security Testing
You already know
the technology.
Next learn
vulnerabilities and
exploits.
@EvilTester 10
RoadMaps
— portswigger.net/web-security
— www.hacker101.com
— github.com/sundowndev/hacker-roadmap
— github.com/onlurking/awesome-infosec
— github.com/ericpqmor/security-study-plan
@EvilTester 11
Practice
— Bug Bounties:
— hackerone.com
— bugcrowd.com
— yeswehack.com
— OWASP Vulnerable Web Applications Directory
@EvilTester 12
But... this all takes a lot of
time
@EvilTester 13
How can we add more
security to our Testing
and Automating?
@EvilTester 14
What does more Security mean?
— More secure system.
— More Job Security.
— More trust in our automated execution.
— More chance of finding security issues early.
@EvilTester 15
Does that mean we have
to "Shift Left"?
I do not like the term "shift left".
@EvilTester 16
I do not want to shift left.
I just want to... test.
And do it at the time that's best.
In a dev process where testing's enmeshed.
@EvilTester 17
I do not want to shift right.
I want a process that brings all problems to light.
"Secure Software" is not a sound bite.
Quality Software is Secure, and built with foresight.
@EvilTester 18
P.S. my book of
Children's
Poetry is
available now:
thereAreHats.com
@EvilTester 19
What makes Testing and Security Testing hard?
— Where to aim?
— When to stop?
— Unknowns.
@EvilTester 20
Chasing unknowns is
expensive
Important, but expensive.
@EvilTester 21
Building in - is easier to answer
— Have you added coverage of SQL Injection? Y/N
— Has the coverage been reviewed by AppSec? Y/N
— Have you fuzzed it with common SQL Injection
Payloads? Y/N
— Any issues found from that? Y/N
Explore gaps in the coverage where Unknowns still
exist.
@EvilTester 22
Security Do's, Don'ts
@EvilTester 23
Security Do's, Don'ts
— Do not reduce the security of your application to
make it easier to test
— e.g. automatable captchas, url param config (?
nocaptcha=true)
— Do internalize your test environment
— unsecured test environments on easy to find
subdomains
— Do secure your test environment if public
@EvilTester 24
Risks to Consider
— Security risks of live testing
— test users with extensive permissions
— test users with easy to guess usernames and
passwords
— leaving test users lying around in the
environment
— Using Security Testing Tools without knowing
Security Testing
@EvilTester 25
Add additional tooling to
augment existing testing
and automating
@EvilTester 26
Tooling
— Adding passive security testing into your process
— Running automated API/GUI execution through
a security proxy
— Exploratory Testing through a proxy
— proxy config browsers and API tooling
— OWasp ZAP can passively scan traffic we proxy
through
— But can also scan using WebDriver
@EvilTester 27
Proxy Tool Scanning
— Point all test traffic through a proxy
— It 'passively' scans as you test
— check the results
— run an active scan later
— check the results
@EvilTester 28
Running Proxy With Selenium
— Install Owasp ZAP
— Configure browsers with the Dynamic Certificate
— Configure Selenium To Run with Proxy
@EvilTester 29
Running Proxy With Selenium
Proxy proxy = new Proxy();
proxy.setHttpProxy("127.0.0.1:8080");
proxy.setSslProxy("127.0.0.1:8080");
ChromeOptions options = new ChromeOptions();
options.setCapability("proxy", proxy);
driver = new ChromeDriver(options);
@EvilTester 30
OWASP ZAP
— Passive Scan for Vulnerabilities
— Build Sitemap during scan (visited, found)
— Active Scan - crawls and adds params
— Save session file as 'proof' of coverage
— Inspect sitemap for missing coverage
@EvilTester 31
Active Scan Config
@EvilTester 32
@EvilTester 33
Using Proxy Tools for Exploratory Testing
— Feed your browsers/API Tooling through proxy
— Test
— Revisit requests made, study, fuzz
— Save session file as 'proof' of coverage
— AJAX Spider - uses WebDriver to 'crawl' site in
browser
— Fuzz Individual requests
@EvilTester 34
@EvilTester 35
Proactive steps to
improve security that are
easier to adopt than
learning to Hack
@EvilTester 36
Learn basic secure coding
Gotchas related to the languages and libraries in
use:
— Static Analysis tooling can help with this
— 1 vulnerability in your code can be exposed by 100
'hacking approaches'
— 1 vulnerability might be fixable with 1 change
@EvilTester 37
Learn to spot what
causes the issues
@EvilTester 38
Security Testing Lessons learned to improve our
automating
We use Direct Object Reference to make our
automating faster.
— IDOR - Insecure Direct Object References
We parameterize our automated execution.
— Fuzzing with insecure payloads
@EvilTester 39
Evaluate your Automating and Testing for Security
— Does your automation setup users, permissions,
data easily?
— What are the security controls around that?
— Can anyone do it? == Insecure
— What permissions do you need? == Principle of
least Privilege
— Do you mix HTTP and GUI? How? Sharing
cookies? API headers? Is API access same as GUI
@EvilTester 40
Adding More Security
— Security Testing is great to learn, but takes time.
— Overlap between Security Testing, Exploratory
Testing, Automating
— Same tooling used
— Add to existing process.
— Finding issues in code, is easier than finding them
in running app.
@EvilTester 41
Security Testing is a
means to an end.
We can start at the source, then
augment and extend.
@EvilTester 42
Roll The End Credits...
@EvilTester 43
Learn to "Be Evil"
— www.eviltester.com
— @eviltester
— www.youtube.com/user/EviltesterVideos
@EvilTester 44
About Alan Richardson
— www.compendiumdev.co.uk
— uk.linkedin.com/in/eviltester
@EvilTester 45
Follow
— Linkedin - @eviltester
— Twitter - @eviltester
— Instagram - @eviltester
— Facebook - @eviltester
— Youtube - EvilTesterVideos
— Pinterest - @eviltester
— Github - @eviltester
— Slideshare - @eviltester
@EvilTester 46
BIO
Alan is a test consultant who enjoys testing at a
technical level using techniques from psychotherapy
and computer science. In his spare time Alan is
currently programming a multi-user text adventure
game and some buggy JavaScript games in the style
of the Cascade Cassette 50. Alan is the author of the
books "Dear Evil Tester", "Java For Testers" and
"Automating and Testing a REST API". Alan's main
@EvilTester 47
Related Reading & Videos
— Integrating E2E and Application Security Testing
by Abhay Bhargav
— Confessions of an Accidental Security Tester by
Alan Richardson
@EvilTester 48

More Related Content

What's hot

Technology Based Testing
Technology Based TestingTechnology Based Testing
Technology Based TestingAlan Richardson
 
Technical Testing Webinar
Technical Testing WebinarTechnical Testing Webinar
Technical Testing WebinarAlan Richardson
 
If you want to automate, you learn to code
If you want to automate, you learn to codeIf you want to automate, you learn to code
If you want to automate, you learn to codeAlan Richardson
 
Your Automated Execution Does Not Have to be Flaky
Your Automated Execution Does Not Have to be FlakyYour Automated Execution Does Not Have to be Flaky
Your Automated Execution Does Not Have to be FlakyAlan Richardson
 
Confessions of an Accidental Security Tester
Confessions of an Accidental Security TesterConfessions of an Accidental Security Tester
Confessions of an Accidental Security TesterAlan Richardson
 
Odinstar 2017 - Real World Automating to Support Testing
Odinstar 2017 - Real World Automating to Support TestingOdinstar 2017 - Real World Automating to Support Testing
Odinstar 2017 - Real World Automating to Support TestingAlan Richardson
 
Effective Software Testing for Modern Software Development
Effective Software Testing for Modern Software DevelopmentEffective Software Testing for Modern Software Development
Effective Software Testing for Modern Software DevelopmentAlan Richardson
 
Practical Test Automation Deep Dive
Practical Test Automation Deep DivePractical Test Automation Deep Dive
Practical Test Automation Deep DiveAlan Richardson
 
The Future of Testing Webinar
The Future of Testing WebinarThe Future of Testing Webinar
The Future of Testing WebinarAlan Richardson
 
Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Alan Richardson
 
Joy of Coding Conference 2019 slides - Alan Richardson
Joy of Coding Conference 2019 slides - Alan RichardsonJoy of Coding Conference 2019 slides - Alan Richardson
Joy of Coding Conference 2019 slides - Alan RichardsonAlan Richardson
 
Automating Strategically or Tactically when Testing
Automating Strategically or Tactically when TestingAutomating Strategically or Tactically when Testing
Automating Strategically or Tactically when TestingAlan Richardson
 
Push Functional Testing Further
Push Functional Testing FurtherPush Functional Testing Further
Push Functional Testing FurtherAlan Richardson
 
Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Alan Richardson
 
TestIstanbul May 2013 Keynote Experiences With Exploratory Testing
TestIstanbul May 2013 Keynote Experiences With Exploratory TestingTestIstanbul May 2013 Keynote Experiences With Exploratory Testing
TestIstanbul May 2013 Keynote Experiences With Exploratory TestingAlan Richardson
 
Technical and Testing Challenges: Using the "Protect The Square" Game
Technical and Testing Challenges: Using the "Protect The Square" GameTechnical and Testing Challenges: Using the "Protect The Square" Game
Technical and Testing Challenges: Using the "Protect The Square" GameAlan Richardson
 
Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...
Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...
Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...Alan Richardson
 
Evil testers guide to technical testing
Evil testers guide to technical testingEvil testers guide to technical testing
Evil testers guide to technical testingAlan Richardson
 
What is Regression Testing?
What is Regression Testing?What is Regression Testing?
What is Regression Testing?Alan Richardson
 

What's hot (20)

Devfest 2019-slides
Devfest 2019-slidesDevfest 2019-slides
Devfest 2019-slides
 
Technology Based Testing
Technology Based TestingTechnology Based Testing
Technology Based Testing
 
Technical Testing Webinar
Technical Testing WebinarTechnical Testing Webinar
Technical Testing Webinar
 
If you want to automate, you learn to code
If you want to automate, you learn to codeIf you want to automate, you learn to code
If you want to automate, you learn to code
 
Your Automated Execution Does Not Have to be Flaky
Your Automated Execution Does Not Have to be FlakyYour Automated Execution Does Not Have to be Flaky
Your Automated Execution Does Not Have to be Flaky
 
Confessions of an Accidental Security Tester
Confessions of an Accidental Security TesterConfessions of an Accidental Security Tester
Confessions of an Accidental Security Tester
 
Odinstar 2017 - Real World Automating to Support Testing
Odinstar 2017 - Real World Automating to Support TestingOdinstar 2017 - Real World Automating to Support Testing
Odinstar 2017 - Real World Automating to Support Testing
 
Effective Software Testing for Modern Software Development
Effective Software Testing for Modern Software DevelopmentEffective Software Testing for Modern Software Development
Effective Software Testing for Modern Software Development
 
Practical Test Automation Deep Dive
Practical Test Automation Deep DivePractical Test Automation Deep Dive
Practical Test Automation Deep Dive
 
The Future of Testing Webinar
The Future of Testing WebinarThe Future of Testing Webinar
The Future of Testing Webinar
 
Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014
 
Joy of Coding Conference 2019 slides - Alan Richardson
Joy of Coding Conference 2019 slides - Alan RichardsonJoy of Coding Conference 2019 slides - Alan Richardson
Joy of Coding Conference 2019 slides - Alan Richardson
 
Automating Strategically or Tactically when Testing
Automating Strategically or Tactically when TestingAutomating Strategically or Tactically when Testing
Automating Strategically or Tactically when Testing
 
Push Functional Testing Further
Push Functional Testing FurtherPush Functional Testing Further
Push Functional Testing Further
 
Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020Automating Tactically vs Strategically SauceCon 2020
Automating Tactically vs Strategically SauceCon 2020
 
TestIstanbul May 2013 Keynote Experiences With Exploratory Testing
TestIstanbul May 2013 Keynote Experiences With Exploratory TestingTestIstanbul May 2013 Keynote Experiences With Exploratory Testing
TestIstanbul May 2013 Keynote Experiences With Exploratory Testing
 
Technical and Testing Challenges: Using the "Protect The Square" Game
Technical and Testing Challenges: Using the "Protect The Square" GameTechnical and Testing Challenges: Using the "Protect The Square" Game
Technical and Testing Challenges: Using the "Protect The Square" Game
 
Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...
Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...
Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned ...
 
Evil testers guide to technical testing
Evil testers guide to technical testingEvil testers guide to technical testing
Evil testers guide to technical testing
 
What is Regression Testing?
What is Regression Testing?What is Regression Testing?
What is Regression Testing?
 

Similar to Add More Security To Your Testing and Automating - Saucecon 2021

Test & Tea : ITSEC testing, manual vs automated
Test & Tea : ITSEC testing, manual vs automatedTest & Tea : ITSEC testing, manual vs automated
Test & Tea : ITSEC testing, manual vs automatedZoltan Balazs
 
Owasp tds
Owasp tdsOwasp tds
Owasp tdssnyff
 
Jason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional ToolsJason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional Toolscentralohioissa
 
Making Security Agile - Oleg Gryb
Making Security Agile - Oleg GrybMaking Security Agile - Oleg Gryb
Making Security Agile - Oleg GrybSeniorStoryteller
 
Making Security Agile
Making Security AgileMaking Security Agile
Making Security AgileOleg Gryb
 
DEF CON 23 - Wesley McGrew - i hunt penetration testers
DEF CON 23 - Wesley McGrew - i hunt penetration testersDEF CON 23 - Wesley McGrew - i hunt penetration testers
DEF CON 23 - Wesley McGrew - i hunt penetration testersFelipe Prado
 
Zen and the art of Security Testing
Zen and the art of Security TestingZen and the art of Security Testing
Zen and the art of Security TestingTEST Huddle
 
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"Aaron Rinehart
 
Craft 2019 - Security Chaos Engineering - Security Precognition
Craft 2019 - Security Chaos Engineering - Security PrecognitionCraft 2019 - Security Chaos Engineering - Security Precognition
Craft 2019 - Security Chaos Engineering - Security PrecognitionAaron Rinehart
 
Security at the Speed of Software Development
Security at the Speed of Software DevelopmentSecurity at the Speed of Software Development
Security at the Speed of Software DevelopmentDevOps.com
 
SCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsSCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsStefan Streichsbier
 
Security Testing.pptx
Security Testing.pptxSecurity Testing.pptx
Security Testing.pptxosandadeshan
 
Finalppt metasploit
Finalppt metasploitFinalppt metasploit
Finalppt metasploitdevilback
 
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...Kevin Fealey
 
Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...
Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...
Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...John Kinsella
 
Security engineering 101 when good design & security work together
Security engineering 101  when good design & security work togetherSecurity engineering 101  when good design & security work together
Security engineering 101 when good design & security work togetherWendy Knox Everette
 
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012Nick Galbreath
 
Penetration testing dont just leave it to chance
Penetration testing dont just leave it to chancePenetration testing dont just leave it to chance
Penetration testing dont just leave it to chanceDr. Anish Cheriyan (PhD)
 
DevSecOps 實踐與 GitHub 進階安全: 建立安全的開發流程
DevSecOps 實踐與 GitHub 進階安全: 建立安全的開發流程DevSecOps 實踐與 GitHub 進階安全: 建立安全的開發流程
DevSecOps 實踐與 GitHub 進階安全: 建立安全的開發流程Duran Hsieh
 
Finding the needle in the hardware haystack - HRES (1)
Finding the needle in the hardware haystack - HRES (1)Finding the needle in the hardware haystack - HRES (1)
Finding the needle in the hardware haystack - HRES (1)Tim Wright
 

Similar to Add More Security To Your Testing and Automating - Saucecon 2021 (20)

Test & Tea : ITSEC testing, manual vs automated
Test & Tea : ITSEC testing, manual vs automatedTest & Tea : ITSEC testing, manual vs automated
Test & Tea : ITSEC testing, manual vs automated
 
Owasp tds
Owasp tdsOwasp tds
Owasp tds
 
Jason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional ToolsJason Kent - AppSec Without Additional Tools
Jason Kent - AppSec Without Additional Tools
 
Making Security Agile - Oleg Gryb
Making Security Agile - Oleg GrybMaking Security Agile - Oleg Gryb
Making Security Agile - Oleg Gryb
 
Making Security Agile
Making Security AgileMaking Security Agile
Making Security Agile
 
DEF CON 23 - Wesley McGrew - i hunt penetration testers
DEF CON 23 - Wesley McGrew - i hunt penetration testersDEF CON 23 - Wesley McGrew - i hunt penetration testers
DEF CON 23 - Wesley McGrew - i hunt penetration testers
 
Zen and the art of Security Testing
Zen and the art of Security TestingZen and the art of Security Testing
Zen and the art of Security Testing
 
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"
VMWare Tech Talk: "The Road from Rugged DevOps to Security Chaos Engineering"
 
Craft 2019 - Security Chaos Engineering - Security Precognition
Craft 2019 - Security Chaos Engineering - Security PrecognitionCraft 2019 - Security Chaos Engineering - Security Precognition
Craft 2019 - Security Chaos Engineering - Security Precognition
 
Security at the Speed of Software Development
Security at the Speed of Software DevelopmentSecurity at the Speed of Software Development
Security at the Speed of Software Development
 
SCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsSCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOps
 
Security Testing.pptx
Security Testing.pptxSecurity Testing.pptx
Security Testing.pptx
 
Finalppt metasploit
Finalppt metasploitFinalppt metasploit
Finalppt metasploit
 
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
 
Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...
Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...
Truly Secure: The Steps a Security Practitioner Took to Build a Secure Public...
 
Security engineering 101 when good design & security work together
Security engineering 101  when good design & security work togetherSecurity engineering 101  when good design & security work together
Security engineering 101 when good design & security work together
 
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
DevOpsSec: Appling DevOps Principles to Security, DevOpsDays Austin 2012
 
Penetration testing dont just leave it to chance
Penetration testing dont just leave it to chancePenetration testing dont just leave it to chance
Penetration testing dont just leave it to chance
 
DevSecOps 實踐與 GitHub 進階安全: 建立安全的開發流程
DevSecOps 實踐與 GitHub 進階安全: 建立安全的開發流程DevSecOps 實踐與 GitHub 進階安全: 建立安全的開發流程
DevSecOps 實踐與 GitHub 進階安全: 建立安全的開發流程
 
Finding the needle in the hardware haystack - HRES (1)
Finding the needle in the hardware haystack - HRES (1)Finding the needle in the hardware haystack - HRES (1)
Finding the needle in the hardware haystack - HRES (1)
 

More from Alan Richardson

Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009Alan Richardson
 
Programming katas for Software Testers - CounterStrings
Programming katas for Software Testers - CounterStringsProgramming katas for Software Testers - CounterStrings
Programming katas for Software Testers - CounterStringsAlan Richardson
 
About Consultant Alan Richardson Compendium Developments Evil Tester
About Consultant Alan Richardson Compendium Developments Evil TesterAbout Consultant Alan Richardson Compendium Developments Evil Tester
About Consultant Alan Richardson Compendium Developments Evil TesterAlan Richardson
 
Automating and Testing a REST API
Automating and Testing a REST APIAutomating and Testing a REST API
Automating and Testing a REST APIAlan Richardson
 
TDD - Test Driven Development - Java JUnit FizzBuzz
TDD - Test Driven Development - Java JUnit FizzBuzzTDD - Test Driven Development - Java JUnit FizzBuzz
TDD - Test Driven Development - Java JUnit FizzBuzzAlan Richardson
 
What is Testability vs Automatability? How to improve your Software Testing.
What is Testability vs Automatability? How to improve your Software Testing.What is Testability vs Automatability? How to improve your Software Testing.
What is Testability vs Automatability? How to improve your Software Testing.Alan Richardson
 
What is Agile Testing? A MindMap
What is Agile Testing? A MindMapWhat is Agile Testing? A MindMap
What is Agile Testing? A MindMapAlan Richardson
 
Evil Tester's Guide to Agile Testing
Evil Tester's Guide to Agile TestingEvil Tester's Guide to Agile Testing
Evil Tester's Guide to Agile TestingAlan Richardson
 
The Evil Tester Show - Episode 001 Halloween 2017
The Evil Tester Show - Episode 001 Halloween 2017The Evil Tester Show - Episode 001 Halloween 2017
The Evil Tester Show - Episode 001 Halloween 2017Alan Richardson
 
Simple ways to add and work with a `.jar` file in your local maven setup
Simple ways to add and work with a `.jar` file in your local maven setupSimple ways to add and work with a `.jar` file in your local maven setup
Simple ways to add and work with a `.jar` file in your local maven setupAlan Richardson
 
Re-thinking Test Automation and Test Process Modelling (in pictures)
Re-thinking Test Automation and Test Process Modelling (in pictures)Re-thinking Test Automation and Test Process Modelling (in pictures)
Re-thinking Test Automation and Test Process Modelling (in pictures)Alan Richardson
 
Learning in Public - A How to Speak in Public Workshop
Learning in Public - A How to Speak in Public WorkshopLearning in Public - A How to Speak in Public Workshop
Learning in Public - A How to Speak in Public WorkshopAlan Richardson
 
How to Practise to Remove Fear of Public Speaking
How to Practise to Remove Fear of Public SpeakingHow to Practise to Remove Fear of Public Speaking
How to Practise to Remove Fear of Public SpeakingAlan Richardson
 
FAQ - why does my code throw a null pointer exception - common reason #1 Rede...
FAQ - why does my code throw a null pointer exception - common reason #1 Rede...FAQ - why does my code throw a null pointer exception - common reason #1 Rede...
FAQ - why does my code throw a null pointer exception - common reason #1 Rede...Alan Richardson
 

More from Alan Richardson (15)

Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009Open source tools - Test Management Summit - 2009
Open source tools - Test Management Summit - 2009
 
Programming katas for Software Testers - CounterStrings
Programming katas for Software Testers - CounterStringsProgramming katas for Software Testers - CounterStrings
Programming katas for Software Testers - CounterStrings
 
About Consultant Alan Richardson Compendium Developments Evil Tester
About Consultant Alan Richardson Compendium Developments Evil TesterAbout Consultant Alan Richardson Compendium Developments Evil Tester
About Consultant Alan Richardson Compendium Developments Evil Tester
 
Shift left-testing
Shift left-testingShift left-testing
Shift left-testing
 
Automating and Testing a REST API
Automating and Testing a REST APIAutomating and Testing a REST API
Automating and Testing a REST API
 
TDD - Test Driven Development - Java JUnit FizzBuzz
TDD - Test Driven Development - Java JUnit FizzBuzzTDD - Test Driven Development - Java JUnit FizzBuzz
TDD - Test Driven Development - Java JUnit FizzBuzz
 
What is Testability vs Automatability? How to improve your Software Testing.
What is Testability vs Automatability? How to improve your Software Testing.What is Testability vs Automatability? How to improve your Software Testing.
What is Testability vs Automatability? How to improve your Software Testing.
 
What is Agile Testing? A MindMap
What is Agile Testing? A MindMapWhat is Agile Testing? A MindMap
What is Agile Testing? A MindMap
 
Evil Tester's Guide to Agile Testing
Evil Tester's Guide to Agile TestingEvil Tester's Guide to Agile Testing
Evil Tester's Guide to Agile Testing
 
The Evil Tester Show - Episode 001 Halloween 2017
The Evil Tester Show - Episode 001 Halloween 2017The Evil Tester Show - Episode 001 Halloween 2017
The Evil Tester Show - Episode 001 Halloween 2017
 
Simple ways to add and work with a `.jar` file in your local maven setup
Simple ways to add and work with a `.jar` file in your local maven setupSimple ways to add and work with a `.jar` file in your local maven setup
Simple ways to add and work with a `.jar` file in your local maven setup
 
Re-thinking Test Automation and Test Process Modelling (in pictures)
Re-thinking Test Automation and Test Process Modelling (in pictures)Re-thinking Test Automation and Test Process Modelling (in pictures)
Re-thinking Test Automation and Test Process Modelling (in pictures)
 
Learning in Public - A How to Speak in Public Workshop
Learning in Public - A How to Speak in Public WorkshopLearning in Public - A How to Speak in Public Workshop
Learning in Public - A How to Speak in Public Workshop
 
How to Practise to Remove Fear of Public Speaking
How to Practise to Remove Fear of Public SpeakingHow to Practise to Remove Fear of Public Speaking
How to Practise to Remove Fear of Public Speaking
 
FAQ - why does my code throw a null pointer exception - common reason #1 Rede...
FAQ - why does my code throw a null pointer exception - common reason #1 Rede...FAQ - why does my code throw a null pointer exception - common reason #1 Rede...
FAQ - why does my code throw a null pointer exception - common reason #1 Rede...
 

Recently uploaded

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 

Recently uploaded (20)

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 

Add More Security To Your Testing and Automating - Saucecon 2021

  • 1. Adding more Security To your Testing and Automating Saucecon 2021, Alan Richardson @EvilTester, EvilTester.com @EvilTester 1
  • 2. Security Testing: - a highly technical set of skills, - a wide domain of knowledge, - a long time to learn and practice. @EvilTester 2
  • 3. Any Hacks for doing more faster? @EvilTester 3
  • 4. Yes. Augment and Extend our current approaches. @EvilTester 4
  • 5. That doesn't mean you shouldn't learn Security Testing It just isn't the fastest way to add security into your process @EvilTester 5
  • 6. I did learn Security Testing (Some) Loved it. Interesting. Challenging. Deep Dive into Technology. @EvilTester 6
  • 7. Because I could Test & Automate & Code I could see overlap and natural extensions. @EvilTester 7
  • 8. A Natural Extension to Technical Exploratory Testing If you are already: — Using Dev Tools. — Using Proxies. — Reading HTML & JS. — Pushing the Edge Cases. — Bypassing the validation. — etc. @EvilTester 8
  • 9. A Natural Extension to Automating If you are already: — Writing reusable Abstraction Layers. — Combining Libraries and tools. — Data Parameterising your Execution paths. — Auto Generating Test Data. — Monitoring Logs. — etc. @EvilTester 9
  • 10. On Learning Security Testing You already know the technology. Next learn vulnerabilities and exploits. @EvilTester 10
  • 11. RoadMaps — portswigger.net/web-security — www.hacker101.com — github.com/sundowndev/hacker-roadmap — github.com/onlurking/awesome-infosec — github.com/ericpqmor/security-study-plan @EvilTester 11
  • 12. Practice — Bug Bounties: — hackerone.com — bugcrowd.com — yeswehack.com — OWASP Vulnerable Web Applications Directory @EvilTester 12
  • 13. But... this all takes a lot of time @EvilTester 13
  • 14. How can we add more security to our Testing and Automating? @EvilTester 14
  • 15. What does more Security mean? — More secure system. — More Job Security. — More trust in our automated execution. — More chance of finding security issues early. @EvilTester 15
  • 16. Does that mean we have to "Shift Left"? I do not like the term "shift left". @EvilTester 16
  • 17. I do not want to shift left. I just want to... test. And do it at the time that's best. In a dev process where testing's enmeshed. @EvilTester 17
  • 18. I do not want to shift right. I want a process that brings all problems to light. "Secure Software" is not a sound bite. Quality Software is Secure, and built with foresight. @EvilTester 18
  • 19. P.S. my book of Children's Poetry is available now: thereAreHats.com @EvilTester 19
  • 20. What makes Testing and Security Testing hard? — Where to aim? — When to stop? — Unknowns. @EvilTester 20
  • 21. Chasing unknowns is expensive Important, but expensive. @EvilTester 21
  • 22. Building in - is easier to answer — Have you added coverage of SQL Injection? Y/N — Has the coverage been reviewed by AppSec? Y/N — Have you fuzzed it with common SQL Injection Payloads? Y/N — Any issues found from that? Y/N Explore gaps in the coverage where Unknowns still exist. @EvilTester 22
  • 24. Security Do's, Don'ts — Do not reduce the security of your application to make it easier to test — e.g. automatable captchas, url param config (? nocaptcha=true) — Do internalize your test environment — unsecured test environments on easy to find subdomains — Do secure your test environment if public @EvilTester 24
  • 25. Risks to Consider — Security risks of live testing — test users with extensive permissions — test users with easy to guess usernames and passwords — leaving test users lying around in the environment — Using Security Testing Tools without knowing Security Testing @EvilTester 25
  • 26. Add additional tooling to augment existing testing and automating @EvilTester 26
  • 27. Tooling — Adding passive security testing into your process — Running automated API/GUI execution through a security proxy — Exploratory Testing through a proxy — proxy config browsers and API tooling — OWasp ZAP can passively scan traffic we proxy through — But can also scan using WebDriver @EvilTester 27
  • 28. Proxy Tool Scanning — Point all test traffic through a proxy — It 'passively' scans as you test — check the results — run an active scan later — check the results @EvilTester 28
  • 29. Running Proxy With Selenium — Install Owasp ZAP — Configure browsers with the Dynamic Certificate — Configure Selenium To Run with Proxy @EvilTester 29
  • 30. Running Proxy With Selenium Proxy proxy = new Proxy(); proxy.setHttpProxy("127.0.0.1:8080"); proxy.setSslProxy("127.0.0.1:8080"); ChromeOptions options = new ChromeOptions(); options.setCapability("proxy", proxy); driver = new ChromeDriver(options); @EvilTester 30
  • 31. OWASP ZAP — Passive Scan for Vulnerabilities — Build Sitemap during scan (visited, found) — Active Scan - crawls and adds params — Save session file as 'proof' of coverage — Inspect sitemap for missing coverage @EvilTester 31
  • 34. Using Proxy Tools for Exploratory Testing — Feed your browsers/API Tooling through proxy — Test — Revisit requests made, study, fuzz — Save session file as 'proof' of coverage — AJAX Spider - uses WebDriver to 'crawl' site in browser — Fuzz Individual requests @EvilTester 34
  • 36. Proactive steps to improve security that are easier to adopt than learning to Hack @EvilTester 36
  • 37. Learn basic secure coding Gotchas related to the languages and libraries in use: — Static Analysis tooling can help with this — 1 vulnerability in your code can be exposed by 100 'hacking approaches' — 1 vulnerability might be fixable with 1 change @EvilTester 37
  • 38. Learn to spot what causes the issues @EvilTester 38
  • 39. Security Testing Lessons learned to improve our automating We use Direct Object Reference to make our automating faster. — IDOR - Insecure Direct Object References We parameterize our automated execution. — Fuzzing with insecure payloads @EvilTester 39
  • 40. Evaluate your Automating and Testing for Security — Does your automation setup users, permissions, data easily? — What are the security controls around that? — Can anyone do it? == Insecure — What permissions do you need? == Principle of least Privilege — Do you mix HTTP and GUI? How? Sharing cookies? API headers? Is API access same as GUI @EvilTester 40
  • 41. Adding More Security — Security Testing is great to learn, but takes time. — Overlap between Security Testing, Exploratory Testing, Automating — Same tooling used — Add to existing process. — Finding issues in code, is easier than finding them in running app. @EvilTester 41
  • 42. Security Testing is a means to an end. We can start at the source, then augment and extend. @EvilTester 42
  • 43. Roll The End Credits... @EvilTester 43
  • 44. Learn to "Be Evil" — www.eviltester.com — @eviltester — www.youtube.com/user/EviltesterVideos @EvilTester 44
  • 45. About Alan Richardson — www.compendiumdev.co.uk — uk.linkedin.com/in/eviltester @EvilTester 45
  • 46. Follow — Linkedin - @eviltester — Twitter - @eviltester — Instagram - @eviltester — Facebook - @eviltester — Youtube - EvilTesterVideos — Pinterest - @eviltester — Github - @eviltester — Slideshare - @eviltester @EvilTester 46
  • 47. BIO Alan is a test consultant who enjoys testing at a technical level using techniques from psychotherapy and computer science. In his spare time Alan is currently programming a multi-user text adventure game and some buggy JavaScript games in the style of the Cascade Cassette 50. Alan is the author of the books "Dear Evil Tester", "Java For Testers" and "Automating and Testing a REST API". Alan's main @EvilTester 47
  • 48. Related Reading & Videos — Integrating E2E and Application Security Testing by Abhay Bhargav — Confessions of an Accidental Security Tester by Alan Richardson @EvilTester 48