SlideShare a Scribd company logo
WEB APPLICATION SECURITY
James Rodger
Solution Consultant
30/04/2014
Agenda
Introduction
Client Server vs. Web
Security Areas
Threats
• Password Cracking
• Interpreter Injection
• Session Hijacking
Why Bother?
Internet facing web applications
Internal web applications
Increasingly a developer role
Good tooling helps improve security
Introduction
Huge topic
Taking a developer point of view
Looking at Uniface based solutions
Example code
Client Server vs. Web
Stateless
No control over client
Network is part of the application
Overview
Security Areas
Some areas we need to consider:
Authentication
Authorisation
Browser Security
Session Management
Data I/O
Configuration and Deployment
Threats
Password Cracking
Interpreter Injection
• SQL Injection
• JavaScript Injection
• Parameter Manipulation
Session Hijacking
Password Cracking
These attacks include techniques like:
Brute forcing the login page (remotely)
Brute forcing the database with common passwords
Brute forcing the database with rainbow tables
Brute Force
Simply trying a lot of passwords at a login page
Basic protection include:
Throttling login requests
Logging failed attempts:
• Locking out accounts
• Issuing a CAPTCHA
Password policies
Cracking Hashed Passwords
Attacker has access to the user database
Plain text passwords make abuse trivial
Passwords should be properly hashed
Password Hashing Basics
Demo
Storing Passwords
Uniface
sleep
$webinfo(“WEBSERVERCONTEXT”)
$encode
LDAP driver
Threats
Password Cracking
Interpreter Injection
• SQL Injection
• JavaScript Injection
• Parameter Manipulation
Session Hijacking
Interpreter Injection
These attacks include techniques like:
SQL Injection
JavaScript Injection
Parameter Manipulation
SQL Injection
ID: 1
Date of Birth: 23-feb-1982
Name: Robert
INSERT INTO students VALUES
(1, ‘23-feb-1982', ‘Robert');
Demo
SQL Injection
SQL Injection
ID: 2
Date of Birth: 13-Nov-1973
Name: Robert'); DROP TABLE students;--
INSERT INTO students VALUES
(1, ‘23-feb-1982', ‘Robert'); DROP TABLE students; --’);
JavaScript Injection
Getting a browser to execute unintended JS
Usually injected where user input is allowed
Malicious code runs for anyone visiting the page
The code appears to have come from the application
Demo
JavaScript Injection
Parameter Manipulation
User has control of the browser
JavaScript based validation can be bypassed
Requests can be sent at any time to:
• Any Public Web operation
• Any Public Trigger
Demo
Read Only Fields
Uniface
SQL Injection
• Database drivers prevent SQL injection
JavaScript Injection
• Widgets correctly escape HTML
• Any Public Web operation
• Any Public Trigger
Parameter Manipulation
• Model definitions used for validation at each step
• Read-only field handling
• Public web / Public trigger
• Standard triggers
Threats
Password Cracking
Interpreter Injection
• SQL Injection
• JavaScript Injection
• Parameter Manipulation
Session Hijacking
Session Hijacking
These attacks include techniques like:
Session Fixation
Session Sidejacking
Physical Access
Demo
Session Sidejacking
Uniface
Tomcat session handling
• $webinfo(“SESSIONCOMMANDS”)
• $webinfo(“WEBSERVERCONTEXT”)
HTTP only cookies by default
Summary
Security needs to be designed in
Good tooling helps improve security
What else?
• Security audits
• Vericode – regular security testing
Heartbleed
Uniface uses OpenSSL
9.5 / 9.6 vulnerable if using SSL
Patches out now
• Uniface 9.5 – E123s
• Uniface 9.6 – X402s
Tomcat version shipped with Uniface is safe
• Changed Tomcat version?
• Using different servlet engine?
More information at unifaceinfo.com
Questions
If you have any questions, or feedback about this
session, please send an email to
ask.uniface@uniface.com
Enterprise Application Development

More Related Content

PPTX
Security testing
PPTX
Security Testing
PPTX
Secure coding practices
PPTX
Continuous and Visible Security Testing with BDD-Security
PPTX
Web application vulnerability assessment
PPS
Security testing
PPTX
Secure coding guidelines
PPTX
Web Hacking Intro
Security testing
Security Testing
Secure coding practices
Continuous and Visible Security Testing with BDD-Security
Web application vulnerability assessment
Security testing
Secure coding guidelines
Web Hacking Intro

What's hot (19)

PPTX
Static analysis for security
PPTX
Security testing
PPTX
Security testing fundamentals
PDF
Security testing presentation
PDF
OWASP Secure Coding Practices - Quick Reference Guide
PPTX
Outpost24 webinar - Demystifying Web Application Security with Attack Surface...
PPTX
Web Security Attacks
PPTX
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
PDF
Web Application Security 101 - 03 Web Security Toolkit
PDF
Web Application Security 101 - 04 Testing Methodology
PPT
Step by step guide for web application security testing
PPTX
Microsoft Fakes, Unit Testing the (almost) Untestable Code
PDF
Web application security & Testing
PPTX
Security Testing Training With Examples
PDF
Finacle - Secure Coding Practices
PPT
Why You Need A Web Application Firewall
PPTX
Owasp first5 presentation
PDF
we45 - Web Application Security Testing Case Study
PPTX
Practice of AppSec .NET
Static analysis for security
Security testing
Security testing fundamentals
Security testing presentation
OWASP Secure Coding Practices - Quick Reference Guide
Outpost24 webinar - Demystifying Web Application Security with Attack Surface...
Web Security Attacks
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Web Application Security 101 - 03 Web Security Toolkit
Web Application Security 101 - 04 Testing Methodology
Step by step guide for web application security testing
Microsoft Fakes, Unit Testing the (almost) Untestable Code
Web application security & Testing
Security Testing Training With Examples
Finacle - Secure Coding Practices
Why You Need A Web Application Firewall
Owasp first5 presentation
we45 - Web Application Security Testing Case Study
Practice of AppSec .NET
Ad

