Web Application Hacking Matthew Fisher, SPI Dynamics CNA, MCSA, MCSE, CCSE, CCSE, CISSP, XYZ, 0x80, cameron can't hax · · · · · · · · · · · · · · Comparing web app sec to host / network security Cross-site-scripting XSS Proxy SQL Injection SQL Injection "spot" techniques Nasty SQL Injections Blind SQL Injection Testing ACLs with param manip Web Telnet: Something fun for WebDav Uploads Bad Extension source disclosures Managing web app sec Contributing factors to the problem Approach to web app sec programs Why the C&A process fails web app sec Copyright 2005 SPI Dynamics Web Application Development "Truisms" · · Web applications are software Multi-billion dollar software companies inadvertently create a massive number of vulnerabilities in their software Your web developers have a lot less training and resources than software companies do. Development standards emphasize functionality, not security C-Levels understand other topics better ­ IDS / IPS, patches Web App dev not approached as engineering · · · · Copyright 2005 SPI Dynamics Most Exposed and Least Protected Web Application Web Application Attacks Known Web Server Attacks Code - Content - Implementation Web Server Known Vulnerabilities - Misconfigurations Operating System OS Attacks s Network Attack Known Vulnerabilities - Misconfigurations Network Layer Exposed Hosts ­ Insecure Protocols Copyright 2005 SPI Dynamics HOST Security More manageable due to uniformity · uniform vulnerabilities · Global notification · Single source fix · Standardized testing Copyright 2005 SPI Dynamics Web App is A Different Paradigm · · · · · Vulnerabilities are custom No global announcement No fix handed down Non-standard testing Overall more difficult management · Bottom Line: It's YOUR problem Copyright 2005 SPI Dynamics Web Application Vulnerability Characteristics · Affects all Web applications: ·Exists in your own application, not the operating system ·Can exit regardless of the Web server, operating system, configuration, or patch level · Extremely easy to exploit: · Sometimes requires nothing more than a Web browser · Orders of magnitude easier than buffer overflows ·Difficult to deal with at the perimeter: ·SSL Encrypted Traffic , Huge Volume ·Rules granular to each input on each page, change as app changes Copyright 2005 SPI Dynamics Typical Security Model · Hardened Builds ­ Patch Management ­ Configuration Management Network Scanning Firewalls IDS / IPS AV, ASPY, A-SPAM Copyright 2005 SPI Dynamics Typical Web App Sec Practices This Page Intentionally Left Blank Copyright 2005 SPI Dynamics Tuesday's BugTraq Summary Pt 1 > -----------------------------------------------------------------> I. FRONT AND CENTER > 1. Windows rootkits of 2005, part three > 2. Patching a broken Windows > II. BUGTRAQ SUMMARY > 1. MTink Home Environment Variable Buffer Overflow Vulnerability > 2. MyBB Print Thread Script HTML Injection Vulnerability > 3. MyBB File Upload SQL Injection Vulnerability > 4. IBM AIX GetShell and GetCommand File Enumeration Vulnerability > 5. IBM AIX GetShell and GetCommand Partial File Disclosure Vulnerability > 6. InTouch User Variable SQL Injection Vulnerability > 7. PHPJournaler Readold Variable SQL Injection Vulnerability > 8. Chimera Web Portal Multiple Input Validation Vulnerabilities > 9. B-Net Multiple HTML Injection Vulnerabilities > 10. ScozNet ScozBook AdminName Variable SQL Injection Vulnerability > 11. VBulletin Event Title HTML Injection Vulnerability > 12. Drupal URL-Encoded Input HTML Injection Vulnerability > 13. File::ExtAttr Extended File Attribute Off-By-One Buffer Overflow Vulnerability > 14. DiscusWare Discus Error Message Cross-Site Scripting Vulnerability > 15. Gentoo Pinentry Local Privilege Escalation Vulnerability > Copyright 2005 SPI Dynamics Tuesday's BugTraq Summary Pt 2 > > > > > > > > > > > > > > 16. INCOGEN Bugport Multiple SQL Injection Vulnerabilities 17. SCO OpenServer Termsh Buffer Overflow Vulnerability 18. INCOGEN Bugport Index.PHP Multiple Cross-Site Scripting Vulnerabilities 19. EFileGo Multiple Input Validation Vulnerabilities 20. Primo Place Primo Cart Multiple SQL Injection Vulnerabilities 21. Valdersoft Shopping Cart Remote File Include Vulnerability 22. Intel Graphics Accelerator Driver Remote Denial Of Service Vulnerability 23. Linux Kernel SET_MEMPOLICY Local Denial of Service Vulnerability 24. ESRI ArcPad APM File Processing Buffer Overflow Vulnerability 25. IDV Directory Viewer Index.PHP Information Disclosure Vulnerability 26. raSMP User-Agent HTML Injection Vulnerability 27. Linux Kernel FIB_LOOKUP Denial of Service Vulnerability 28. Lizard Cart CMS Multiple SQL Injection Vulnerabilities 29. Linux Kernel Sysctl_String Local Buffer Overflow Vulnerability 30. Linux Kernel DVB Driver Local Buffer Overflow Vulnerability > 31. KPdf and KWord Multiple Unspecified Buffer and Integer Overflow Vulnerabilities > 32. OpenBSD DEV/FD Arbitrary File Access Vulnerability > 33. PHP MySQL_Connect Remote Buffer Overflow Vulnerability > 34. Apple AirPort Remote Denial of Service Vulnerability Copyright 2005 SPI Dynamics Tuesday's BugTraq Pt 3 > 35. Blue Coat Systems WinProxy Remote Host Header Buffer Overflow Vulnerability > 36. Blue Coat Systems WinProxy Remote Denial Of Service Vulnerability > 37. Blue Coat Systems WinProxy Telnet Remote Denial Of Service Vulnerability > 38. HylaFAX Remote PAM Authentication Bypass Vulnerability > > > > > > > > > > > > > > 39. Hylafax Multiple Scripts Remote Command Execution Vulnerability 40. Apache mod_auth_pgsql Multiple Format String Vulnerabilities 41. Foro Domus Multiple Input Validation Vulnerabilities 42. OnePlug CMS Multiple SQL Injection Vulnerabilities 43. iNETstore Online Search Cross-Site Scripting Vulnerability 44. ADN Forum Multiple Input Validation Vulnerabilities 45. IBM Lotus Domino and Notes Multiple Unspecified Vulnerabilities 46. Timecan CMS ViewID SQL Injection Vulnerability 47. Modular Merchant Shopping Cart Cross-Site Scripting Vulnerability 48. TheWebForum Multiple Input Validation Vulnerabilities 49. Aquifer CMS Index.ASP Cross-Site Scripting Vulnerability 50. TinyPHPForum Multiple Directory Traversal Vulnerabilities 51. NetSarang XLPD Remote Denial of Service Vulnerability 52. Navboard Multiple BBCode Tag Script Injection Vulnerabilities Copyright 2005 SPI Dynamics Cross-Site-Scripting Download the Cross-Site-Scripting Whitepaper from http://www.SPIDynamics.com Cross-Site Scripting: Find the vulnerable field ·Website accepts input from user ·Replays their input without validating it. ·Accepts JavaScript as input and replays it to the browser Copyright 2005 SPI Dynamics Enter java script Malicious script is entered in a form field, but is passed to next page as parameters in a URL URL with malicious script in parameter can now be distributed as a vector Copyright 2005 SPI Dynamics Cross-Site-Scripting Attack Vector Cross-Site-Scripting attack via emailed vector. Innocent-looking Link has embedded JavaScript Copyright 2005 SPI Dynamics Decoded Attack Sequence No Alarms and No Surprises Original legitimate website No login errors, no changes, user works normally UserID and Password quietly handed off to remote website Copyright 2005 SPI Dynamics What Else · · · · · · · · Document.Cookie Window.Location Document.Write (your own html) Window.Open Window.Close Lets you steal the cookie from the site Lets you read the forms on the page that has the XSS Lets you create fake login forms etc. Copyright 2005 SPI Dynamics Massive Advancements in XSS · · · · · · XSS Proxy by Anton Rager ­ revealed Shmoocon 2005 http://sourceforge.net/projects/xss-proxy Opens an iFrame via an XSS ­ (ie, param=document.write (`