SlideShare uma empresa Scribd logo
1 de 25
Web 2.0
Security Woes
                 Junaid Loonat
                SensePost 2010
Agenda
   Who are we are?
   What is this talk about?
   Web Application Security & Web 2.0
   What changed?
   What stayed the same?
   What can be done?
   Questions
Who are we?
   SensePost
       Formed in 2001
       Security assessment services to finance, industrial,
        mining, telecoms
       Written a few papers..
       Spoken at a number of conferences (BlackHat, Defcon,
        …)
       Contributed to a handful of books
       Done some Training


   www.sensepost.com/blog
What is this talk about?
   Not …
       About the relationship between Security and Compliance
           Btw, it‟s a love / hate marriage … just like the rest of us
       A Developer-Bashing Campaign
           Developers are good at making something magical, from chains of
            code
       Promoting internet-less-ness (since the internet is too
        dangerous)
           Some SPers are more paranoid than others though
       A technical presentation
           So please don‟t run away


   Is:
       Clear up the misconception that Web 2.0 is securer
       Educate on how to limit your risk when deploying a web
        application
Web Application Security
   Why target?
       Traditional perimeter security had matured
       Websites (and web services) are commonly used to share
        information …
           Always on
           Easy target
Web 2.0
   Better user experience
       More interaction
       More functionality

   But what about security?
       Things got bad!
           … REALLY bad!
What changed?                             …            Likely Targets
   Likely Targets
       1.0
           Intruder interacts with website
               therefore, the website is the target




                                           Website
                Maintainer




                                                               Visitors
What changed?                            …          Likely Targets
   Likely Targets
       2.0
           Intruder still interacts with website, but
           Intruder can interact with other users, through the targeted
            website
               therefore, other website users are targets as well      Normal Visitors




                                          Website
                Maintainer



                                                                      Contributing Visitors
                                                                     Visitors
The complete compromise of the hosting
environment is not a prerequisite to the
complete compromise of client systems.
What changed?                               …      Page Interaction
   Page Interaction
       1.0
           User makes request … Server replies
           User‟s browser loads any additional page resources defined
            within the server response


       2.0
           User makes request … Server replies
           User interacts with webpage,
               Scripts performing their own requests to the web server
                   Use web services for lookups
               Scripts have their own lifetime
What changed?                …       Page Interaction
   Example: CAPTCHA

     Username   junaid              1.0
                                       Validation performed
     Password   **********
                                        upon submission

                                    2.0
       Code     alotocibil
                                       Validation can be
                Login                   performed during
                                        field population
What changed?                        …        Building Blocks
   Components
       Pages can be comprised of:
           Resources (images, stylesheets)
           Scripts (JavaScript, Flash)
           Web services
       Authentication and Authorisation, the Authz, has to be
        enforced across all components
           Otherwise there is a loophole to access sensitive data
What changed?                       …   Building Blocks
   Example: Uniform Enforcement of the Authz

                                                        Website
 Attacker

      getAllFriendMessages(“junai
                                            Access Denied
                  d”)



getMessagesByFriend(“junaid”, “ian”)       Msg #1 … Msg #n




   Similar issue identified on a client‟s system which
    was built on Drupal
Securely developed frameworks do not
  always lead to securely developed
            applications




    (But they do provide a good foundation)
What changed?                        …        Building Blocks
   Components
       Pages can be comprised of:
           Resources (images, stylesheets)
           Scripts (JavaScript, Flash)
           Web services
       Authentication has to be enforced across all components
           Otherwise there is a loophole to access sensitive data


   Application Complexity
       Some development teams #FAIL to recognise where trust
        boundaries are located
What changed?                   …         Building Blocks
   Example: Error Message Information Exposure

    Username   junaid
               ian                       The developers failed to
                                          recognise that this particular
    Password   **********                 web service fell outside one
                                          of the trust boundaries
               Login


        Authentication
            Failed
           <auth><result>Incorrect Password</result></auth>

        Authentication
            Failed
            <auth><result>Account Locked</result></auth>
