SlideShare a Scribd company logo
1 of 27
WANNA BREAK
JAVASCRIPT AND
ANDY FREEBORN
ME
▸Penetration Tester at Union Pacific
▸Previous jobs also tested security in all the things
▸Explorer of CPU architectures
▸Loves dank memes
2
AGENDA
▸Why
▸Tools to identify and break things
▸Thing to break
▸Demo of thing to break
3
WHY
▸There’s too many versions of JavaScript:
http://www.zdnet.com/article/an-insecure-mess-how-flawed-javascript-is-turning-web-into-a-hackers-playground/
4
WHAT DOES ALL OF THAT MEAN?
▸JavaScript is evil
5
WHAT DOES IT REALLY MEAN?
▸Many JavaScripts versions out there work, why update it?
▸Because security
▸Is it really a problem if so many other people use the same thing?
▸Just ask WordPress administrators
▸Unrelated low risk vulnerabilities can be exploited and chained to
provide an easy way into your organization
▸ http://buer.haus/2017/03/08/airbnb-when-bypassing-json-encoding-xss-filter-waf-csp-and-
auditor-turns-into-eight-vulnerabilities/
6
NO REST FOR THE API’S
▸Rest APIs are becoming more available and used
▸Companies are querying data from APIs of various
products to make their own aggregated view of data
▸APIs also have a myriad of challenges and can be insecure
▸http://www.zdnet.com/article/apis-examined/
▸OWASP Top 10 for 2017 (RC1)
▸A10 - Under protected APIs
7
TOOLS TO BREAK THINGS
▸Chrome and Firefox developer tools
▸Retire.js
▸Node Security Platform and Snyk
▸Postman
▸Burp Suite
8
CHROME AND FIREFOX DEV TOOLS
▸Both are free, powerful, and easy to use
▸Many free resources available to help you use it
▸https://developers.google.com/web/tools/chrome-devtools/
▸http://discover-devtools.codeschool.com/
▸Why use it?
▸Easy to test for a variety of potential security issues
9
CHROME DEV TOOLS: SHOW ME YOUR
SECRETS… OR SOURCE▸URL/route to the administrative page (dirbuster works too)
▸Commented out link to the score-board
10
CHROME DEV TOOLS: ALWAYS PRETTY-
PRINT LUKE, ALWAYS
▸Click the {} symbol
11
RETIRE.JS
▸Retire.js detects vulnerable JavaScript libraries and/or
Node.JS modules
▸Free
▸https://github.com/RetireJS/retire.js
▸Regularly updated as JavaScript and NPM packages age
▸Provides the exact vulnerability associated with a specific
version and includes helpful URLs
12
RETIRE.JS
▸Retire.js can be used in a variety of situations:
▸Chrome extension
▸Firefox extension
▸Standalone to scan a website or file directory
▸Add-on for OWASP Zap (free)
▸Add-on for Burp Suite (requires Pro) in the BApp Store
13
RETIRE.JS: VULNERABILITIES FOUND
WITH THE EXTENSION
14
RETIRE.JS: VULNERABILITIES FOUND
WITH THE CLI
▸sequelize has known vulnerabilities such as SQLi
15
NODE SECURITY PLATFORM AND SNYK
▸Node Security Platform (project from ^Lift)
▸Free: https://github.com/nodesecurity/nsp
▸Scan a directory to identify issues with Node.JS packages
▸Snyk
▸Free tier available: https://snyk.io/
▸Checks JavaScript, Ruby, and Java GitHub repositories,
public NPM packages, and can scan directories as well
16
POSTMAN
▸Quickly probe/poke/destroy APIs
▸Free
▸https://www.getpostman.com/
▸Why not SoapUI? curl? Python requests library?
▸SoapUI works great! Postman is just another option
▸Really why though: History, easily import/export tests to
other formats, share tests among team members
17
POSTMAN DEMO
▸Bypass those silly restrictions in the UI. This could have
been done in ZAP, Burp, etc. as well.
18
BURP SUITE
▸A great tool to proxy network traffic, change it to an unexpected
value, and assess platforms like web, mobile, etc.
▸https://portswigger.net/burp/
▸Does active and passive scanning and has great plugins
▸Specialized plugins require the paid version of Burp
▸$399, but worth it!
▸An excellent alternative is OWASP Zap
19
BURP SUITE DEMO
▸Get paid!
20
THING TO BREAK: OWASP JUICE SHOP
▸“OWASP Juice Shop is an intentionally insecure webapp for security
trainings written entirely in Javascript which encompasses the entire
OWASP Top Ten and other severe security flaws.”
▸https://github.com/bkimminich/juice-shop
▸Has a CTF version based on CTFd!!!11!
▸https://github.com/bkimminich/juice-shop-ctf
▸Continually updated with new vulnerabilities, content, languages
▸Author recommends not cheating, but bad guys do!
21
OWASP JUICE SHOP: WHERE CAN IT
RUN?
▸Heroku dyno (Run small web apps online for free)
▸Docker container
▸Someone else’s computer (Amazon Web Services)
▸Your VM or machine
▸Online right now!
▸ https://juice-shop.herokuapp.com/
22
OWASP JUICE SHOP: DEMO MACHINE
▸1 VM running Ubuntu 16.04 LTS
▸Download the ISO, boot up, do all the regular updates
▸Install Docker with quick and clear Ubuntu instructions:
▸https://docs.docker.com/engine/installation/linux/ubuntu/
#install-using-the-repository
▸docker pull bkimminich/juice-shop
▸docker run -d -p 3000:3000 bkimminich/juice-shop
23
OWASP JUICE SHOP: VULNERABILITIES
▸Includes a book to introduce, tackle, and solve the challenges
▸https://www.gitbook.com/book/bkimminich/pwning-owasp-juice-
shop/details
▸Examples of vulnerabilities
▸“Log in with the administrator's user credentials without previously
changing them or applying SQL Injection.”
▸“XSS Tier 3: Perform a persisted XSS attack with
<script>alert("XSS3")</script> without using the frontend
application at all.”
24
OWASP JUICE SHOP: DEMO
▸Walkthrough of the application and see how it works
▸Vulnerabilities to tackle
▸Start with the score board
▸SQLi exploitation flaw in a JavaScript library
▸Insert a XSS payload with the API
▸Manipulate an order request
25
WHERE ELSE CAN YOU USE THESE
SKILLS?▸Automated tools won’t help you here:
https://www.offensive-security.com/information-security-training/cracking-the-perimeter/
26
THANKS!
▸http://vivirytech.blogspot.com/
▸@vivirytech
▸OWASP Juice Shop
▸https://github.com/bkimminich/juice-shop
27

