SlideShare a Scribd company logo
1 of 32
Download to read offline
RIA security based
on OWASP Top 10
Kim Leppänen
Leif Åstrand

torsdag 19 december 13
OWASP Top 10
Open Web Application Security Project

torsdag 19 december 13
GWT?
Vaadin?

torsdag 19 december 13
A1: Injection

torsdag 19 december 13
“SELECT * FROM Users WHERE username=’”
+ userNameField.getValue() + “‘“

Not just SQL - could also be JPQL, HQL, shell,
XPath, XML, LDAP, regex, eval, ...

torsdag 19 december 13
Web frameworks can help
GWT

Vaadin

• N/A

• N/A

torsdag 19 december 13
A2: Broken
Authentication
and Session
Management

torsdag 19 december 13
Session ID fixation
Exposure of session ID
Exposing user credentials

torsdag 19 december 13
Web frameworks can help
GWT

Vaadin

• N/A

• Helper for changing
session id

torsdag 19 december 13
A3: Cross-Site
Scripting (XSS)

torsdag 19 december 13
Demo: auction
application

torsdag 19 december 13
Web frameworks can help
GWT

Vaadin

• setText
• SafeHtml

• setHtmlContentAllo
wed(false)
• Beware of tooltips
(setDescription)

torsdag 19 december 13
Other things to keep in
mind
Consider e.g. Markdown
instead of HTML for formatting
Different handling needed in
different contexts
Feel the power of the XSS filter
evasion cheat sheet

torsdag 19 december 13
A4: Insecure
Direct Object
References

torsdag 19 december 13
Web frameworks can help
GWT

Vaadin

• Not so much, since
this is mostly a
server-side thing
• Can be hard to
realize the problem
since requests are
“invisible”

• All ids are
generated values
that the server uses
to find the right
object when
needed

torsdag 19 december 13
A5: Security
Misconfiguration

torsdag 19 december 13
Web frameworks can help
GWT

Vaadin

• N/A

• productionMode =
true

torsdag 19 december 13
A6: Sensitive
Data Exposure

torsdag 19 december 13
Keep in mind
Use SSL, no excuses!

Salt and hash passwords
Avoid handling sensitive data,
e.g. credit card numbers

torsdag 19 december 13
A7: Missing
Function Level
Access Control

torsdag 19 december 13
A8: Cross-Site
Request Forgery
(CSRF)

torsdag 19 december 13
http://example.com/addRole?
user=adam&role=power_user

torsdag 19 december 13
<img src=”
http://example.com/addRole?
user=eve&role=power_user
“ />

torsdag 19 december 13
http://example.com/addRole?
user=eve&role=power_user&token=abcd

torsdag 19 december 13
Web frameworks can help
GWT

Vaadin

• GWT-RPC:
XsrfTokenService
and/or
HasRpcToken
• RequestFactory:
Make your own
RequestTransport

• Secured out of the
box

torsdag 19 december 13
A9: Using
Components
with Known
Vulnerabilities

torsdag 19 december 13
How do you
know whether
they are
vulnerable?

torsdag 19 december 13
A10: Unvalidated
Redirects and
Forwards

torsdag 19 december 13
<a href=”http://myapp.com?
redirect=example.com/evil"> Open app </a>

torsdag 19 december 13
Very quick
conclusion

torsdag 19 december 13
You need to
know what the
framework does
for you and what
you need to
handle yourself
torsdag 19 december 13
?
torsdag 19 december 13

Did we get some
detail wrong?
Questions?
Please rate the talk at
gwtcreate.com/agenda
leif@vaadin.com
kim@vaadin.com

More Related Content

Similar to RIA security based on OWASP Top 10

Enterprise workshops jira security and permissions management atlassian deck
Enterprise workshops jira security and permissions management atlassian deckEnterprise workshops jira security and permissions management atlassian deck
Enterprise workshops jira security and permissions management atlassian deck
Atlassian
 
