SlideShare ist ein Scribd-Unternehmen logo
1 von 89
Downloaden Sie, um offline zu lesen
Basic housekeeping


Plugging obvious security 
holes in web sites.

                             Chris9an Heilmann, Paris Web, Paris, October 2009
A few things to remember 
about basic web security.
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
The most annoying thing 
is that the dangers on the 
web are underes9mated.
Reasons for aRacks:
Spam injec9on.
Iden9ty theT.
Data mining.
Botnet / Zombies / DOS
A lot of clever terms are 
used in security.

 SQL injec9on  XSS  CSRF
  ClickJacking  Phishing
In the end, a lot is about 
keeping your web 
products clean.
This very much starts on 
the server side.
Think about your folders.
Telling the world too 
much.
You don’t want the admin 
folders of your app to be 
indexed by Google Search
Engines.
Your system might tell 
more about your site than 
you are aware of.
Error messages are only 
needed in produc9on ‐ on 
live servers they can tell 
more than you want to.
Keep your server setup 
secure.
hRp://yoursite.com/index.php?admin=true




hRp://phpsec.org/projects/phpsecinfo/
hRp://phpsec.org/projects/phpsecinfo/
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.
The next danger is blindly 
relying on soTware.
Predefined backdoors and 
passwords.
admin/admin
admin/password
default/default
user/user
preset/preset
buil9n/buil9n
Plugins
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.
Front end security issues. 
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.
Frontend is public.
If you comment, comment on 
the backend, do not 
“comment out” func9onality.
Frontend is insecure.
Anything in the frontend is 
executed and can be used to 
steal all your cookies.
(frames, images, scripts, links...)
Filtering




 hRp://us2.php.net/manual/en/book.filter.php