More Related Content

What's hot

VCCW - Vagrant based WordPress development environment
VCCW - Vagrant based WordPress development environmentVCCW - Vagrant based WordPress development environment
VCCW - Vagrant based WordPress development environment
Takayuki Miyauchi
 
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechNode.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Christopher Bumgardner
 

What's hot (20)

Typescript - a JS superset
Typescript - a JS supersetTypescript - a JS superset
Typescript - a JS superset
 
Cloudbusting 2012: All out on the cloud
Cloudbusting 2012: All out on the cloudCloudbusting 2012: All out on the cloud
Cloudbusting 2012: All out on the cloud
 
CRaSH the shell for the Java Virtual Machine
CRaSH the shell for the Java Virtual MachineCRaSH the shell for the Java Virtual Machine
CRaSH the shell for the Java Virtual Machine
 
Vagrant for Development
Vagrant for DevelopmentVagrant for Development
Vagrant for Development
 
Ignite talks - 自動化的關鍵
Ignite talks - 自動化的關鍵Ignite talks - 自動化的關鍵
Ignite talks - 自動化的關鍵
 
Local development environment through virtualisation
Local development environment through virtualisationLocal development environment through virtualisation
Local development environment through virtualisation
 
Python - A Mobile Perspective
Python - A Mobile PerspectivePython - A Mobile Perspective
Python - A Mobile Perspective
 
Charm City Linux - Jan 2014 - Web Dev Made Easy - Shell Revolution
Charm City Linux - Jan 2014 - Web Dev Made Easy - Shell RevolutionCharm City Linux - Jan 2014 - Web Dev Made Easy - Shell Revolution
Charm City Linux - Jan 2014 - Web Dev Made Easy - Shell Revolution
 
העתיד כבר כאן - שימוש בטכנולוגיות החדשות כבר היום
העתיד כבר כאן - שימוש בטכנולוגיות החדשות כבר היוםהעתיד כבר כאן - שימוש בטכנולוגיות החדשות כבר היום
העתיד כבר כאן - שימוש בטכנולוגיות החדשות כבר היום
 
