PREVENTING XSS & CSRF
  Dave Ross • Suburban Chicago PHP & Web Development Meetup
2½ years ago
http://www.slideshare.net/csixty4/intro-to-php-security
REALITY CHECK
“More than half of identity theft
    cases are inside jobs”
  Judith Collins, Associate Criminal Justice Professor @ Michigan State University
                “who recently completed a study of 1,037 such cases”
THE WEB IS STILL
 A NASTY PLACE
BROWSER SECURITY IS
     BETTER
PHP IS BETTER
REGISTER_GLOBALS IS
DEPRECATED IN 5.3.0
THREATS:
XSS - CROSS SITE SCRIPTING
NON-PERSISTENT XSS
PARAMETERS ECHOED
 BACK TO THE USER
<IMG SRC=”HTTP://SEARCH.AMAZON.COM?S=
   <SCRIPT>ALERT(‘TEST’);</SCRIPT>” />
PERSISTENT XSS
INJECT <IFRAME> &
<SCRIPT> INTO CONTENT
BLOG COMMENTS,
  FORUM POSTS
STRIP OUT TAGS
I RECOMMEND REMOVING
TAGS ON DISPLAY, NOT SAVE
CSRF - CROSS-SITE REQUEST
         FORGERY
<IMG SRC=”HTTP://TWITTER.COM/POST?TEXT=I’M A BIG FAT DORK” />
USE A NONCE.
HTTP://HA.CKERS.ORG/XSS.HTML
HTTP://WWW.CGISECURITY.COM/CSRF-FAQ.HTML

Web App Security: XSS and CSRF