SlideShare a Scribd company logo
Salesforce.com, the OWASP
Top 10 and You!
What do the OWASP Top 10
vulnerabilities look like on
Force.com?
About me
What I do:
Senior Technical Consultant at Extentor
6 years working on Force.com
Certs:
Admin 201 and 301
Dev 401 and 501
Sales & Service Cloud Consultant
What is OWASP?
Open Web Application Security Project
“… an online community dedicated to web application
security” (Wikipedia, http://en.wikipedia.org/wiki/OWASP)
They have many projects, whose aim is to improve the
security of software applications built, or, in their words:
“…enable organisations to conceive, develop, acquire,
operate and maintain applications that can be trusted.”
(About OWASP, https://www.owasp.org/index.php/About_OWASP)
What is the OWASP Top 10?
Every year, OWASP list the top 10 most critical web application
security flaws. The list for 2013 can be found here:
https://www.owasp.org/index.php/Top_10_201
3-Top_10
Why is this relevant to Force.com?
• No platform can stop you from doing things you shouldn’t
do
• Alternatively: Force.com cannot stop you from making
mistakes (but in some cases, it will help avoid them)
• So: These flaws can exist in code you write
Think about the types of app you can build – internal apps,
but also customer-facing apps (e.g. Sites-based), and
AppExchange apps.
Knowing these flaws can help you avoid them
(But don’t treat this as a list of the only things to look for)
Example code
• This presentation was originally given at the
August 2014 Sydney Salesforce Developers User
Group
• The talk included demonstrations of (most of) the
vulnerabilities
• I can’t demo them to you if you’re reading this,
but you can find the code for the demo and
install them in your org in this GitHub repo:
https://github.com/gbreavin/owasp-top10-salesforce
The Top 10
5. Security Misconfiguration
• Out of date software
• Unnecessary features enabled
Examples
• Incorrect OWDs
• Remote site settings
Prevention
• Security setup
• Don’t forget libraries, apps, etc.
• Rely on the database to determine visibility
9. Using Components with Known
Vulnerabilities
• Using software components that have known
flaws
Examples
• JSONP
Prevention
• Keep any libraries, apps etc. up to date
• Read release notes and other Salesforce material
for security best practices
7. Missing Function Level Access
Control
• Lack of checks on access to code functions (rather than
data).
• Remember “System Mode”
Examples
• Visualforce page access
• Web Service access
Prevention
• Profile permissions for Pages & Classes
• Don’t forget Javascript!
2. Authentication & Session
Management
• Insecure ways of authenticating users
• This means during initial auth, and subsequent
accesses
Examples:
• Storing user credentials insecurely
• Session IDs in the URL
• Session IDs don’t timeout
Prevention:
• Let the platform do this for you
1. Injection
• Unsafe use of user provided (or user modifiable) input, that affects
queries against a Database.
Examples:
• Use of Database.query()
• Modifying URL parameters that are used in a query
Prevention:
• Avoid dynamic SOQL where possible
• If using dynamic SOQL, limit anything that is provided or modifiable
by a user – parse input and select appropriate action rather than
plugging it straight into a dynamic SOQL query
• Sharing and security setup
3. Cross Site Scripting (XSS)
• Web applications (usually) present pages to
users based on logic we control.
• XSS exploits ways of malicious parties
smuggling their code into the page that will do
their bidding
• A common proof of XSS vulnerabilities is to
cause a Javascript alert to pop-up (i.e. an alert
that is not triggered by the web application)
3. Cross Site Scripting (XSS)
Examples:
• Non-persistent – e.g. URL Parameters
• Persistent – e.g. message boards
Prevention:
• Visualforce has some built in protections
• Escape input that could be included in a page,
preferably as data enters the system, or before it is
displayed
• Play a game: https://xss-game.appspot.com
• Read up on these attack vectors
4. Insecure Direct Object References
• Failing to check that a user is allowed to access a resource
Examples
• Failing to check resource (e.g. record) access
• Sensitive information visible by admins
• ‘Hackable’ URL Parameters
Prevention
• Sharing and security, use “with sharing”
• Rely on the database to determine visibility
• Encrypted fields
Example Casualty
6. Sensitive Data Exposure
• Inadvertent exposure of sensitive data (duh)
Examples
• Transmitting data in the clear e.g. non-SSL, URLs, Login forms over http
• Unencrypted credit card info
• Incorrect encryption (e.g. hand-rolled methods, unsalted hash)
• Logging
Prevention
• Use platform encryption methods
• Identify sensitive data and how it is used, where it comes from and goes
to, and assess for risks. Work out suitable encryption method
• If possible - don’t store sensitive data (e.g. credit cards)
8. Cross Site Request Forgery (CSRF)
• Accessing resources that make changes to data without
a user intending it
Examples:
• Visualforce pages with action and auto-redirect
Prevention:
• Force.com has an anti-CSRF token protection for POST
requests – so use POST requests.
• Use pages that require manual action before changing
data.
10. Unvalidated Redirects and
Forwards
• Re-directions to pages where either you don’t want users
to go, or where they don’t want to go
Examples
• Spoof URL parameter e.g. url=evil.com
• Malicious attempts to access pages e.g. url=admin
Prevention
• Avoid doing it
• Value look-ups e.g. simple values are accepted, and they
are mapped to approved URL targets, with a sensible
default

More Related Content

PDF
A5-Security misconfiguration-OWASP 2013
PPTX
Slides for the #JavaOne Session ID: CON11881
PPT
OWASP Serbia - A6 security misconfiguration
PPT
OWASP Serbia - A3 broken authentication and session management
PPTX
Software security
PPTX
Security misconfiguration
PPTX
security misconfigurations
PPTX
A2 - broken authentication and session management(OWASP thailand chapter Apri...
A5-Security misconfiguration-OWASP 2013
Slides for the #JavaOne Session ID: CON11881
OWASP Serbia - A6 security misconfiguration
OWASP Serbia - A3 broken authentication and session management
Software security
Security misconfiguration
security misconfigurations
A2 - broken authentication and session management(OWASP thailand chapter Apri...

What's hot (20)

PDF
TechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - Trivadis
PPTX
Top 10 Web Application Security Risks - Murat Lostar @ ISACA EUROCACS 2013
PPTX
What is Ethical Hacking?
PPTX
Web application security: Threats & Countermeasures
PPT
Top 10 Web Security Vulnerabilities (OWASP Top 10)
PPTX
Web application Security tools
PDF
Web application security & Testing
PDF
OWASPTop 10
PPTX
Php security common 2011
PPTX
Cm2 secure code_training_1day_data_protection
PPT
Web application development_dos_and_donts
PPTX
Web Application Security
PPTX
Web application attacks
PPT
OWASP Serbia - A5 cross-site request forgery
PDF
10 things I’ve learnt about web application security
PPTX
OWASP Khartoum Top 10 A3 - 6th meeting
PPTX
Web Security
PDF
OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...
PPTX
OWASP top 10-2013
PDF
BlackHat USA 2013 Arsenal - Sparty : A FrontPage and SharePoint Security Audi...
TechEvent 2019: Security 101 für Web Entwickler; Roland Krüger - Trivadis
Top 10 Web Application Security Risks - Murat Lostar @ ISACA EUROCACS 2013
What is Ethical Hacking?
Web application security: Threats & Countermeasures
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Web application Security tools
Web application security & Testing
OWASPTop 10
Php security common 2011
Cm2 secure code_training_1day_data_protection
Web application development_dos_and_donts
Web Application Security
Web application attacks
OWASP Serbia - A5 cross-site request forgery
10 things I’ve learnt about web application security
OWASP Khartoum Top 10 A3 - 6th meeting
Web Security
OWASP Top 10 Vulnerabilities - A5-Broken Access Control; A6-Security Misconfi...
OWASP top 10-2013
BlackHat USA 2013 Arsenal - Sparty : A FrontPage and SharePoint Security Audi...
Ad

Similar to Owasp top10salesforce (20)

PDF
Java EE 6 Security in practice with GlassFish
PDF
Security in practice with Java EE 6 and GlassFish
PPT
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
PPTX
How to Test for The OWASP Top Ten
PDF
Become a Security Ninja
PPTX
Owasp top 10 2017
PDF
Vulnerabilidades en sitios web (english)
PDF
How to Destroy a Database
PDF
OWASP Top Ten in Practice
PPTX
Shared Security Responsibility for the Azure Cloud
PPT
Survey Presentation About Application Security
PDF
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
PDF
AppSec in an Agile World
PDF
OWASP Top 10 List Overview for Web Developers
PPTX
Ten Commandments of Secure Coding - OWASP Top Ten Proactive Controls
PPTX
Ten Commandments of Secure Coding
PPTX
OWASP Top 10 2021 What's New
PPTX
Writing Secure SharePoint Code - SharePoint Saturday Toronto
PPTX
CompTIASecPLUSAASS-part4 - Edited (1).pptx
PDF
Top 10 web application security risks akash mahajan
Java EE 6 Security in practice with GlassFish
Security in practice with Java EE 6 and GlassFish
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
How to Test for The OWASP Top Ten
Become a Security Ninja
Owasp top 10 2017
Vulnerabilidades en sitios web (english)
How to Destroy a Database
OWASP Top Ten in Practice
Shared Security Responsibility for the Azure Cloud
Survey Presentation About Application Security
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
AppSec in an Agile World
OWASP Top 10 List Overview for Web Developers
Ten Commandments of Secure Coding - OWASP Top Ten Proactive Controls
Ten Commandments of Secure Coding
OWASP Top 10 2021 What's New
Writing Secure SharePoint Code - SharePoint Saturday Toronto
CompTIASecPLUSAASS-part4 - Edited (1).pptx
Top 10 web application security risks akash mahajan
Ad

Recently uploaded (20)

PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPT
Introduction Database Management System for Course Database
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Transform Your Business with a Software ERP System
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Digital Strategies for Manufacturing Companies
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
ISO 45001 Occupational Health and Safety Management System
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Introduction Database Management System for Course Database
2025 Textile ERP Trends: SAP, Odoo & Oracle
Odoo Companies in India – Driving Business Transformation.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
Transform Your Business with a Software ERP System
Operating system designcfffgfgggggggvggggggggg
Wondershare Filmora 15 Crack With Activation Key [2025
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Understanding Forklifts - TECH EHS Solution
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Online Work Permit System for Fast Permit Processing
Digital Strategies for Manufacturing Companies
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
ManageIQ - Sprint 268 Review - Slide Deck
CHAPTER 2 - PM Management and IT Context
How to Choose the Right IT Partner for Your Business in Malaysia
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
ISO 45001 Occupational Health and Safety Management System

Owasp top10salesforce

  • 1. Salesforce.com, the OWASP Top 10 and You! What do the OWASP Top 10 vulnerabilities look like on Force.com?
  • 2. About me What I do: Senior Technical Consultant at Extentor 6 years working on Force.com Certs: Admin 201 and 301 Dev 401 and 501 Sales & Service Cloud Consultant
  • 3. What is OWASP? Open Web Application Security Project “… an online community dedicated to web application security” (Wikipedia, http://en.wikipedia.org/wiki/OWASP) They have many projects, whose aim is to improve the security of software applications built, or, in their words: “…enable organisations to conceive, develop, acquire, operate and maintain applications that can be trusted.” (About OWASP, https://www.owasp.org/index.php/About_OWASP)
  • 4. What is the OWASP Top 10? Every year, OWASP list the top 10 most critical web application security flaws. The list for 2013 can be found here: https://www.owasp.org/index.php/Top_10_201 3-Top_10
  • 5. Why is this relevant to Force.com? • No platform can stop you from doing things you shouldn’t do • Alternatively: Force.com cannot stop you from making mistakes (but in some cases, it will help avoid them) • So: These flaws can exist in code you write Think about the types of app you can build – internal apps, but also customer-facing apps (e.g. Sites-based), and AppExchange apps. Knowing these flaws can help you avoid them (But don’t treat this as a list of the only things to look for)
  • 6. Example code • This presentation was originally given at the August 2014 Sydney Salesforce Developers User Group • The talk included demonstrations of (most of) the vulnerabilities • I can’t demo them to you if you’re reading this, but you can find the code for the demo and install them in your org in this GitHub repo: https://github.com/gbreavin/owasp-top10-salesforce
  • 8. 5. Security Misconfiguration • Out of date software • Unnecessary features enabled Examples • Incorrect OWDs • Remote site settings Prevention • Security setup • Don’t forget libraries, apps, etc. • Rely on the database to determine visibility
  • 9. 9. Using Components with Known Vulnerabilities • Using software components that have known flaws Examples • JSONP Prevention • Keep any libraries, apps etc. up to date • Read release notes and other Salesforce material for security best practices
  • 10. 7. Missing Function Level Access Control • Lack of checks on access to code functions (rather than data). • Remember “System Mode” Examples • Visualforce page access • Web Service access Prevention • Profile permissions for Pages & Classes • Don’t forget Javascript!
  • 11. 2. Authentication & Session Management • Insecure ways of authenticating users • This means during initial auth, and subsequent accesses Examples: • Storing user credentials insecurely • Session IDs in the URL • Session IDs don’t timeout Prevention: • Let the platform do this for you
  • 12. 1. Injection • Unsafe use of user provided (or user modifiable) input, that affects queries against a Database. Examples: • Use of Database.query() • Modifying URL parameters that are used in a query Prevention: • Avoid dynamic SOQL where possible • If using dynamic SOQL, limit anything that is provided or modifiable by a user – parse input and select appropriate action rather than plugging it straight into a dynamic SOQL query • Sharing and security setup
  • 13. 3. Cross Site Scripting (XSS) • Web applications (usually) present pages to users based on logic we control. • XSS exploits ways of malicious parties smuggling their code into the page that will do their bidding • A common proof of XSS vulnerabilities is to cause a Javascript alert to pop-up (i.e. an alert that is not triggered by the web application)
  • 14. 3. Cross Site Scripting (XSS) Examples: • Non-persistent – e.g. URL Parameters • Persistent – e.g. message boards Prevention: • Visualforce has some built in protections • Escape input that could be included in a page, preferably as data enters the system, or before it is displayed • Play a game: https://xss-game.appspot.com • Read up on these attack vectors
  • 15. 4. Insecure Direct Object References • Failing to check that a user is allowed to access a resource Examples • Failing to check resource (e.g. record) access • Sensitive information visible by admins • ‘Hackable’ URL Parameters Prevention • Sharing and security, use “with sharing” • Rely on the database to determine visibility • Encrypted fields Example Casualty
  • 16. 6. Sensitive Data Exposure • Inadvertent exposure of sensitive data (duh) Examples • Transmitting data in the clear e.g. non-SSL, URLs, Login forms over http • Unencrypted credit card info • Incorrect encryption (e.g. hand-rolled methods, unsalted hash) • Logging Prevention • Use platform encryption methods • Identify sensitive data and how it is used, where it comes from and goes to, and assess for risks. Work out suitable encryption method • If possible - don’t store sensitive data (e.g. credit cards)
  • 17. 8. Cross Site Request Forgery (CSRF) • Accessing resources that make changes to data without a user intending it Examples: • Visualforce pages with action and auto-redirect Prevention: • Force.com has an anti-CSRF token protection for POST requests – so use POST requests. • Use pages that require manual action before changing data.
  • 18. 10. Unvalidated Redirects and Forwards • Re-directions to pages where either you don’t want users to go, or where they don’t want to go Examples • Spoof URL parameter e.g. url=evil.com • Malicious attempts to access pages e.g. url=admin Prevention • Avoid doing it • Value look-ups e.g. simple values are accepted, and they are mapped to approved URL targets, with a sensible default