VCCW - Vagrant based WordPress development environment
VCCW - Vagrant based WordPress development environmentVCCW - Vagrant based WordPress development environment
VCCW - Vagrant based WordPress development environment
 
Keep calm and vagrant up
Keep calm and vagrant upKeep calm and vagrant up
Keep calm and vagrant up
 
CRaSH the shell for the JVM
CRaSH the shell for the JVMCRaSH the shell for the JVM
CRaSH the shell for the JVM
 
Vagrant step-by-step guide for Beginners
Vagrant step-by-step guide for BeginnersVagrant step-by-step guide for Beginners
Vagrant step-by-step guide for Beginners
 
Installing OpenCV 4 on Ubuntu 18.x
Installing OpenCV 4 on Ubuntu 18.xInstalling OpenCV 4 on Ubuntu 18.x
Installing OpenCV 4 on Ubuntu 18.x
 
Easy WP Dev environments with VVV
Easy WP Dev environments with VVVEasy WP Dev environments with VVV
Easy WP Dev environments with VVV
 
Vagrant
VagrantVagrant
Vagrant
 
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechNode.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ Benetech
 
Pip + virtualenv
Pip + virtualenvPip + virtualenv
Pip + virtualenv
 
Minicurso de Vagrant
Minicurso de VagrantMinicurso de Vagrant
Minicurso de Vagrant
 
Commit on day one thanks to vagrant & puppet!
Commit on day one thanks to vagrant & puppet!Commit on day one thanks to vagrant & puppet!
Commit on day one thanks to vagrant & puppet!
 

Similar to BSides Iowa 2017 Wanna break JavaScript and APIs in web apps?

Developer Tech Radar by Alistair Israel | DevCon Summit 2015 #GoOpenSourcePH
Developer Tech Radar by Alistair Israel | DevCon Summit 2015 #GoOpenSourcePHDeveloper Tech Radar by Alistair Israel | DevCon Summit 2015 #GoOpenSourcePH
Developer Tech Radar by Alistair Israel | DevCon Summit 2015 #GoOpenSourcePH
DEVCON
 
Virtualize and automate your development environment for fun and profit
Virtualize and automate your development environment for fun and profitVirtualize and automate your development environment for fun and profit
Virtualize and automate your development environment for fun and profit
Andreas Heim
 
Injecting Security into vulnerable web apps at Runtime
Injecting Security into vulnerable web apps at RuntimeInjecting Security into vulnerable web apps at Runtime
Injecting Security into vulnerable web apps at Runtime
Ajin Abraham
 
System webpack-jspm
System webpack-jspmSystem webpack-jspm
System webpack-jspm
Jesse Warden
 
Django & Buildout (en)
Django & Buildout (en)Django & Buildout (en)
Django & Buildout (en)
zerok
 
Внедрение безопасности в веб-приложениях в среде выполнения
Внедрение безопасности в веб-приложениях в среде выполненияВнедрение безопасности в веб-приложениях в среде выполнения
Внедрение безопасности в веб-приложениях в среде выполнения
Positive Hack Days
 

Similar to BSides Iowa 2017 Wanna break JavaScript and APIs in web apps? (20)

It Works On My Machine: Vagrant for Software Development
It Works On My Machine: Vagrant for Software DevelopmentIt Works On My Machine: Vagrant for Software Development
It Works On My Machine: Vagrant for Software Development
 
Developer Tech Radar by Alistair Israel | DevCon Summit 2015 #GoOpenSourcePH
Developer Tech Radar by Alistair Israel | DevCon Summit 2015 #GoOpenSourcePHDeveloper Tech Radar by Alistair Israel | DevCon Summit 2015 #GoOpenSourcePH
Developer Tech Radar by Alistair Israel | DevCon Summit 2015 #GoOpenSourcePH
 
Macdoored
MacdooredMacdoored
Macdoored
 
Developing web apps
Developing web appsDeveloping web apps
Developing web apps
 
Virtualize and automate your development environment for fun and profit
Virtualize and automate your development environment for fun and profitVirtualize and automate your development environment for fun and profit
Virtualize and automate your development environment for fun and profit
 
