SlideShare a Scribd company logo
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

More Related Content

Viewers also liked

Denial of services : limiting the threat
Denial of services : limiting the threatDenial of services : limiting the threat
Denial of services : limiting the threat
SensePost
 
Threats to machine clouds
Threats to machine cloudsThreats to machine clouds
Threats to machine clouds
SensePost
 
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 terrorism
SensePost
 
It's all about the timing
It's all about the timingIt's all about the timing
It's all about the timing
SensePost
 
Sensepost assessment automation
Sensepost assessment automationSensepost assessment automation
Sensepost assessment automation
SensePost
 
Attacks and Defences
Attacks and DefencesAttacks and Defences
Attacks and Defences
SensePost
 
A Brave New World
A Brave New WorldA Brave New World
A Brave New World
SensePost
 
State of the information security nation
State of the information security nationState of the information security nation
State of the information security nation
SensePost
 

Viewers also liked (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
 

Similar to Web 2.0 security woes

(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
Stefano 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 - Introduction
SQALab
 
Web Security - Introduction v.1.3
Web Security - Introduction v.1.3Web Security - Introduction v.1.3
Web Security - Introduction v.1.3
Oles Seheda
 
Pentesting With Web Services in 2012
Pentesting With Web Services in 2012Pentesting With Web Services in 2012
Pentesting With Web Services in 2012
Ishan 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
 
Starwest 2008
Starwest 2008Starwest 2008
Starwest 2008
Caleb Sima
 
4.Xss
4.Xss4.Xss
4.Xss
phanleson
 
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
 
Secure webdev 3.0
Secure webdev 3.0Secure webdev 3.0
Secure webdev 3.0
toots marcelo
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
TurnToTech
 
Web security 2012
Web security 2012Web security 2012
Web security 2012
Mohamed Elabnody
 
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
DefCamp
 
Ch21 system administration
Ch21 system administration Ch21 system administration
Ch21 system administration
Raja Waseem Akhtar
 
Web 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes PresentationWeb 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes Presentation
Jamie 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 Microsoft
Josh 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 Poole
JAXLondon_Conference
 

Similar to Web 2.0 security woes (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
 

More from SensePost

objection - runtime mobile exploration
objection - runtime mobile explorationobjection - runtime mobile exploration
objection - runtime mobile exploration
SensePost
 
Vulnerabilities in TN3270 based Application
Vulnerabilities in TN3270 based ApplicationVulnerabilities in TN3270 based Application
Vulnerabilities in TN3270 based Application
SensePost
 
Ruler and Liniaal @ Troopers 17
Ruler and Liniaal @ Troopers 17Ruler and Liniaal @ Troopers 17
Ruler and Liniaal @ Troopers 17
SensePost
 
Introducing (DET) the Data Exfiltration Toolkit
Introducing (DET) the Data Exfiltration ToolkitIntroducing (DET) the Data Exfiltration Toolkit
Introducing (DET) the Data Exfiltration Toolkit
SensePost
 
ZaCon 2015 - Zombie Mana Attacks
ZaCon 2015 - Zombie Mana AttacksZaCon 2015 - Zombie Mana Attacks
ZaCon 2015 - Zombie Mana Attacks
SensePost
 
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
SensePost
 
Heartbleed Overview
Heartbleed OverviewHeartbleed Overview
Heartbleed Overview
SensePost
 
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
SensePost
 
Rat a-tat-tat
Rat a-tat-tatRat a-tat-tat
Rat a-tat-tat
SensePost
 
Hacking Z-Wave Home Automation Systems
Hacking Z-Wave Home Automation SystemsHacking Z-Wave Home Automation Systems
Hacking Z-Wave Home Automation Systems
SensePost
 
Offence oriented Defence
Offence oriented DefenceOffence oriented Defence
Offence oriented Defence
SensePost
 
Inside .NET Smart Card Operating System
Inside .NET Smart Card Operating SystemInside .NET Smart Card Operating System
Inside .NET Smart Card Operating System
SensePost
 
SNMP : Simple Network Mediated (Cisco) Pwnage
SNMP : Simple Network Mediated (Cisco) PwnageSNMP : Simple Network Mediated (Cisco) Pwnage
SNMP : Simple Network Mediated (Cisco) Pwnage
SensePost
 
Its Ok To Get Hacked
Its Ok To Get HackedIts Ok To Get Hacked
Its Ok To Get Hacked
SensePost
 
Web Application Hacking
Web Application HackingWeb Application Hacking
Web Application Hacking
SensePost
 
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
SensePost
 
Corporate Threat Modeling v2
Corporate Threat Modeling v2Corporate Threat Modeling v2
Corporate Threat Modeling v2
SensePost
 
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 businessess
SensePost
 
Security in e-commerce
Security in e-commerceSecurity in e-commerce
Security in e-commerce
SensePost
 

More from 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
 

Recently uploaded

Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 

Recently uploaded (20)

Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
Artificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic WarfareArtificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic Warfare
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 

Web 2.0 security woes

  • 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)

Editor's Notes

  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