SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
Basic Housekeeping - Plugging Obvious Security Holes In Web Sites - Paris Web2009
Report
Christian Heilmann
Follow
Senior Program Manager Developer Experience and Evangelism at Microsoft
Oct. 8, 2009
•
0 likes
•
1,975 views
1
of
89
Basic Housekeeping - Plugging Obvious Security Holes In Web Sites - Paris Web2009
Oct. 8, 2009
•
0 likes
•
1,975 views
Download Now
Download to read offline
Report
My talk at Paris Web 2009 about basic web security and how to avoid opening your site for attacks.
Christian Heilmann
Follow
Senior Program Manager Developer Experience and Evangelism at Microsoft
Recommended
HELE 4 Lesson 2: Safe and Responsible Use of ICT
Benandro Palor
2.3K views
•
17 slides
Jeremy Virus Effect
guest7b2ba1
442 views
•
4 slides
Computer Worms
sadique_ghitm
13.8K views
•
20 slides
Virus presentation1
Sameep Sood
342 views
•
12 slides
Awesome Tips for Data Security
Millennium Systems International
2.1K views
•
1 slide
Malware- Types, Detection and Future
karanwayne
6.2K views
•
15 slides
More Related Content
What's hot
Virus worm trojan
100701982
8K views
•
25 slides
Wong Pau Tung-special-topic-02-Virus
sharing notes123
728 views
•
8 slides
null Bangalore meet Feb 2010 - news Bytes
n|u - The Open Security Community
453 views
•
19 slides
Anthony Merseal - Steps to Keep Your Computer Virus Free
Anthony Merseal
180 views
•
12 slides
Computervirus
Dushyant Shekhawat
316 views
•
11 slides
M
monikamca
1.9K views
•
66 slides
What's hot
(8)
Virus worm trojan
100701982
•
8K views
Wong Pau Tung-special-topic-02-Virus
sharing notes123
•
728 views
null Bangalore meet Feb 2010 - news Bytes
n|u - The Open Security Community
•
453 views
Anthony Merseal - Steps to Keep Your Computer Virus Free
Anthony Merseal
•
180 views
Computervirus
Dushyant Shekhawat
•
316 views
M
monikamca
•
1.9K views
Today's malware aint what you think
Nathan Winters
•
2.1K views
Cyber security training
Wilmington University
•
8.9K views
Viewers also liked
Web Security Deployment
Cisco Canada
15.9K views
•
79 slides
網頁安全 Web security 入門 @ Study-Area
Orange Tsai
58.6K views
•
82 slides
Web security 2012
Mohamed Elabnody
5.5K views
•
79 slides
Web Security - Introduction v.1.3
Oles Seheda
78.6K views
•
69 slides
2008: Web Application Security Tutorial
Neil Matatall
30.9K views
•
168 slides
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Brian Huff
23K views
•
27 slides
Viewers also liked
(7)
Web Security Deployment
Cisco Canada
•
15.9K views
網頁安全 Web security 入門 @ Study-Area
Orange Tsai
•
58.6K views
Web security 2012
Mohamed Elabnody
•
5.5K views
Web Security - Introduction v.1.3
Oles Seheda
•
78.6K views
2008: Web Application Security Tutorial
Neil Matatall
•
30.9K views
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Brian Huff
•
23K views
Web Security
Bharath Manoharan
•
79.7K views
Similar to Basic Housekeeping - Plugging Obvious Security Holes In Web Sites - Paris Web2009
Web Servers
webhostingguy
148 views
•
16 slides
Lab-12 Social Engineering and Physical Security The firs.docx
pauline234567
5 views
•
5 slides
The Top 10/20 Internet Security Vulnerabilities – A Primer
amiable_indian
7.9K views
•
82 slides
Cyber Security 101 – A Practical Guide for Small Businesses
PECB
551 views
•
49 slides
Dev and Blind - Attacking the weakest Link in IT Security
Mario Heiderich
5.6K views
•
39 slides
Corporations - the new victims of targeted ransomware
Cyber Security Alliance
588 views
•
27 slides
Similar to Basic Housekeeping - Plugging Obvious Security Holes In Web Sites - Paris Web2009
(20)
Web Servers
webhostingguy
•
148 views
Lab-12 Social Engineering and Physical Security The firs.docx
pauline234567
•
5 views
The Top 10/20 Internet Security Vulnerabilities – A Primer
amiable_indian
•
7.9K views
Cyber Security 101 – A Practical Guide for Small Businesses
PECB
•
551 views
Dev and Blind - Attacking the weakest Link in IT Security
Mario Heiderich
•
5.6K views
Corporations - the new victims of targeted ransomware
Cyber Security Alliance
•
588 views
Webinar Security: Apps of Steel transcription
Service2Media
•
373 views
Virus worm trojan
100737728_ahmed
•
911 views
Hamza
HamzaBaqee
•
98 views
Virus worm trojan
100701982
•
1.2K views
OpenTechTalks: Ethical hacking with Kali Linux (Tijl Deneut, UGent)
Avansa Mid- en Zuidwest
•
740 views
Computer Security
William Mann
•
4.4K views
INT 1010 10-3
Luis R Castellanos
•
240 views
Who's that knocking on my firewall door?
Bruce Wolfe
•
335 views
Cyber_Security_Seminar_PPTs_to Upload.pptx
DrMajidMumtaz
•
3 views
Ethical Hacking
Syed Irshad Ali
•
234 views
Protect Yourself From Internet Pests
peterhitch
•
635 views
Danger on Your Desktop
Andy Smith
•
5.7K views
Smart Bombs: Mobile Vulnerability and Exploitation
Tom Eston
•
13K views
Keynote fx try harder 2 be yourself
DefconRussia
•
779 views
More from Christian Heilmann
Develop, Debug, Learn? - Dotjs2019
Christian Heilmann
1.1K views
•
55 slides
Hinting at a better web
Christian Heilmann
2.8K views
•
33 slides
Taking the "vile" out of privilege
Christian Heilmann
1K views
•
64 slides
Seven ways to be a happier JavaScript developer - NDC Oslo
Christian Heilmann
1.5K views
•
52 slides
Artificial intelligence for humans… #AIDC2018 keynote
Christian Heilmann
1.2K views
•
56 slides
Killing the golden calf of coding - We are Developers keynote
Christian Heilmann
3.1K views
•
35 slides
More from Christian Heilmann
(20)
Develop, Debug, Learn? - Dotjs2019
Christian Heilmann
•
1.1K views
Hinting at a better web
Christian Heilmann
•
2.8K views
Taking the "vile" out of privilege
Christian Heilmann
•
1K views
Seven ways to be a happier JavaScript developer - NDC Oslo
Christian Heilmann
•
1.5K views
Artificial intelligence for humans… #AIDC2018 keynote
Christian Heilmann
•
1.2K views
Killing the golden calf of coding - We are Developers keynote
Christian Heilmann
•
3.1K views
Progressive Web Apps - Techdays Finland
Christian Heilmann
•
1.4K views
Taking the "vile" out of privilege
Christian Heilmann
•
1.3K views
Five ways to be a happier JavaScript developer
Christian Heilmann
•
859 views
Taking the P out of PWA
Christian Heilmann
•
2.8K views
Sacrificing the golden calf of "coding"
Christian Heilmann
•
2.5K views
You learned JavaScript - now what?
Christian Heilmann
•
534 views
Sacrificing the golden calf of "coding"
Christian Heilmann
•
954 views
Progressive Web Apps - Covering the best of both worlds - DevReach
Christian Heilmann
•
955 views
Progressive Web Apps - Covering the best of both worlds
Christian Heilmann
•
799 views
Non-trivial pursuits: Learning machines and forgetful humans
Christian Heilmann
•
531 views
Progressive Web Apps - Bringing the web front and center
Christian Heilmann
•
1.2K views
CSS vs. JavaScript - Trust vs. Control
Christian Heilmann
•
1.5K views
Leveling up your JavaScipt - DrupalJam 2017
Christian Heilmann
•
581 views
The Soul in The Machine - Developing for Humans (FrankenJS edition)
Christian Heilmann
•
916 views
Basic Housekeeping - Plugging Obvious Security Holes In Web Sites - Paris Web2009
1.
Basic housekeeping Plugging obvious security holes in web sites.
Chris9an Heilmann, Paris Web, Paris, October 2009
4.
A few things to remember about basic web security.
5.
A bit of pimping... Gérer la sécurité de vos applica9ons web (Salle 1) Présenté par : Sébas9en Pauchet (WS Interac9ve), Frank Taillandier (Académie de Toulouse) a.k.a. Dirty Tricks with @DirtyF
6.
The most annoying thing is that the dangers on the web are underes9mated.
8.
Reasons for aRacks: Spam injec9on. Iden9ty theT. Data mining. Botnet / Zombies / DOS
9.
A lot of clever terms are used in security. SQL injec9on XSS CSRF
ClickJacking Phishing
10.
In the end, a lot is about keeping your web products clean.
11.
This very much starts on the server side.
12.
Think about your folders.
17.
Telling the world too much.
18.
You don’t want the admin folders of your app to be indexed by Google Search Engines.
19.
Your system might tell more about your site than you are aware of.
20.
Error messages are only needed in produc9on ‐ on live servers they can tell more than you want to.
21.
Keep your server setup secure.
22.
hRp://yoursite.com/index.php?admin=true hRp://phpsec.org/projects/phpsecinfo/
23.
hRp://phpsec.org/projects/phpsecinfo/
24.
Basic server measures: Turn off folder browsing. Stop bot indexing (robots.txt). Secure your setup. Turn off error messaging. Disallow remote file inclusion. Delete old and orphan files.
25.
The next danger is blindly relying on soTware.
26.
Predefined backdoors and passwords.
27.
admin/admin admin/password default/default user/user preset/preset buil9n/buil9n
28.
Plugins
29.
Basic soTware measures: Change every password. Check for presets. RTFM. Keep Plugins up‐to‐date. Check for security holes. Don’t trust “easy setup”. Upgrade.
30.
Front end security issues.
31.
This is not hard. Don’t trust any user data. HTML is not a database. JavaScript is not a secure data container. Do not rely on JavaScript.
32.
Frontend is public. If you comment, comment on the backend, do not “comment out” func9onality.
33.
Frontend is insecure. Anything in the frontend is executed and can be used to steal all your cookies. (frames, images, scripts, links...)
34.
Filtering hRp://us2.php.net/manual/en/book.filter.php
35.
Whitelis9ng
36.
Clickjacking.
38.
Basic frontend measures: Break frames. Filter inputs. Whitelist inputs. Avoid hacks (expression()). Avoid URL assembling.
39.
Our users
40.
Social engineering.
41.
SocEng basics: Show authority. Create fake need of urgency. Take over responsibility.
42.
Condi9oning helps. :‐(
43.
I approve of this!
44.
Social networks
48.
Step 1: Log in yourself
49.
Step 2: Get list of followers
51.
Step 3: Set the trap
52.
http://twitter.com/statuses/ user_timeline/codepo8.xml? count=200
54.
Step 4: Lure his followers
55.
None of this!
56.
Predictability
57.
Basic people measures: Don’t allow for auto log‐in. Share security responsibility with the users. Avoid stressful interfaces. Be very open about your communica9on.
58.
Bot aRacks.
59.
Captchas to the rescue?
hRp://caca.zoy.org/wiki/PWNtcha
60.
Bot aRack measures. Honeyponng. Timed interfaces. Cookie check / Crumbing. Spike detec9on. OpenID / third party logins.
61.
Nothing beats being up‐ to‐date!
63.
None of this!
64.
I approve of this!
65.
You learn a lot from logs.
67.
No strength in numbers.
68.
Check your posts.
69.
And query terms.
70.
Some not‐so sci‐fi ideas...
71.
Guest passes.
72.
oAuth
73.
OpenID
74.
Caja/ADsafe
75.
Caja limits and secures web standards.
76.
Caja vs. “HTML” ★ Custom aRributes ★ Custom tags ★
Unclosed tags ★ <embed> ★ <iframe> ★ <link rel=‘… ★ javascript:void(0) ★ Radio buRons in IE ★ Rela9ve url’s
77.
Caja vs “JavaScript” ★ eval() ★ new Func9on() ★
Strings as event handlers (node.onclick = '...';) ★ Names ending with double / triple underscores ★ with func9on (with (obj) { ... }) ★ Implicit global variables (specify var variable) ★ Calling a method as a func9on ★ document.write ★ window.event ★ .onclick ★ OpenSocial gadgets.io.makeRequest return JS
78.
Caja vs “CSS” ★ * hacks ★ _ hacks ★
IE condi9onals ★ Insert‐aTer clear fix ★ expression() ★ @import ★ Background images in IE
79.
Throwaway logins.
80.
New challenges.
81.
Social Network aRacks
82.
The mobile web.
83.
Camera access.
84.
Loca9on based services.
85.
Biometric recogni9on.
86.
Right now things are not safe.
87.
But you can help making the web safer.
88.
Keep it clean, keep it up‐ to‐date and be alert.
89.
MERCI! Chris9an Heilmann hRp://wait‐9ll‐i.com hRp://developer‐evangelism.com hRp://twiRer.com/codepo8