London Hashicorp Meetup #8 - Testing Programmable Infrastructure By Matt Long
London Hashicorp Meetup #8 -  Testing Programmable Infrastructure By Matt LongLondon Hashicorp Meetup #8 -  Testing Programmable Infrastructure By Matt Long
London Hashicorp Meetup #8 - Testing Programmable Infrastructure By Matt Long
 
Injecting Security into vulnerable web apps at Runtime
Injecting Security into vulnerable web apps at RuntimeInjecting Security into vulnerable web apps at Runtime
Injecting Security into vulnerable web apps at Runtime
 
2017-10-24 All Day DevOps - Disposable Development Environments
2017-10-24 All Day DevOps - Disposable Development Environments2017-10-24 All Day DevOps - Disposable Development Environments
2017-10-24 All Day DevOps - Disposable Development Environments
 
System webpack-jspm
System webpack-jspmSystem webpack-jspm
System webpack-jspm
 
Technical Architecture of RASP Technology
Technical Architecture of RASP TechnologyTechnical Architecture of RASP Technology
Technical Architecture of RASP Technology
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
 
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony AlvarezDevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
 
Django & Buildout (en)
Django & Buildout (en)Django & Buildout (en)
Django & Buildout (en)
 
Windows Azure loves OSS
Windows Azure loves OSSWindows Azure loves OSS
Windows Azure loves OSS
 
Be ef presentation-securitybyte2011-michele_orru
Be ef presentation-securitybyte2011-michele_orruBe ef presentation-securitybyte2011-michele_orru
Be ef presentation-securitybyte2011-michele_orru
 
Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...
Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...
Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...
 
How is this sausage made
How is this sausage madeHow is this sausage made
How is this sausage made
 
Future of web development
Future of web developmentFuture of web development
Future of web development
 
Spring boot
Spring bootSpring boot
Spring boot
 
Внедрение безопасности в веб-приложениях в среде выполнения
Внедрение безопасности в веб-приложениях в среде выполненияВнедрение безопасности в веб-приложениях в среде выполнения
Внедрение безопасности в веб-приложениях в среде выполнения
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