Viewers also liked (6)

PPTX
Application Security - Myth or Fact Slides
PPT
Web Application Security
PPTX
Management by exception in cooperative
PPTX
Management by exception
PPTX
Cryptography
Application Security - Myth or Fact Slides
Web Application Security
Management by exception in cooperative
Management by exception
Cryptography
Ad

Similar to Uniface Web Application Security (20)

PDF
Solvay secure application layer v2015 seba
DOCX
21CSB02T UNIT 1 NOTES. FOR WEB APPLICATION SECURITY VERTICAL COURSES
PDF
TECHNIQUES FOR ATTACKING WEB APPLICATION SECURITY
PDF
TECHNIQUES FOR ATTACKING WEB APPLICATION SECURITY
PDF
C01461422
PDF
OWASP Top Ten in Practice
PPT
Web Application Testing for Today’s Biggest and Emerging Threats
PPTX
Vulnerabilities in modern web applications
PPTX
Web Security
PPT
Web Application Security
PDF
Web Application Security and Awareness
PDF
Web Security Threats and Solutions
PPTX
ASP.NET security vulnerabilities
PPTX
Top web apps security vulnerabilities
PDF
Web application sec_3
PPTX
OWASP top 10-2013
PPTX
Owasp first5 presentation
PPT
Phpnw security-20111009
DOCX
supraja technologies material for secure coding
PDF
Solvay secure application layer v2015 seba
21CSB02T UNIT 1 NOTES. FOR WEB APPLICATION SECURITY VERTICAL COURSES
TECHNIQUES FOR ATTACKING WEB APPLICATION SECURITY
TECHNIQUES FOR ATTACKING WEB APPLICATION SECURITY
C01461422
OWASP Top Ten in Practice
Web Application Testing for Today’s Biggest and Emerging Threats
Vulnerabilities in modern web applications
Web Security
Web Application Security
Web Application Security and Awareness
Web Security Threats and Solutions
ASP.NET security vulnerabilities
Top web apps security vulnerabilities
Web application sec_3
OWASP top 10-2013
Owasp first5 presentation
Phpnw security-20111009
supraja technologies material for secure coding

More from Uniface (20)

PDF
Ubg Uniface 10 Version Control and Additions 2019
PDF
Ubg Uniface 10 Community Edition 2019
PDF
Ubg Roadmap 2019
PDF
Ubg eLearning 2019
PDF
Ubg Business Update 2019
PDF
Uniface 10 Around the world by Jason Huggins
PDF
Software imaging by Peter Lismer CEO
PDF
Uniface 10 Now is the time by David Akerman
PDF
Roadmap by Mike Taylor
PDF
Uniface I0 IDE Custom Menus and Worksheets
PDF
E learning jason huggins
PPTX
Uniface 10
PPTX
Uniface Lectures Webinar - Application & Infrastructure Security - JSON Web T...
PPTX
Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...
PPTX
Uniface Lectures Webinar - Extending Applications for Mobile
PPTX
Customer Case Study: Synapse Innovation
PPTX
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
PPTX
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
PPTX
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Get...
PPTX
Uniface Lectures Webinar - Uniface Mobile
Ubg Uniface 10 Version Control and Additions 2019
Ubg Uniface 10 Community Edition 2019
Ubg Roadmap 2019
Ubg eLearning 2019
Ubg Business Update 2019
Uniface 10 Around the world by Jason Huggins
Software imaging by Peter Lismer CEO
Uniface 10 Now is the time by David Akerman
Roadmap by Mike Taylor
Uniface I0 IDE Custom Menus and Worksheets
E learning jason huggins
Uniface 10
Uniface Lectures Webinar - Application & Infrastructure Security - JSON Web T...
Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...
Uniface Lectures Webinar - Extending Applications for Mobile
Customer Case Study: Synapse Innovation
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dep...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Dev...
Uniface Lectures Webinar - Building Responsive Applications with Uniface: Get...
Uniface Lectures Webinar - Uniface Mobile

Recently uploaded (20)

PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Electronic commerce courselecture one. Pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Approach and Philosophy of On baking technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Encapsulation theory and applications.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Monthly Chronicles - July 2025
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Reach Out and Touch Someone: Haptics and Empathic Computing
MYSQL Presentation for SQL database connectivity
Electronic commerce courselecture one. Pdf
Understanding_Digital_Forensics_Presentation.pptx
Spectral efficient network and resource selection model in 5G networks
The AUB Centre for AI in Media Proposal.docx
Network Security Unit 5.pdf for BCA BBA.
Building Integrated photovoltaic BIPV_UPV.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Approach and Philosophy of On baking technology
Empathic Computing: Creating Shared Understanding
The Rise and Fall of 3GPP – Time for a Sabbatical?
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Encapsulation theory and applications.pdf
20250228 LYD VKU AI Blended-Learning.pptx

Uniface Web Application Security