Performance & Responsive Web Design
Performance & Responsive Web DesignPerformance & Responsive Web Design
Performance & Responsive Web Design
Zach Leatherman
 
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
Andrey Devyatkin
 

Similar to RIA security based on OWASP Top 10 (20)

NATO IST Symposium 2013
NATO IST Symposium 2013NATO IST Symposium 2013
NATO IST Symposium 2013
 
Couchbase
CouchbaseCouchbase
Couchbase
 
Enterprise workshops jira security and permissions management atlassian deck
Enterprise workshops jira security and permissions management atlassian deckEnterprise workshops jira security and permissions management atlassian deck
Enterprise workshops jira security and permissions management atlassian deck
 
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
Open Source Monitoring for Java with JMX and Graphite (GeeCON 2013)
 
Performance & Responsive Web Design
Performance & Responsive Web DesignPerformance & Responsive Web Design
Performance & Responsive Web Design
 
ITCamp 2018 - Laurent Bugnion - Azure, Windows and Xamarin: Using the cloud t...
ITCamp 2018 - Laurent Bugnion - Azure, Windows and Xamarin: Using the cloud t...ITCamp 2018 - Laurent Bugnion - Azure, Windows and Xamarin: Using the cloud t...
ITCamp 2018 - Laurent Bugnion - Azure, Windows and Xamarin: Using the cloud t...
 
Router hardening project.slide
Router hardening project.slideRouter hardening project.slide
Router hardening project.slide
 
Threatcrowd
ThreatcrowdThreatcrowd
Threatcrowd
 
Making the Switch, Part 1: Top 5 Things to Consider When Evaluating Drupal
Making the Switch, Part 1: Top 5 Things to Consider When Evaluating DrupalMaking the Switch, Part 1: Top 5 Things to Consider When Evaluating Drupal
Making the Switch, Part 1: Top 5 Things to Consider When Evaluating Drupal
 
Web Application Security and Modern Frameworks
Web Application Security and Modern FrameworksWeb Application Security and Modern Frameworks
Web Application Security and Modern Frameworks
 
Informative Workspace with Raspberry Pi
Informative Workspace with Raspberry PiInformative Workspace with Raspberry Pi
Informative Workspace with Raspberry Pi
 
Running Lean and Mean: Designing Cost-efficient Architectures on AWS (ARC313)...
Running Lean and Mean: Designing Cost-efficient Architectures on AWS (ARC313)...Running Lean and Mean: Designing Cost-efficient Architectures on AWS (ARC313)...
Running Lean and Mean: Designing Cost-efficient Architectures on AWS (ARC313)...
 
Running Lean and Mean: Designing Cost-efficient Architectures on AWS (ARC313)...
Running Lean and Mean: Designing Cost-efficient Architectures on AWS (ARC313)...Running Lean and Mean: Designing Cost-efficient Architectures on AWS (ARC313)...
Running Lean and Mean: Designing Cost-efficient Architectures on AWS (ARC313)...
 
Denver AUG July 2018
Denver AUG July 2018Denver AUG July 2018
Denver AUG July 2018
 
What should I do when my website got hack?
What should I do when my website got hack?What should I do when my website got hack?
What should I do when my website got hack?
 
Chef - Configuration Management for the Cloud
Chef - Configuration Management for the CloudChef - Configuration Management for the Cloud
Chef - Configuration Management for the Cloud
 
New Security Issues related to Embedded Web Servers
New Security Issues related to Embedded Web ServersNew Security Issues related to Embedded Web Servers
New Security Issues related to Embedded Web Servers
 
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
 
RailsAdmin - Overview and Best practices
RailsAdmin - Overview and Best practicesRailsAdmin - Overview and Best practices
RailsAdmin - Overview and Best practices
 
Unified Data Access with Gimel
Unified Data Access with GimelUnified Data Access with Gimel
Unified Data Access with Gimel
 

Recently uploaded

Recently uploaded (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
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...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.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
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

RIA security based on OWASP Top 10