What stayed the same?
   Fact remains …
       Many didn‟t get security right with Web 1.0 applications
       Needless to say, many still don‟t get security right with
        Web 2.0 applications


   Web 2.0 has allowed for new variations of older
    attacks
       You may have fixed the known issues, but others could
        still exist
What stayed the same?
     Example: Vanilla Cross-site Scripting

               What is your name? junaid               Submit
  Attacker
                                            …
                                            <p>Hello junaid!</p>
                                            …                      Website




             What is your name? <script>alert(‘junaid’)</script>   Submit
Attacker
                     …
                     <p>Hello
                     <script>alert(„junaid‟)</script>!</p>         Website
                     …
What stayed the same?
     Example: Cross-site Scripting (into JavaScript)

           What is your name? <script>alert(‘junaid’)</script>     Submit
Attacker
                   …
                   <script>var
                   name=„scriptalert(‟junaid‟)/script‟;
                   Document.write(name);</script>                  Website
                   …


           What is your name? Blah’;alert(‘junaid’);var tmp=‘      Submit
Attacker
             …
             <script>var name=„Blah‟;alert(‟junaid‟);var tmp=„‟;
             Document.write(name);</script>                        Website
             …
What stayed the same?
   Fact remains …
       Many didn‟t get security right with Web 1.0 applications
       Needless to say, many still don‟t get security right with Web 2.0
        applications


   Web 2.0 has allowed for new variations of older attacks
       You may have fixed the known issues, but others could still
        exist


   Hidden functionality … never remains a secret!
       In Web 1.0, we searched for files hidden within the web
        directory
       In Web 2.0, we investigate web services in order to locate
        hidden methods
What stayed the same?
     Example: Hidden web service methods

                                                                      Web Service
      Attacker

                                                       … contents of myfile.txt
              getFile(“myfile.txt”)
                                                                …


        getFile(“../../../../boot.ini”)                    Access Denied

     Validation routines recognised that the requested file existed outside of the uploads


         getFileByPath(“c:boot.ini”)                … contents of boot.ini …

Though undocumented, the getFileByPath() method existed and could be used to retrie
What can be done?
   As a Development House:
       Security Education / Training
           Industry has failed to teach this during a programmer‟s early
            years (High School and University)
           Developers need to understand where things usually go wrong
       Defensive Coding
           Never trust user input
           Make fewer assumptions
               Don‟t rely on exceptions to occur whenever the application is not
                used correctly
           Source code reviews
       Correct your Systems Development Life Cycle
           Security audits are not to be conducted prior to deployment
           Involve security officers to observe the project as it progresses
What can be done?
   As a Customer:
       You get what you pay for
           Smaller budget » less development time » pressured
            developers » possibly more bugs


       Make security a requirement
           Like most things in life … you won‟t get it unless you ask for it


       Use experienced Development Houses
           If the team has had one of their applications pentested
            before, then they are likely to understand what gets exploited
           If they make use of a common (custom) framework between all
            their projects, then security changes are commonly applied to all
            versions
Security is a journey, not a destination.




   (So remember to buckle up, and enjoy the ride)
Questions ???
junaid@sensepost.com
www.sensepost.com/blog

Mais conteúdo relacionado

Destaque

Denial of services : limiting the threat
Denial of services : limiting the threatDenial of services : limiting the threat
Denial of services : limiting the threatSensePost
 
Threats to machine clouds
Threats to machine cloudsThreats to machine clouds
Threats to machine cloudsSensePost
 
A new look into web application reconnaissance
A new look into web application reconnaissance A new look into web application reconnaissance
A new look into web application reconnaissance SensePost
 
Putting the tea back into cyber terrorism
Putting the tea back into cyber terrorismPutting the tea back into cyber terrorism
Putting the tea back into cyber terrorismSensePost
 
It's all about the timing
It's all about the timingIt's all about the timing
It's all about the timingSensePost
 
Sensepost assessment automation
Sensepost assessment automationSensepost assessment automation
Sensepost assessment automationSensePost
 
Attacks and Defences
Attacks and DefencesAttacks and Defences
Attacks and DefencesSensePost
 
A Brave New World
A Brave New WorldA Brave New World
A Brave New WorldSensePost
 
State of the information security nation
State of the information security nationState of the information security nation
State of the information security nationSensePost
 