Whitelis9ng
Clickjacking.
Basic frontend measures:
Break frames.
Filter inputs.
Whitelist inputs.
Avoid hacks (expression()).
Avoid URL assembling.
Our users
Social engineering.
SocEng basics:
Show authority.
Create fake need of urgency.
Take over responsibility.
Condi9oning helps. :‐(
I approve 
  of this!
Social networks
Step 1: Log in yourself
Step 2: Get list of followers
Step 3: Set the trap
http://twitter.com/statuses/
user_timeline/codepo8.xml?
count=200
Step 4: Lure his followers
None 
of this!
Predictability
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.
Bot aRacks.
Captchas to the rescue?




     hRp://caca.zoy.org/wiki/PWNtcha
Bot aRack measures.
Honeyponng.
Timed interfaces.
Cookie check / Crumbing.
Spike detec9on. 
OpenID / third party logins.
Nothing beats being up‐
to‐date!
None 
of this!
I approve 
  of this!
You learn a 
lot from logs.
No strength in numbers.
Check your posts.
And query terms.
Some not‐so sci‐fi ideas...
Guest passes.
oAuth
OpenID
Caja/ADsafe
Caja limits and 
secures web 
standards.
Caja vs. “HTML”
★ Custom aRributes
★ Custom tags
★ Unclosed tags
★ <embed>
★ <iframe>
★ <link rel=‘…
★ javascript:void(0) 
★ Radio buRons in IE
★ Rela9ve url’s
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
Caja vs “CSS”
★ * hacks
★ _ hacks
★ IE condi9onals
★ Insert‐aTer clear fix
★ expression()
★ @import
★ Background images in IE
Throwaway logins.
New challenges.
Social Network aRacks
The mobile web.
Camera access.
Loca9on based services.
Biometric recogni9on.
Right now things are not 
safe.
But you can help making 
the web safer.
Keep it clean, keep it up‐
to‐date and be alert.
MERCI!
  Chris9an Heilmann
  hRp://wait‐9ll‐i.com 
  hRp://developer‐evangelism.com
  hRp://twiRer.com/codepo8   

Weitere ähnliche Inhalte

Was ist angesagt?

Virus worm trojan
Virus worm trojanVirus worm trojan
Virus worm trojan100701982
 
Wong Pau Tung-special-topic-02-Virus
Wong Pau Tung-special-topic-02-VirusWong Pau Tung-special-topic-02-Virus
Wong Pau Tung-special-topic-02-Virussharing notes123
 
Anthony Merseal - Steps to Keep Your Computer Virus Free
Anthony Merseal - Steps to Keep Your Computer Virus Free Anthony Merseal - Steps to Keep Your Computer Virus Free
Anthony Merseal - Steps to Keep Your Computer Virus Free Anthony Merseal
 
Today's malware aint what you think
Today's malware aint what you thinkToday's malware aint what you think
Today's malware aint what you thinkNathan Winters
 

Was ist angesagt? (8)

Virus worm trojan
Virus worm trojanVirus worm trojan
Virus worm trojan
 
Wong Pau Tung-special-topic-02-Virus
Wong Pau Tung-special-topic-02-VirusWong Pau Tung-special-topic-02-Virus
Wong Pau Tung-special-topic-02-Virus
 
null Bangalore meet Feb 2010 - news Bytes
null Bangalore meet Feb 2010 - news Bytesnull Bangalore meet Feb 2010 - news Bytes
null Bangalore meet Feb 2010 - news Bytes
 
Anthony Merseal - Steps to Keep Your Computer Virus Free
Anthony Merseal - Steps to Keep Your Computer Virus Free Anthony Merseal - Steps to Keep Your Computer Virus Free
Anthony Merseal - Steps to Keep Your Computer Virus Free
 
Computervirus
Computervirus Computervirus
Computervirus
 
M
MM
M
 
Today's malware aint what you think
Today's malware aint what you thinkToday's malware aint what you think
Today's malware aint what you think
 
Cyber security training
Cyber security trainingCyber security training
Cyber security training
 

Andere mochten auch

Web Security Deployment
Web Security DeploymentWeb Security Deployment
Web Security DeploymentCisco Canada
 
網頁安全 Web security 入門 @ Study-Area
網頁安全 Web security 入門 @ Study-Area網頁安全 Web security 入門 @ Study-Area
網頁安全 Web security 入門 @ Study-AreaOrange Tsai
 
Web Security - Introduction v.1.3
Web Security - Introduction v.1.3Web Security - Introduction v.1.3
Web Security - Introduction v.1.3Oles Seheda
 
2008: Web Application Security Tutorial
2008: Web Application Security Tutorial2008: Web Application Security Tutorial
2008: Web Application Security TutorialNeil Matatall
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Brian Huff
 

Andere mochten auch (7)

Web Security Deployment
Web Security DeploymentWeb Security Deployment
Web Security Deployment
 
網頁安全 Web security 入門 @ Study-Area
網頁安全 Web security 入門 @ Study-Area網頁安全 Web security 入門 @ Study-Area
網頁安全 Web security 入門 @ Study-Area
 
Web security 2012
Web security 2012Web security 2012
Web security 2012
 
Web Security - Introduction v.1.3
Web Security - Introduction v.1.3Web Security - Introduction v.1.3
Web Security - Introduction v.1.3
 
2008: Web Application Security Tutorial
2008: Web Application Security Tutorial2008: Web Application Security Tutorial
2008: Web Application Security Tutorial
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
 
Web Security
Web SecurityWeb Security
Web Security
 

Ähnlich wie Basic Housekeeping - Plugging Obvious Security Holes In Web Sites - Paris Web2009

Lab-12 Social Engineering and Physical Security The firs.docx
Lab-12 Social Engineering and Physical Security        The firs.docxLab-12 Social Engineering and Physical Security        The firs.docx
Lab-12 Social Engineering and Physical Security The firs.docxpauline234567
 
The Top 10/20 Internet Security Vulnerabilities – A Primer
The Top 10/20 Internet Security Vulnerabilities – A PrimerThe Top 10/20 Internet Security Vulnerabilities – A Primer
The Top 10/20 Internet Security Vulnerabilities – A Primeramiable_indian
 
Cyber Security 101 – A Practical Guide for Small Businesses
Cyber Security 101 – A Practical Guide for Small BusinessesCyber Security 101 – A Practical Guide for Small Businesses
Cyber Security 101 – A Practical Guide for Small BusinessesPECB
 
Dev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT SecurityDev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT SecurityMario Heiderich
 
Corporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomwareCorporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomwareCyber Security Alliance
 
Webinar Security: Apps of Steel transcription
Webinar Security:  Apps of Steel transcriptionWebinar Security:  Apps of Steel transcription
Webinar Security: Apps of Steel transcriptionService2Media
 
Virus worm trojan
Virus worm trojanVirus worm trojan
Virus worm trojan100701982
 
OpenTechTalks: Ethical hacking with Kali Linux (Tijl Deneut, UGent)
OpenTechTalks: Ethical hacking with Kali Linux (Tijl Deneut, UGent)OpenTechTalks: Ethical hacking with Kali Linux (Tijl Deneut, UGent)
OpenTechTalks: Ethical hacking with Kali Linux (Tijl Deneut, UGent)Avansa Mid- en Zuidwest
 
Who's that knocking on my firewall door?
Who's that knocking on my firewall door?Who's that knocking on my firewall door?
Who's that knocking on my firewall door?Bruce Wolfe
 
Cyber_Security_Seminar_PPTs_to Upload.pptx
Cyber_Security_Seminar_PPTs_to Upload.pptxCyber_Security_Seminar_PPTs_to Upload.pptx
Cyber_Security_Seminar_PPTs_to Upload.pptxDrMajidMumtaz
 
Protect Yourself From Internet Pests
Protect Yourself From Internet PestsProtect Yourself From Internet Pests
Protect Yourself From Internet Pestspeterhitch
 
Danger on Your Desktop
Danger on Your DesktopDanger on Your Desktop
Danger on Your DesktopAndy Smith
 
Smart Bombs: Mobile Vulnerability and Exploitation
Smart Bombs: Mobile Vulnerability and ExploitationSmart Bombs: Mobile Vulnerability and Exploitation
Smart Bombs: Mobile Vulnerability and ExploitationTom Eston
 
Keynote fx try harder 2 be yourself
Keynote fx   try harder 2 be yourselfKeynote fx   try harder 2 be yourself
Keynote fx try harder 2 be yourselfDefconRussia
 
Safety Plano Library June 4 Main
Safety   Plano Library June 4 MainSafety   Plano Library June 4 Main
Safety Plano Library June 4 Mainsmeech
 

Ähnlich wie Basic Housekeeping - Plugging Obvious Security Holes In Web Sites - Paris Web2009 (20)

Web Servers
Web ServersWeb Servers
Web Servers
 
Lab-12 Social Engineering and Physical Security The firs.docx
Lab-12 Social Engineering and Physical Security        The firs.docxLab-12 Social Engineering and Physical Security        The firs.docx
Lab-12 Social Engineering and Physical Security The firs.docx
 
The Top 10/20 Internet Security Vulnerabilities – A Primer
The Top 10/20 Internet Security Vulnerabilities – A PrimerThe Top 10/20 Internet Security Vulnerabilities – A Primer
The Top 10/20 Internet Security Vulnerabilities – A Primer
 
Cyber Security 101 – A Practical Guide for Small Businesses
Cyber Security 101 – A Practical Guide for Small BusinessesCyber Security 101 – A Practical Guide for Small Businesses
Cyber Security 101 – A Practical Guide for Small Businesses
 
Dev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT SecurityDev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT Security
 
Corporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomwareCorporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomware
 
Webinar Security: Apps of Steel transcription
Webinar Security:  Apps of Steel transcriptionWebinar Security:  Apps of Steel transcription
Webinar Security: Apps of Steel transcription
 
Virus worm trojan
Virus worm trojanVirus worm trojan
Virus worm trojan
 
Hamza
HamzaHamza
Hamza
 
Virus worm trojan
Virus worm trojanVirus worm trojan
Virus worm trojan
 
OpenTechTalks: Ethical hacking with Kali Linux (Tijl Deneut, UGent)
OpenTechTalks: Ethical hacking with Kali Linux (Tijl Deneut, UGent)OpenTechTalks: Ethical hacking with Kali Linux (Tijl Deneut, UGent)
OpenTechTalks: Ethical hacking with Kali Linux (Tijl Deneut, UGent)
 
Computer Security
Computer SecurityComputer Security
Computer Security
 
Who's that knocking on my firewall door?
Who's that knocking on my firewall door?Who's that knocking on my firewall door?
Who's that knocking on my firewall door?
 
Cyber_Security_Seminar_PPTs_to Upload.pptx
Cyber_Security_Seminar_PPTs_to Upload.pptxCyber_Security_Seminar_PPTs_to Upload.pptx
Cyber_Security_Seminar_PPTs_to Upload.pptx
 
Ethical Hacking
Ethical HackingEthical Hacking
Ethical Hacking
 
Protect Yourself From Internet Pests
Protect Yourself From Internet PestsProtect Yourself From Internet Pests
Protect Yourself From Internet Pests
 
Danger on Your Desktop
Danger on Your DesktopDanger on Your Desktop
Danger on Your Desktop
 
Smart Bombs: Mobile Vulnerability and Exploitation
Smart Bombs: Mobile Vulnerability and ExploitationSmart Bombs: Mobile Vulnerability and Exploitation
Smart Bombs: Mobile Vulnerability and Exploitation
 
Keynote fx try harder 2 be yourself
Keynote fx   try harder 2 be yourselfKeynote fx   try harder 2 be yourself
Keynote fx try harder 2 be yourself
 
Safety Plano Library June 4 Main
Safety   Plano Library June 4 MainSafety   Plano Library June 4 Main
Safety Plano Library June 4 Main
 

Mehr von Christian Heilmann

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Christian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilegeChristian Heilmann
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloChristian Heilmann
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteChristian Heilmann
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteChristian Heilmann
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandChristian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilegeChristian Heilmann
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerChristian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?Christian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachChristian Heilmann
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsChristian Heilmann
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansChristian Heilmann
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Christian Heilmann
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlChristian Heilmann
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Christian Heilmann
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)Christian Heilmann
 

Mehr von Christian Heilmann (20)

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer
 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
 

Basic Housekeeping - Plugging Obvious Security Holes In Web Sites - Paris Web2009