OWASP
Daniel Brzozowski daniel@brzozowski.biz
OWASP Daniel Brzozowski daniel@brzozowski.biz Agenda 1. Few words - - PowerPoint PPT Presentation
OWASP Daniel Brzozowski daniel@brzozowski.biz Agenda 1. Few words about OWASP 2. Owasp resources 3. Setting up workstations 4. OWASP WebScarab/OWASP WebScarab-NG 5. O2 Platform About me In London since October 2010 Before that MCPD, MCTS,
Daniel Brzozowski daniel@brzozowski.biz
WebScarab-NG
In London since October 2010 Before that MCPD, MCTS, MCP OWASP WebScarab-NG & OWASP .NET Project Leader
3
Growing popularity of this subject… What is a security bug? Why we have such bugs? What about statistics?
4
What is a penetration test? Types
5
Research Mapping application Attack Raport
Passive Active
OWASP
6
7
The Open Web Application Security Project (OWASP) is a 501c3 not-for-profit worldwide charitable organization focused on improving the security of application software.
OPEN INNOVATION GLOBAL INTEGRITY
8
Led by Justin Clarke Meetings Visit page: https://www.owasp.org/index.php/London And subscribe to mailing list!
9
SDLC
Community
Tools
10
https://www.owasp.org/index.php/Category:OWASP_Live_ CD_Project
OWASP TOP 10
12
A1: Injection A2: XSS A3: Broken Authentication and Session Management A4: Insecure Direct Object References A5: CSRF A6: Security Misconfiguration A7: Insecure Cryptographic Storage A8: Failure to Restrict URL Access A9: Insufficient Transport Layer Protection A10: Unvalidated Redirects and Forwards
13
14
interpreter Injection means…
Interpreters…
SQL injection is still quite common
Typical Impact
Attack example – OWASP TOP10 A1: Injection: SQL INJECTION
15
String userInput = s.getParser().getRawParameter(USERNAME, ""); String SELECT_ST = "select * from employee where userid="+ userInput;
User Hacker
16
December 2009
to hack the database of RockYou
MySpace, Facebook, ...
Result
administrative accounts was compromised (credentials + clear text passwords)
Question: how many of those users use the same password for
17
Occurs any time…
Raw data…
to phishing or malware site
direct all user‟s behavior on vulnerable site and force user to other sites Typical Impact
„A new cross-site scripting (XSS) weakness identified
hijack users' sessions and post on their behalf.”
18
Posted on xssed.com
http://www.xssed.com/mirr
19
HTTP is a “stateless” protocol
Session management flaws
logout, email address, etc… Beware the side-doors
Typical Impact
20
A7 – Failure to Restrict URL Access How do you protect access to your data?
A common mistake …
Typical Impact
21
22
vulnerable web application
data (session ID, IP address, Windows domain credentials, …) with each request Cross Site Request Forgery
Imagine…
Typical Impact
23
<img src="http://bank.com/withdraw?fromId=12314 &amount=1000000&toID=12312"> Can be injected by XSS From phishing site
24
April 2010 No specific details „the victim‟s transaction details will be sent to the attacker‟s Website”
25
Web applications rely on a secure foundation
Is your source code a secret?
Configuration Management must extend to all parts of the application
accessible functionality due to poor server configuration Typical Impact
26
Storing sensitive data insecurely
customers)
letters, reissuing thousands of credit cards, providing identity theft insurance
Typical Impact
27
28
A4 – Insecure Direct Object References How do you protect access to URLs (pages)?
A common mistake …
Typical Impact
29
Date published: 13/02/2010 Wordpress Version 2.9 Ability to view deleted messages by other users
30
communications
Transmitting sensitive data insecurely
Typical Impact
31
32
Web application redirects are very common
authentication or authorization checks
Forwards (aka Transfer in .NET) are common too
function or data access Typical Impact
33
Discover time: 4/30/2010 http://secworm.net/forums/showthread.php?tid=1080 http://www.facebook.com/l.php?u=http://www.wik ipedia.com&h=725b6
Appendix A: Testing Tools Appendix B: Suggested Reading Appendix C: Fuzz Vectors Appendix D: Encoded Injection
35
Become member, annual donation of:
enables the support of OWASP projects, mailing lists, conferences, podcasts, grants and global steering activities…
OWASP WEBSCARAB
36
A tool for anyone involved with HTTP-based applications (e.g. web applications) Key features
Primary uses
37
You can also view the changes in a single window, rather than side by side Pressing Ctrl-L in the compare window. This is a toggle key.
Search expression is a BeanShell snippet BeanShell is just interpreted Java, with some leniencies Two predefined variables, request and response If the expression returns true, the conversation is shown Exceptions are counted as “false” Very powerful, but not terribly friendly
“Plainly put - WebScarab‟s UI is a disaster!” –
Rogan Dawes – Author of WebScarab
OWASP WEBSCARAB-NG
44
45
46
Reliability – extensive testing over 6 years More features
OWASP O2 PLATFORM
48
What is o2 platform? „Open platform for automating application security knowledge and workflows”
49
multiple APIs for popular tools/websites and tons of utilities
50
EXERCISES
51
.NET Application with a lot of vulnerabilities
Hacme Bank™ simulates a “real-world”
Designed to teach security knowledge
52
53
Proxy… -> Enter address „localhost” and port 8008
Settings -> Manual configuration… -> Proxy server „localhost” with port 8008 -> Check „Use the same…”
the Bonnet -> Change proxy settings… -> Lan Settings -> Check Use Proxy… -> Enter address „localhost” and port 8008
Proxy Servers -> Check http and https to use localhost with port 8008
Enable Web Proxy and Secure Web Proxy -> Server localhost + port 8008 for both
54
Exercise 1: Overview of WebScarab Exercise 2: Proxying bank Exercise 3: Fuzzing Exercise 4: Session ID analysis Exercise 5: XSS Exercise 6: WebScarab-NG
55
http://www.o2-ounceopen.com/wiki/Download
56
_-_London_Chapter_-_3rd_Sep_2009.pdf
data-breach/
bank.aspx
ntations
57
Thank You for Your attention!
daniel@brzozowski.biz
58