Destaque (9)

Denial of services : limiting the threat
Denial of services : limiting the threatDenial of services : limiting the threat
Denial of services : limiting the threat
 
Threats to machine clouds
Threats to machine cloudsThreats to machine clouds
Threats to machine clouds
 
A new look into web application reconnaissance
A new look into web application reconnaissance A new look into web application reconnaissance
A new look into web application reconnaissance
 
Putting the tea back into cyber terrorism
Putting the tea back into cyber terrorismPutting the tea back into cyber terrorism
Putting the tea back into cyber terrorism
 
It's all about the timing
It's all about the timingIt's all about the timing
It's all about the timing
 
Sensepost assessment automation
Sensepost assessment automationSensepost assessment automation
Sensepost assessment automation
 
Attacks and Defences
Attacks and DefencesAttacks and Defences
Attacks and Defences
 
A Brave New World
A Brave New WorldA Brave New World
A Brave New World
 
State of the information security nation
State of the information security nationState of the information security nation
State of the information security nation
 

Semelhante a Web 2.0 Security Woes Explained

(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe(In)Security Implication in the JS Universe
(In)Security Implication in the JS UniverseStefano Di Paola
 
Moving The Web Forward (Chris Wilson WDS 2007 Keynote)
Moving The Web Forward (Chris Wilson WDS 2007 Keynote)Moving The Web Forward (Chris Wilson WDS 2007 Keynote)
Moving The Web Forward (Chris Wilson WDS 2007 Keynote)Chris Wilson
 
Web Security - Introduction
Web Security - IntroductionWeb Security - Introduction
Web Security - IntroductionSQALab
 
Web Security - Introduction v.1.3
Web Security - Introduction v.1.3Web Security - Introduction v.1.3
Web Security - Introduction v.1.3Oles Seheda
 
Pentesting With Web Services in 2012
Pentesting With Web Services in 2012Pentesting With Web Services in 2012
Pentesting With Web Services in 2012Ishan Girdhar
 
Drive By Downloads: How To Avoid Getting a Cap Popped in Your App
Drive By Downloads:  How To Avoid Getting a Cap Popped in Your App Drive By Downloads:  How To Avoid Getting a Cap Popped in Your App
Drive By Downloads: How To Avoid Getting a Cap Popped in Your App Cenzic
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...André Goliath
 
Protecting Your APIs Against Attack & Hijack
Protecting Your APIs Against Attack & Hijack Protecting Your APIs Against Attack & Hijack
Protecting Your APIs Against Attack & Hijack CA API Management
 
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers Tom Eston
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development PresentationTurnToTech
 
Social Enterprise Rises! …and so are the Risks - DefCamp 2012
Social Enterprise Rises! …and so are the Risks - DefCamp 2012Social Enterprise Rises! …and so are the Risks - DefCamp 2012
Social Enterprise Rises! …and so are the Risks - DefCamp 2012DefCamp
 
Web 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes PresentationWeb 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes PresentationJamie Thingelstad
 
Best And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftBest And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftJosh Holmes
 
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"Daniel Bryant
 
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve PooleDevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve PooleJAXLondon_Conference
 

Semelhante a Web 2.0 Security Woes Explained (20)

(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe
 
Moving The Web Forward (Chris Wilson WDS 2007 Keynote)
Moving The Web Forward (Chris Wilson WDS 2007 Keynote)Moving The Web Forward (Chris Wilson WDS 2007 Keynote)
Moving The Web Forward (Chris Wilson WDS 2007 Keynote)
 
Web Security - Introduction
Web Security - IntroductionWeb Security - Introduction
Web Security - Introduction
 
Web Security - Introduction v.1.3
Web Security - Introduction v.1.3Web Security - Introduction v.1.3
Web Security - Introduction v.1.3
 
Pentesting With Web Services in 2012
Pentesting With Web Services in 2012Pentesting With Web Services in 2012
Pentesting With Web Services in 2012
 
Drive By Downloads: How To Avoid Getting a Cap Popped in Your App
Drive By Downloads:  How To Avoid Getting a Cap Popped in Your App Drive By Downloads:  How To Avoid Getting a Cap Popped in Your App
Drive By Downloads: How To Avoid Getting a Cap Popped in Your App
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
 
Protecting Your APIs Against Attack & Hijack
Protecting Your APIs Against Attack & Hijack Protecting Your APIs Against Attack & Hijack
Protecting Your APIs Against Attack & Hijack
 
Starwest 2008
Starwest 2008Starwest 2008
Starwest 2008
 
4.Xss
4.Xss4.Xss
4.Xss
 
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
 
Secure webdev 3.0
Secure webdev 3.0Secure webdev 3.0
Secure webdev 3.0
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
 
Web security 2012
Web security 2012Web security 2012
Web security 2012
 
Social Enterprise Rises! …and so are the Risks - DefCamp 2012
Social Enterprise Rises! …and so are the Risks - DefCamp 2012Social Enterprise Rises! …and so are the Risks - DefCamp 2012
Social Enterprise Rises! …and so are the Risks - DefCamp 2012
 
Ch21 system administration
Ch21 system administration Ch21 system administration
Ch21 system administration
 
Web 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes PresentationWeb 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes Presentation
 
Best And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftBest And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and Microsoft
 
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
 
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve PooleDevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
 

Mais de SensePost

objection - runtime mobile exploration
objection - runtime mobile explorationobjection - runtime mobile exploration
objection - runtime mobile explorationSensePost
 
Vulnerabilities in TN3270 based Application
Vulnerabilities in TN3270 based ApplicationVulnerabilities in TN3270 based Application
Vulnerabilities in TN3270 based ApplicationSensePost
 
Ruler and Liniaal @ Troopers 17
Ruler and Liniaal @ Troopers 17Ruler and Liniaal @ Troopers 17
Ruler and Liniaal @ Troopers 17SensePost
 
Introducing (DET) the Data Exfiltration Toolkit
Introducing (DET) the Data Exfiltration ToolkitIntroducing (DET) the Data Exfiltration Toolkit
Introducing (DET) the Data Exfiltration ToolkitSensePost
 
ZaCon 2015 - Zombie Mana Attacks
ZaCon 2015 - Zombie Mana AttacksZaCon 2015 - Zombie Mana Attacks
ZaCon 2015 - Zombie Mana AttacksSensePost
 
Improvement in Rogue Access Points - SensePost Defcon 22
Improvement in Rogue Access Points - SensePost Defcon 22Improvement in Rogue Access Points - SensePost Defcon 22
Improvement in Rogue Access Points - SensePost Defcon 22SensePost
 
Heartbleed Overview
Heartbleed OverviewHeartbleed Overview
Heartbleed OverviewSensePost
 
Botconf 2013 - DNS-based Botnet C2 Server Detection
Botconf 2013 - DNS-based Botnet C2 Server DetectionBotconf 2013 - DNS-based Botnet C2 Server Detection
Botconf 2013 - DNS-based Botnet C2 Server DetectionSensePost
 
Rat a-tat-tat
Rat a-tat-tatRat a-tat-tat
Rat a-tat-tatSensePost
 
Hacking Z-Wave Home Automation Systems
Hacking Z-Wave Home Automation SystemsHacking Z-Wave Home Automation Systems
Hacking Z-Wave Home Automation SystemsSensePost
 
Offence oriented Defence
Offence oriented DefenceOffence oriented Defence
Offence oriented DefenceSensePost
 
Inside .NET Smart Card Operating System
Inside .NET Smart Card Operating SystemInside .NET Smart Card Operating System
Inside .NET Smart Card Operating SystemSensePost
 
SNMP : Simple Network Mediated (Cisco) Pwnage
SNMP : Simple Network Mediated (Cisco) PwnageSNMP : Simple Network Mediated (Cisco) Pwnage
SNMP : Simple Network Mediated (Cisco) PwnageSensePost
 
Its Ok To Get Hacked
Its Ok To Get HackedIts Ok To Get Hacked
Its Ok To Get HackedSensePost
 
Web Application Hacking
Web Application HackingWeb Application Hacking
Web Application HackingSensePost
 
Major global information security trends - a summary
Major global information security trends - a  summaryMajor global information security trends - a  summary
Major global information security trends - a summarySensePost
 
Corporate Threat Modeling v2
Corporate Threat Modeling v2Corporate Threat Modeling v2
Corporate Threat Modeling v2SensePost
 
OK I'm here, so what's in it for me?
OK I'm here, so what's in it for me?OK I'm here, so what's in it for me?
OK I'm here, so what's in it for me?SensePost
 
Security threats facing SA businessess
Security threats facing SA businessessSecurity threats facing SA businessess
Security threats facing SA businessessSensePost
 
Security in e-commerce
Security in e-commerceSecurity in e-commerce
Security in e-commerceSensePost
 

Mais de SensePost (20)

objection - runtime mobile exploration
objection - runtime mobile explorationobjection - runtime mobile exploration
objection - runtime mobile exploration
 
Vulnerabilities in TN3270 based Application
Vulnerabilities in TN3270 based ApplicationVulnerabilities in TN3270 based Application
Vulnerabilities in TN3270 based Application
 
Ruler and Liniaal @ Troopers 17
Ruler and Liniaal @ Troopers 17Ruler and Liniaal @ Troopers 17
Ruler and Liniaal @ Troopers 17
 
Introducing (DET) the Data Exfiltration Toolkit
Introducing (DET) the Data Exfiltration ToolkitIntroducing (DET) the Data Exfiltration Toolkit
Introducing (DET) the Data Exfiltration Toolkit
 
ZaCon 2015 - Zombie Mana Attacks
ZaCon 2015 - Zombie Mana AttacksZaCon 2015 - Zombie Mana Attacks
ZaCon 2015 - Zombie Mana Attacks
 
Improvement in Rogue Access Points - SensePost Defcon 22
Improvement in Rogue Access Points - SensePost Defcon 22Improvement in Rogue Access Points - SensePost Defcon 22
Improvement in Rogue Access Points - SensePost Defcon 22
 
Heartbleed Overview
Heartbleed OverviewHeartbleed Overview
Heartbleed Overview
 
Botconf 2013 - DNS-based Botnet C2 Server Detection
Botconf 2013 - DNS-based Botnet C2 Server DetectionBotconf 2013 - DNS-based Botnet C2 Server Detection
Botconf 2013 - DNS-based Botnet C2 Server Detection
 
Rat a-tat-tat
Rat a-tat-tatRat a-tat-tat
Rat a-tat-tat
 
Hacking Z-Wave Home Automation Systems
Hacking Z-Wave Home Automation SystemsHacking Z-Wave Home Automation Systems
Hacking Z-Wave Home Automation Systems
 
Offence oriented Defence
Offence oriented DefenceOffence oriented Defence
Offence oriented Defence
 
Inside .NET Smart Card Operating System
Inside .NET Smart Card Operating SystemInside .NET Smart Card Operating System
Inside .NET Smart Card Operating System
 
SNMP : Simple Network Mediated (Cisco) Pwnage
SNMP : Simple Network Mediated (Cisco) PwnageSNMP : Simple Network Mediated (Cisco) Pwnage
SNMP : Simple Network Mediated (Cisco) Pwnage
 
Its Ok To Get Hacked
Its Ok To Get HackedIts Ok To Get Hacked
Its Ok To Get Hacked
 
Web Application Hacking
Web Application HackingWeb Application Hacking
Web Application Hacking
 
Major global information security trends - a summary
Major global information security trends - a  summaryMajor global information security trends - a  summary
Major global information security trends - a summary
 
Corporate Threat Modeling v2
Corporate Threat Modeling v2Corporate Threat Modeling v2
Corporate Threat Modeling v2
 
OK I'm here, so what's in it for me?
OK I'm here, so what's in it for me?OK I'm here, so what's in it for me?
OK I'm here, so what's in it for me?
 
Security threats facing SA businessess
Security threats facing SA businessessSecurity threats facing SA businessess
Security threats facing SA businessess
 
Security in e-commerce
Security in e-commerceSecurity in e-commerce
Security in e-commerce
 

Último

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 

Último (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 

Web 2.0 Security Woes Explained

  • 1. Web 2.0 Security Woes Junaid Loonat SensePost 2010
  • 2. Agenda  Who are we are?  What is this talk about?  Web Application Security & Web 2.0  What changed?  What stayed the same?  What can be done?  Questions
  • 3. Who are we?  SensePost  Formed in 2001  Security assessment services to finance, industrial, mining, telecoms  Written a few papers..  Spoken at a number of conferences (BlackHat, Defcon, …)  Contributed to a handful of books  Done some Training  www.sensepost.com/blog
  • 4. What is this talk about?  Not …  About the relationship between Security and Compliance  Btw, it‟s a love / hate marriage … just like the rest of us  A Developer-Bashing Campaign  Developers are good at making something magical, from chains of code  Promoting internet-less-ness (since the internet is too dangerous)  Some SPers are more paranoid than others though  A technical presentation  So please don‟t run away  Is:  Clear up the misconception that Web 2.0 is securer  Educate on how to limit your risk when deploying a web application
  • 5. Web Application Security  Why target?  Traditional perimeter security had matured  Websites (and web services) are commonly used to share information …  Always on  Easy target
  • 6. Web 2.0  Better user experience  More interaction  More functionality  But what about security?  Things got bad!  … REALLY bad!
  • 7. What changed? … Likely Targets  Likely Targets  1.0  Intruder interacts with website  therefore, the website is the target Website Maintainer Visitors
  • 8. What changed? … Likely Targets  Likely Targets  2.0  Intruder still interacts with website, but  Intruder can interact with other users, through the targeted website  therefore, other website users are targets as well Normal Visitors Website Maintainer Contributing Visitors Visitors
  • 9. The complete compromise of the hosting environment is not a prerequisite to the complete compromise of client systems.
  • 10. What changed? … Page Interaction  Page Interaction  1.0  User makes request … Server replies  User‟s browser loads any additional page resources defined within the server response  2.0  User makes request … Server replies  User interacts with webpage,  Scripts performing their own requests to the web server  Use web services for lookups  Scripts have their own lifetime
  • 11. What changed? … Page Interaction  Example: CAPTCHA Username junaid  1.0  Validation performed Password ********** upon submission  2.0 Code alotocibil  Validation can be Login performed during field population
  • 12. What changed? … Building Blocks  Components  Pages can be comprised of:  Resources (images, stylesheets)  Scripts (JavaScript, Flash)  Web services  Authentication and Authorisation, the Authz, has to be enforced across all components  Otherwise there is a loophole to access sensitive data
  • 13. What changed? … Building Blocks  Example: Uniform Enforcement of the Authz Website Attacker getAllFriendMessages(“junai Access Denied d”) getMessagesByFriend(“junaid”, “ian”) Msg #1 … Msg #n  Similar issue identified on a client‟s system which was built on Drupal
  • 14. Securely developed frameworks do not always lead to securely developed applications (But they do provide a good foundation)
  • 15. What changed? … Building Blocks  Components  Pages can be comprised of:  Resources (images, stylesheets)  Scripts (JavaScript, Flash)  Web services  Authentication has to be enforced across all components  Otherwise there is a loophole to access sensitive data  Application Complexity  Some development teams #FAIL to recognise where trust boundaries are located
  • 16. What changed? … Building Blocks  Example: Error Message Information Exposure Username junaid ian  The developers failed to recognise that this particular Password ********** web service fell outside one of the trust boundaries Login Authentication Failed <auth><result>Incorrect Password</result></auth> Authentication Failed <auth><result>Account Locked</result></auth>
  • 17. What stayed the same?  Fact remains …  Many didn‟t get security right with Web 1.0 applications  Needless to say, many still don‟t get security right with Web 2.0 applications  Web 2.0 has allowed for new variations of older attacks  You may have fixed the known issues, but others could still exist
  • 18. What stayed the same?  Example: Vanilla Cross-site Scripting What is your name? junaid Submit Attacker … <p>Hello junaid!</p> … Website What is your name? <script>alert(‘junaid’)</script> Submit Attacker … <p>Hello <script>alert(„junaid‟)</script>!</p> Website …
  • 19. What stayed the same?  Example: Cross-site Scripting (into JavaScript) What is your name? <script>alert(‘junaid’)</script> Submit Attacker … <script>var name=„scriptalert(‟junaid‟)/script‟; Document.write(name);</script> Website … What is your name? Blah’;alert(‘junaid’);var tmp=‘ Submit Attacker … <script>var name=„Blah‟;alert(‟junaid‟);var tmp=„‟; Document.write(name);</script> Website …
  • 20. What stayed the same?  Fact remains …  Many didn‟t get security right with Web 1.0 applications  Needless to say, many still don‟t get security right with Web 2.0 applications  Web 2.0 has allowed for new variations of older attacks  You may have fixed the known issues, but others could still exist  Hidden functionality … never remains a secret!  In Web 1.0, we searched for files hidden within the web directory  In Web 2.0, we investigate web services in order to locate hidden methods
  • 21. What stayed the same?  Example: Hidden web service methods Web Service Attacker … contents of myfile.txt getFile(“myfile.txt”) … getFile(“../../../../boot.ini”) Access Denied Validation routines recognised that the requested file existed outside of the uploads getFileByPath(“c:boot.ini”) … contents of boot.ini … Though undocumented, the getFileByPath() method existed and could be used to retrie
  • 22. What can be done?  As a Development House:  Security Education / Training  Industry has failed to teach this during a programmer‟s early years (High School and University)  Developers need to understand where things usually go wrong  Defensive Coding  Never trust user input  Make fewer assumptions  Don‟t rely on exceptions to occur whenever the application is not used correctly  Source code reviews  Correct your Systems Development Life Cycle  Security audits are not to be conducted prior to deployment  Involve security officers to observe the project as it progresses
  • 23. What can be done?  As a Customer:  You get what you pay for  Smaller budget » less development time » pressured developers » possibly more bugs  Make security a requirement  Like most things in life … you won‟t get it unless you ask for it  Use experienced Development Houses  If the team has had one of their applications pentested before, then they are likely to understand what gets exploited  If they make use of a common (custom) framework between all their projects, then security changes are commonly applied to all versions
  • 24. Security is a journey, not a destination. (So remember to buckle up, and enjoy the ride)

Notas do Editor

  1. User experience got betterWebsites are more interactiveWebsites have way more functionalitySecurity went down-hill, and things got badREALLY BAD!
  2. Normal websites were composed from a specific set of resourcesA webpage would simply have text and pull in imagesAny additional functionality would be provided by directing the user to make a request to a specific script
  3. Web 1.0Validation was only performed once the user submitted the dataVerification routines were only invoked at this timeWeb 2.0-Validation is sometimes performed concurrently while the user is still populating the required fields-Usually means that validation routines are available as a web serviceWhile the website attempted to use CAPTCHA as a mechanism to keep bots / automated scripts out … but providing the web service, they provided a routine which bots could use to read and check the CAPTCHA alone … without clocking-up authentication failuresIf you think this is not an issue for CAPTCHA, then know that we’ve seen more bad implementations of this regarding username-lookups (thereby allowing intruders to enumerate users on the system)
  4. Normal websites were composed from a specific set of resourcesA webpage would simply have text and pull in imagesAny additional functionality would be provided by directing the user to make a request to a specific script
  5. getAllFriendMessages(“junaid”)-Attempting to get messages for junaid from all friendsYou must be logged inOnly for authenticated usersgetMessagesByFriend(“junaid”, “ian”)-Attempt to get messages for junaid from a specific friend, ian-Results received-authentication not enforced
  6. Normal websites were composed from a specific set of resourcesA webpage would simply have text and pull in imagesAny additional functionality would be provided by directing the user to make a request to a specific script
  7. Normal websites were composed from a specific set of resourcesA webpage would simply have text and pull in imagesAny additional functionality would be provided by directing the user to make a request to a specific script
  8. Normal websites were composed from a specific set of resourcesA webpage would simply have text and pull in imagesAny additional functionality would be provided by directing the user to make a request to a specific script
  9. Normal websites were composed from a specific set of resourcesA webpage would simply have text and pull in imagesAny additional functionality would be provided by directing the user to make a request to a specific script