Webappsec_intro
Webappsec_intro
Steve Carter
(special thanks to SPI Dynamics)
Overview
Background
Client PC
(10.1.0.123)
Request
Response
HTTP Request - GET
Form data encoded in the URL
Most common HTTP method used on the web
Should be used to retrieve information, not for actions
that have side-effects
HTTP Request - GET
catid=1
Famous quote of the day
“Every program has at least two purposes:
the one for which it was written, and
another for which it wasn't.”
-Alan J. Perlis
GET v. POST Security
There information contained in parameters can tell a
user a lot about how your application works
GET parameters are easily visible in the address bar
POST parameters are hidden from the average user
• Users can still view source code
• Users can still view the packets
• Users can still intercept & modify web requests
Web Sites
No applications
Static pages
Hard coded links
Application Database
Web Servers Server Server
Wireless
Presentation Business Customer
Layer Logic Identification
Media Store Content Access
Services Controls
Browser
Transaction
Information
Core Business
Data
Web Applications Breach the
Perimeter
Trusted
Internet DMZ
Inside
IIS ASP
SunOne .NET
SQL
WebSphere
Apache Oracle
Java
DB2
HTTP(S) Corporate
Browser Firewall only Inside
allows Firewall only
Allows HTTP port 80 allows application
applications
on the web server to talk to
Allows HTTPS port 443 database server.
server to talk to
application
server.
Why Web Application
Vulnerabilities Occur
The Web Application
Security Security Gap Application
Professionals Developers and
Don’t Know The QA Professionals
Applications Don’t Know
Security
“As a Network Security “As an Application
Professional, I don’t Developer, I can
know how my build great features
companies web and functions while
applications are meeting deadlines,
supposed to work so I but I don’t know
deploy a protective how to develop my
solution…but don’t web application
know if it’s protecting with security as a
what it’s supposed to.” feature.”
Web Application Vulnerabilities
“If builders built buildings the way programmers wrote programs, then
the first woodpecker that came along would destroy civilization.”