BSides Iowa 2017 Wanna break JavaScript and APIs in web apps?

  • 2. ME ▸Penetration Tester at Union Pacific ▸Previous jobs also tested security in all the things ▸Explorer of CPU architectures ▸Loves dank memes 2
  • 3. AGENDA ▸Why ▸Tools to identify and break things ▸Thing to break ▸Demo of thing to break 3
  • 4. WHY ▸There’s too many versions of JavaScript: http://www.zdnet.com/article/an-insecure-mess-how-flawed-javascript-is-turning-web-into-a-hackers-playground/ 4
  • 5. WHAT DOES ALL OF THAT MEAN? ▸JavaScript is evil 5
  • 6. WHAT DOES IT REALLY MEAN? ▸Many JavaScripts versions out there work, why update it? ▸Because security ▸Is it really a problem if so many other people use the same thing? ▸Just ask WordPress administrators ▸Unrelated low risk vulnerabilities can be exploited and chained to provide an easy way into your organization ▸ http://buer.haus/2017/03/08/airbnb-when-bypassing-json-encoding-xss-filter-waf-csp-and- auditor-turns-into-eight-vulnerabilities/ 6
  • 7. NO REST FOR THE API’S ▸Rest APIs are becoming more available and used ▸Companies are querying data from APIs of various products to make their own aggregated view of data ▸APIs also have a myriad of challenges and can be insecure ▸http://www.zdnet.com/article/apis-examined/ ▸OWASP Top 10 for 2017 (RC1) ▸A10 - Under protected APIs 7
  • 8. TOOLS TO BREAK THINGS ▸Chrome and Firefox developer tools ▸Retire.js ▸Node Security Platform and Snyk ▸Postman ▸Burp Suite 8
  • 9. CHROME AND FIREFOX DEV TOOLS ▸Both are free, powerful, and easy to use ▸Many free resources available to help you use it ▸https://developers.google.com/web/tools/chrome-devtools/ ▸http://discover-devtools.codeschool.com/ ▸Why use it? ▸Easy to test for a variety of potential security issues 9
  • 10. CHROME DEV TOOLS: SHOW ME YOUR SECRETS… OR SOURCE▸URL/route to the administrative page (dirbuster works too) ▸Commented out link to the score-board 10
  • 11. CHROME DEV TOOLS: ALWAYS PRETTY- PRINT LUKE, ALWAYS ▸Click the {} symbol 11
  • 12. RETIRE.JS ▸Retire.js detects vulnerable JavaScript libraries and/or Node.JS modules ▸Free ▸https://github.com/RetireJS/retire.js ▸Regularly updated as JavaScript and NPM packages age ▸Provides the exact vulnerability associated with a specific version and includes helpful URLs 12
  • 13. RETIRE.JS ▸Retire.js can be used in a variety of situations: ▸Chrome extension ▸Firefox extension ▸Standalone to scan a website or file directory ▸Add-on for OWASP Zap (free) ▸Add-on for Burp Suite (requires Pro) in the BApp Store 13
  • 15. RETIRE.JS: VULNERABILITIES FOUND WITH THE CLI ▸sequelize has known vulnerabilities such as SQLi 15
  • 16. NODE SECURITY PLATFORM AND SNYK ▸Node Security Platform (project from ^Lift) ▸Free: https://github.com/nodesecurity/nsp ▸Scan a directory to identify issues with Node.JS packages ▸Snyk ▸Free tier available: https://snyk.io/ ▸Checks JavaScript, Ruby, and Java GitHub repositories, public NPM packages, and can scan directories as well 16
  • 17. POSTMAN ▸Quickly probe/poke/destroy APIs ▸Free ▸https://www.getpostman.com/ ▸Why not SoapUI? curl? Python requests library? ▸SoapUI works great! Postman is just another option ▸Really why though: History, easily import/export tests to other formats, share tests among team members 17
  • 18. POSTMAN DEMO ▸Bypass those silly restrictions in the UI. This could have been done in ZAP, Burp, etc. as well. 18
  • 19. BURP SUITE ▸A great tool to proxy network traffic, change it to an unexpected value, and assess platforms like web, mobile, etc. ▸https://portswigger.net/burp/ ▸Does active and passive scanning and has great plugins ▸Specialized plugins require the paid version of Burp ▸$399, but worth it! ▸An excellent alternative is OWASP Zap 19
  • 21. THING TO BREAK: OWASP JUICE SHOP ▸“OWASP Juice Shop is an intentionally insecure webapp for security trainings written entirely in Javascript which encompasses the entire OWASP Top Ten and other severe security flaws.” ▸https://github.com/bkimminich/juice-shop ▸Has a CTF version based on CTFd!!!11! ▸https://github.com/bkimminich/juice-shop-ctf ▸Continually updated with new vulnerabilities, content, languages ▸Author recommends not cheating, but bad guys do! 21
  • 22. OWASP JUICE SHOP: WHERE CAN IT RUN? ▸Heroku dyno (Run small web apps online for free) ▸Docker container ▸Someone else’s computer (Amazon Web Services) ▸Your VM or machine ▸Online right now! ▸ https://juice-shop.herokuapp.com/ 22
  • 23. OWASP JUICE SHOP: DEMO MACHINE ▸1 VM running Ubuntu 16.04 LTS ▸Download the ISO, boot up, do all the regular updates ▸Install Docker with quick and clear Ubuntu instructions: ▸https://docs.docker.com/engine/installation/linux/ubuntu/ #install-using-the-repository ▸docker pull bkimminich/juice-shop ▸docker run -d -p 3000:3000 bkimminich/juice-shop 23
  • 24. OWASP JUICE SHOP: VULNERABILITIES ▸Includes a book to introduce, tackle, and solve the challenges ▸https://www.gitbook.com/book/bkimminich/pwning-owasp-juice- shop/details ▸Examples of vulnerabilities ▸“Log in with the administrator's user credentials without previously changing them or applying SQL Injection.” ▸“XSS Tier 3: Perform a persisted XSS attack with <script>alert("XSS3")</script> without using the frontend application at all.” 24
  • 25. OWASP JUICE SHOP: DEMO ▸Walkthrough of the application and see how it works ▸Vulnerabilities to tackle ▸Start with the score board ▸SQLi exploitation flaw in a JavaScript library ▸Insert a XSS payload with the API ▸Manipulate an order request 25
  • 26. WHERE ELSE CAN YOU USE THESE SKILLS?▸Automated tools won’t help you here: https://www.offensive-security.com/information-security-training/cracking-the-perimeter/ 26