SlideShare a Scribd company logo
1 of 15
Towards a More Secure, Reliable,
and Performant Web:
Tools /Approaches to Help




           September 22, 2010

               Stephen Donner
                 WebQA Lead

                Michael Coates
         Web-Applications Security Guru



        Mozilla Corporation
Overview
  • Types of Attacks / Vulnerabilities (just a few)
  • Why Use Tools / Benefits?
  • Web-App Performance
  • Load-Testing Sites
  • Security / Fuzzing
  • Link Checkers
  • Gotchas / Pitfalls
  • Recommendations / Best Practices
9/22/2010                2                       Mozilla WebQA
Types of Attacks / Vulnerabilities (just a few)

•   CSRF - Cross-Site Request Forgery
     • “An attack which forces an end user to With a little help ofactions engineering (like sending a
       which he/she is currently authenticated.
                                                execute unwanted
                                                                    social
                                                                           on a web application in

            link via email/chat), an attacker may force the users of a web application to execute actions
            of the attacker's choosing.” [1]

•   XSS - Cross-Site Scripting
     • “...malicious scripts areoccur when an attacker usesbenign and trusted to send malicious
        scripting (XSS) attacks
                                injected into the otherwise
                                                            a web application
                                                                               web sites. Cross-site

            code, generally in the form of a browser side script, to a different end user [...] the malicious
            script can access any cookies, session tokens, or other sensitive information retained by
            your browser and used with that site.” [2]


    Sources:

     •      [1] http://www.owasp.org/index.php/CSRF
     •      [2] http://www.owasp.org/index.php/Cross-
            site_Scripting_(XSS)


9/22/2010                                             3                                                   Mozilla WebQA
Types of Attacks / Vulnerabilities (just a few)

•    SQL Injection - http://www.owasp.org/index.php/SQL_Injection

      •     “injection of a SQL query via the input data from the client to the
            application. A successful SQL injection exploit can read sensitive data
            from the database, modify database data (Insert/Update/Delete), execute
            administration operations on the database (such as shutdown the
            DBMS), recover the content of a given file present on the DBMS file
            system and in some cases issue commands to the operating system.” [3]

•    ...and many more:

      •     OWASP list of attacks

      •     OWASP list of vulnerabilities


     Sources:

      •     [3] http://www.owasp.org/index.php/


9/22/2010                                   4                                   Mozilla WebQA
Why Use Tools / Benefits?
  • Saves time
  • Increases/augments manual coverage
  • Ensures a certain set of tests run every
       time
  • (Eliminates the human-failure component)
  • Can help educate the tester


9/22/2010               5                      Mozilla WebQA
Web-App Performance Sites / Add-ons

  •    Performance-Testing Sites:
      •     BrowserMob - http://browsermob.com
      •     Webpagetest - http://www.webpagetest.org/

  •    Firefox Add-ons:
      •     Firebug - http://getfirebug.com/
      •     YSlow! - http://developer.yahoo.com/yslow/




9/22/2010                       6                        Mozilla WebQA
Load-Testing Sites

     •      Load Impact - http://loadimpact.com/
     •      Load Labs - http://loadlabs.com/
     •      Gomez - http://www.gomez.com




9/22/2010                        7                 Mozilla WebQA
Load / Performance-Testing Tools


      •     Siege - http://www.joedog.org/index/siege-home

            •   siege -c50 -r150 -i http://input.stage.mozilla.com

      •     ab (Apache Benchmark) - http://httpd.apache.org/docs/2.0/programs/ab.html

            •   ab -c 150 -n 600 http://preview.addons.mozilla.org:81/en-US/
                firefox/collection/enkei (run on Khan)

      •     JMeter - http://jakarta.apache.org/jmeter/

            •   Benchmarking/performance/stress-testing

      •     logreplay - http://github.com/oremj/logreplay

            •   Takes Apache access logs and, well, replays them :-)


      •     All but JMeter used for AMO: https://wiki.mozilla.org/User:Clouserw/AMO/loadtest




9/22/2010                                            8                                         Mozilla WebQA
Security / Fuzzing
  •    PowerFuzzer:

      •     http://www.powerfuzzer.com/

  •    XSS Me:

      •     http://labs.securitycompass.com/index.php/exploit-me/xss-me/

  •    SQL Inject Me:

      •     http://labs.securitycompass.com/index.php/exploit-me/sql-inject-me/

  •    TamperData:

      •     https://addons.mozilla.org/en-US/firefox/addon/966/

  •    Acunetix (XSS only):

      •     http://www.acunetix.com/cross-site-scripting/scanner.htm




9/22/2010                                 9                                       Mozilla WebQA
Link Checkers

  • Xenu
      •     http://home.snafu.de/tilman/xenulink.html

  • W3C
      •     http://validator.w3.org/checklink/




9/22/2010                       10                      Mozilla WebQA
Gotchas / Pitfalls
  • Over-reliance on automated tools/websites
  • “One test tool fits all” fallacy
  • Not knowing the tool and its limits /
       strengths
  • Once is (usually) never enough
  • Not knowing enough about your system /
       infrastructure



9/22/2010               11                   Mozilla WebQA
Recommendations / Guidelines
  •    Balance your testing: augment manual with
       automation
  •    Pick the best tool for the task
  •    Read up on tools (from multiple sources) before
       and during use
  •    Run them often: in the background of a VM while
       manually testing
  •    Read up on/ask about your framework; look for
       published vulnerabilities (Drupal, anyone?)



9/22/2010                     12                         Mozilla WebQA
References
•   OWASP Top 10

      •     http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project

•   Security-coding guidelines for Developers:

      •     https://wiki.mozilla.org/WebAppSec/Secure_Coding_Guidelines

•   Security-coding checklist for QA:

      •     https://wiki.mozilla.org/WebAppSec/Secure_Coding_QA_Checklist

•   Web Test Tools:

      •     http://www.softwareqatest.com/qatweb1.html

•   Security Test Tools:

      •     http://www.softwareqatest.com/qatweb1.html#SECURITY




9/22/2010                               13                                  Mozilla WebQA
Thank You!
•   WebQA homepage:
      •     https://wiki.mozilla.org/QA/Execution/Web_Testing
•   Get Involved:
      •     http://quality.mozilla.org/docs/webqa/get-involved/
•   Contact Us:
      •     IRC:
            •   #mozwebqa on irc.mozilla.org
      •     Mailing List:
            •   mozwebqa@mozilla.org


9/22/2010                        14                           Mozilla WebQA
Questions?




9/22/2010       15       Mozilla WebQA

More Related Content

What's hot

Html5 security
Html5 securityHtml5 security
Html5 securityKrishna T
 
Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012Roberto Suggi Liverani
 
Attacking Drupal
Attacking DrupalAttacking Drupal
Attacking DrupalGreg Foss
 
Hack Proof Your Drupal Site
Hack Proof Your Drupal SiteHack Proof Your Drupal Site
Hack Proof Your Drupal SiteNaveen Valecha
 
BeEF: The Browser Exploitation Framework
BeEF: The Browser Exploitation FrameworkBeEF: The Browser Exploitation Framework
BeEF: The Browser Exploitation Frameworkawiasecretary
 
MITM Attacks on HTTPS: Another Perspective
MITM Attacks on HTTPS: Another PerspectiveMITM Attacks on HTTPS: Another Perspective
MITM Attacks on HTTPS: Another PerspectiveGreenD0g
 
Drupal security
Drupal securityDrupal security
Drupal securityTechday7
 
[OWASP Poland Day] A study of Electron security
[OWASP Poland Day] A study of Electron security[OWASP Poland Day] A study of Electron security
[OWASP Poland Day] A study of Electron securityOWASP
 
Introducing OWASP OWTF Workshop BruCon 2012
Introducing OWASP OWTF Workshop BruCon 2012Introducing OWASP OWTF Workshop BruCon 2012
Introducing OWASP OWTF Workshop BruCon 2012Abraham Aranguren
 
Case Study of Django: Web Frameworks that are Secure by Default
Case Study of Django: Web Frameworks that are Secure by DefaultCase Study of Django: Web Frameworks that are Secure by Default
Case Study of Django: Web Frameworks that are Secure by DefaultMohammed ALDOUB
 
Spring, web service, web server, eclipse by a introduction sandesh sharma
Spring, web service, web server, eclipse by a introduction sandesh sharmaSpring, web service, web server, eclipse by a introduction sandesh sharma
Spring, web service, web server, eclipse by a introduction sandesh sharmaSandesh Sharma
 
Evading anti virus detection in downloader scripts - zusy
Evading anti virus detection in downloader scripts - zusyEvading anti virus detection in downloader scripts - zusy
Evading anti virus detection in downloader scripts - zusyINCIDE
 
BeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-OrruBeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-OrruMichele Orru
 
WordPress Security and Best Practices
WordPress Security and Best PracticesWordPress Security and Best Practices
WordPress Security and Best PracticesRobert Vidal
 

What's hot (19)

Html5 security
Html5 securityHtml5 security
Html5 security
 
Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012Window Shopping Browser - Bug Hunting in 2012
Window Shopping Browser - Bug Hunting in 2012
 
Attacking Drupal
Attacking DrupalAttacking Drupal
Attacking Drupal
 
Hack Proof Your Drupal Site
Hack Proof Your Drupal SiteHack Proof Your Drupal Site
Hack Proof Your Drupal Site
 
BeEF: The Browser Exploitation Framework
BeEF: The Browser Exploitation FrameworkBeEF: The Browser Exploitation Framework
BeEF: The Browser Exploitation Framework
 
MITM Attacks on HTTPS: Another Perspective
MITM Attacks on HTTPS: Another PerspectiveMITM Attacks on HTTPS: Another Perspective
MITM Attacks on HTTPS: Another Perspective
 
Drupal security
Drupal securityDrupal security
Drupal security
 
Browser Security
Browser SecurityBrowser Security
Browser Security
 
[OWASP Poland Day] A study of Electron security
[OWASP Poland Day] A study of Electron security[OWASP Poland Day] A study of Electron security
[OWASP Poland Day] A study of Electron security
 
Is Drupal secure?
Is Drupal secure?Is Drupal secure?
Is Drupal secure?
 
Augmented reality in your web proxy
Augmented reality in your web proxyAugmented reality in your web proxy
Augmented reality in your web proxy
 
AppSec & OWASP Top 10 Primer
AppSec & OWASP Top 10 PrimerAppSec & OWASP Top 10 Primer
AppSec & OWASP Top 10 Primer
 
Introducing OWASP OWTF Workshop BruCon 2012
Introducing OWASP OWTF Workshop BruCon 2012Introducing OWASP OWTF Workshop BruCon 2012
Introducing OWASP OWTF Workshop BruCon 2012
 
Case Study of Django: Web Frameworks that are Secure by Default
Case Study of Django: Web Frameworks that are Secure by DefaultCase Study of Django: Web Frameworks that are Secure by Default
Case Study of Django: Web Frameworks that are Secure by Default
 
TS-5358
TS-5358TS-5358
TS-5358
 
Spring, web service, web server, eclipse by a introduction sandesh sharma
Spring, web service, web server, eclipse by a introduction sandesh sharmaSpring, web service, web server, eclipse by a introduction sandesh sharma
Spring, web service, web server, eclipse by a introduction sandesh sharma
 
Evading anti virus detection in downloader scripts - zusy
Evading anti virus detection in downloader scripts - zusyEvading anti virus detection in downloader scripts - zusy
Evading anti virus detection in downloader scripts - zusy
 
BeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-OrruBeEF_EUSecWest-2012_Michele-Orru
BeEF_EUSecWest-2012_Michele-Orru
 
WordPress Security and Best Practices
WordPress Security and Best PracticesWordPress Security and Best Practices
WordPress Security and Best Practices
 

Viewers also liked

Mozilla selenium and_hudson
Mozilla selenium and_hudsonMozilla selenium and_hudson
Mozilla selenium and_hudsonretornam
 
Continuous Integration with Mozmill
Continuous Integration with MozmillContinuous Integration with Mozmill
Continuous Integration with MozmillHenrik Skupin
 
Mozilla: Automated Mozmill Tests
Mozilla: Automated Mozmill TestsMozilla: Automated Mozmill Tests
Mozilla: Automated Mozmill TestsHenrik Skupin
 
How WebQA Reponds to, Plans For, and Executes on, New Projects
How WebQA Reponds to, Plans For, and Executes on, New ProjectsHow WebQA Reponds to, Plans For, and Executes on, New Projects
How WebQA Reponds to, Plans For, and Executes on, New ProjectsStephen Donner
 
"How Mozilla Uses Selenium"
"How Mozilla Uses Selenium""How Mozilla Uses Selenium"
"How Mozilla Uses Selenium"Stephen Donner
 
Using a CSS Framework
Using a CSS FrameworkUsing a CSS Framework
Using a CSS Frameworkeby
 

Viewers also liked (7)

Mozilla selenium and_hudson
Mozilla selenium and_hudsonMozilla selenium and_hudson
Mozilla selenium and_hudson
 
Continuous Integration with Mozmill
Continuous Integration with MozmillContinuous Integration with Mozmill
Continuous Integration with Mozmill
 
Mozilla: Automated Mozmill Tests
Mozilla: Automated Mozmill TestsMozilla: Automated Mozmill Tests
Mozilla: Automated Mozmill Tests
 
How WebQA Reponds to, Plans For, and Executes on, New Projects
How WebQA Reponds to, Plans For, and Executes on, New ProjectsHow WebQA Reponds to, Plans For, and Executes on, New Projects
How WebQA Reponds to, Plans For, and Executes on, New Projects
 
"How Mozilla Uses Selenium"
"How Mozilla Uses Selenium""How Mozilla Uses Selenium"
"How Mozilla Uses Selenium"
 
Using a CSS Framework
Using a CSS FrameworkUsing a CSS Framework
Using a CSS Framework
 
Mozmill Crowd
Mozmill CrowdMozmill Crowd
Mozmill Crowd
 

Similar to Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to Help

The OWASP Zed Attack Proxy
The OWASP Zed Attack ProxyThe OWASP Zed Attack Proxy
The OWASP Zed Attack ProxyAditya Gupta
 
Metasploitation part-1 (murtuja)
Metasploitation part-1 (murtuja)Metasploitation part-1 (murtuja)
Metasploitation part-1 (murtuja)ClubHack
 
Do you lose sleep at night?
Do you lose sleep at night?Do you lose sleep at night?
Do you lose sleep at night?Nathan Van Gheem
 
1,2,3 … Testing : Is this thing on(line)? with Mike Martin
1,2,3 … Testing : Is this thing on(line)? with Mike Martin1,2,3 … Testing : Is this thing on(line)? with Mike Martin
1,2,3 … Testing : Is this thing on(line)? with Mike MartinNETUserGroupBern
 
Hacking WebApps for fun and profit : how to approach a target?
Hacking WebApps for fun and profit : how to approach a target?Hacking WebApps for fun and profit : how to approach a target?
Hacking WebApps for fun and profit : how to approach a target?Yassine Aboukir
 
OWASP 2014 AppSec EU ZAP Advanced Features
OWASP 2014 AppSec EU ZAP Advanced FeaturesOWASP 2014 AppSec EU ZAP Advanced Features
OWASP 2014 AppSec EU ZAP Advanced FeaturesSimon Bennetts
 
Mihai tataran developing modern web applications
Mihai tataran   developing modern web applicationsMihai tataran   developing modern web applications
Mihai tataran developing modern web applicationsITCamp
 
Django (Web Applications that are Secure by Default)
Django �(Web Applications that are Secure by Default�)Django �(Web Applications that are Secure by Default�)
Django (Web Applications that are Secure by Default)Kishor Kumar
 
Developing Micro-Services for Cloud using Java
Developing Micro-Services for Cloud using JavaDeveloping Micro-Services for Cloud using Java
Developing Micro-Services for Cloud using JavaWSO2
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Denim Group
 
Protecting Against Web App Attacks
Protecting Against Web App AttacksProtecting Against Web App Attacks
Protecting Against Web App AttacksAlert Logic
 
VoxxedDays Luxembourg - Abuse web browsers for fun & profits - Dominique Righ...
VoxxedDays Luxembourg - Abuse web browsers for fun & profits - Dominique Righ...VoxxedDays Luxembourg - Abuse web browsers for fun & profits - Dominique Righ...
VoxxedDays Luxembourg - Abuse web browsers for fun & profits - Dominique Righ...YaJUG
 
How do JavaScript frameworks impact the security of applications?
How do JavaScript frameworks impact the security of applications?How do JavaScript frameworks impact the security of applications?
How do JavaScript frameworks impact the security of applications?Ksenia Peguero
 
AppSec Tel Aviv - OWASP Top 10 For JavaScript Developers
AppSec Tel Aviv - OWASP Top 10 For JavaScript Developers AppSec Tel Aviv - OWASP Top 10 For JavaScript Developers
AppSec Tel Aviv - OWASP Top 10 For JavaScript Developers Lewis Ardern
 
Protecting Against Web Attacks
Protecting Against Web AttacksProtecting Against Web Attacks
Protecting Against Web AttacksAlert Logic
 
BSides Manchester 2014 ZAP Advanced Features
BSides Manchester 2014 ZAP Advanced FeaturesBSides Manchester 2014 ZAP Advanced Features
BSides Manchester 2014 ZAP Advanced FeaturesSimon Bennetts
 
Web & Cloud Security in the real world
Web & Cloud Security in the real worldWeb & Cloud Security in the real world
Web & Cloud Security in the real worldMadhu Akula
 

Similar to Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to Help (20)

The OWASP Zed Attack Proxy
The OWASP Zed Attack ProxyThe OWASP Zed Attack Proxy
The OWASP Zed Attack Proxy
 
Metasploitation part-1 (murtuja)
Metasploitation part-1 (murtuja)Metasploitation part-1 (murtuja)
Metasploitation part-1 (murtuja)
 
Do you lose sleep at night?
Do you lose sleep at night?Do you lose sleep at night?
Do you lose sleep at night?
 
1,2,3 … Testing : Is this thing on(line)? with Mike Martin
1,2,3 … Testing : Is this thing on(line)? with Mike Martin1,2,3 … Testing : Is this thing on(line)? with Mike Martin
1,2,3 … Testing : Is this thing on(line)? with Mike Martin
 
Hacking WebApps for fun and profit : how to approach a target?
Hacking WebApps for fun and profit : how to approach a target?Hacking WebApps for fun and profit : how to approach a target?
Hacking WebApps for fun and profit : how to approach a target?
 
OWASP 2014 AppSec EU ZAP Advanced Features
OWASP 2014 AppSec EU ZAP Advanced FeaturesOWASP 2014 AppSec EU ZAP Advanced Features
OWASP 2014 AppSec EU ZAP Advanced Features
 
Mihai tataran developing modern web applications
Mihai tataran   developing modern web applicationsMihai tataran   developing modern web applications
Mihai tataran developing modern web applications
 
Django (Web Applications that are Secure by Default)
Django �(Web Applications that are Secure by Default�)Django �(Web Applications that are Secure by Default�)
Django (Web Applications that are Secure by Default)
 
Developing Micro-Services for Cloud using Java
Developing Micro-Services for Cloud using JavaDeveloping Micro-Services for Cloud using Java
Developing Micro-Services for Cloud using Java
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
 
Protecting Against Web App Attacks
Protecting Against Web App AttacksProtecting Against Web App Attacks
Protecting Against Web App Attacks
 
VoxxedDays Luxembourg - Abuse web browsers for fun & profits - Dominique Righ...
VoxxedDays Luxembourg - Abuse web browsers for fun & profits - Dominique Righ...VoxxedDays Luxembourg - Abuse web browsers for fun & profits - Dominique Righ...
VoxxedDays Luxembourg - Abuse web browsers for fun & profits - Dominique Righ...
 
Web hackingtools cf-summit2014
Web hackingtools cf-summit2014Web hackingtools cf-summit2014
Web hackingtools cf-summit2014
 
Owasp top 10 2017
Owasp top 10 2017Owasp top 10 2017
Owasp top 10 2017
 
How do JavaScript frameworks impact the security of applications?
How do JavaScript frameworks impact the security of applications?How do JavaScript frameworks impact the security of applications?
How do JavaScript frameworks impact the security of applications?
 
AppSec Tel Aviv - OWASP Top 10 For JavaScript Developers
AppSec Tel Aviv - OWASP Top 10 For JavaScript Developers AppSec Tel Aviv - OWASP Top 10 For JavaScript Developers
AppSec Tel Aviv - OWASP Top 10 For JavaScript Developers
 
Web security
Web securityWeb security
Web security
 
Protecting Against Web Attacks
Protecting Against Web AttacksProtecting Against Web Attacks
Protecting Against Web Attacks
 
BSides Manchester 2014 ZAP Advanced Features
BSides Manchester 2014 ZAP Advanced FeaturesBSides Manchester 2014 ZAP Advanced Features
BSides Manchester 2014 ZAP Advanced Features
 
Web & Cloud Security in the real world
Web & Cloud Security in the real worldWeb & Cloud Security in the real world
Web & Cloud Security in the real world
 

More from Stephen Donner

Firefox and web performance testing, all hands sf 2018
Firefox and web performance testing, all hands sf 2018Firefox and web performance testing, all hands sf 2018
Firefox and web performance testing, all hands sf 2018Stephen Donner
 
Web-Performance Testing @ Mozilla: present...and future?
Web-Performance Testing @ Mozilla: present...and future?Web-Performance Testing @ Mozilla: present...and future?
Web-Performance Testing @ Mozilla: present...and future?Stephen Donner
 
Mozilla Web QA: Who, What, Why, How
Mozilla Web QA: Who, What, Why, HowMozilla Web QA: Who, What, Why, How
Mozilla Web QA: Who, What, Why, HowStephen Donner
 
Firefox OS real-phone automation lab: goals, challenges, and successes
Firefox OS real-phone automation lab: goals, challenges, and successesFirefox OS real-phone automation lab: goals, challenges, and successes
Firefox OS real-phone automation lab: goals, challenges, and successesStephen Donner
 
B2G QA-automation lab presentation
B2G QA-automation lab presentationB2G QA-automation lab presentation
B2G QA-automation lab presentationStephen Donner
 
Selenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessSelenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessStephen Donner
 
Web QA Gaia/B2G/Firefox OS front-end automation
Web QA Gaia/B2G/Firefox OS front-end automationWeb QA Gaia/B2G/Firefox OS front-end automation
Web QA Gaia/B2G/Firefox OS front-end automationStephen Donner
 
Selenium lightning-talk
Selenium lightning-talkSelenium lightning-talk
Selenium lightning-talkStephen Donner
 
Testing Mozilla Web Properties
Testing Mozilla Web PropertiesTesting Mozilla Web Properties
Testing Mozilla Web PropertiesStephen Donner
 

More from Stephen Donner (10)

Firefox and web performance testing, all hands sf 2018
Firefox and web performance testing, all hands sf 2018Firefox and web performance testing, all hands sf 2018
Firefox and web performance testing, all hands sf 2018
 
Web-Performance Testing @ Mozilla: present...and future?
Web-Performance Testing @ Mozilla: present...and future?Web-Performance Testing @ Mozilla: present...and future?
Web-Performance Testing @ Mozilla: present...and future?
 
Mozilla Web QA: Who, What, Why, How
Mozilla Web QA: Who, What, Why, HowMozilla Web QA: Who, What, Why, How
Mozilla Web QA: Who, What, Why, How
 
Firefox OS real-phone automation lab: goals, challenges, and successes
Firefox OS real-phone automation lab: goals, challenges, and successesFirefox OS real-phone automation lab: goals, challenges, and successes
Firefox OS real-phone automation lab: goals, challenges, and successes
 
B2G QA-automation lab presentation
B2G QA-automation lab presentationB2G QA-automation lab presentation
B2G QA-automation lab presentation
 
Selenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our SuccessSelenium at Mozilla: An Essential Element to our Success
Selenium at Mozilla: An Essential Element to our Success
 
Web QA Gaia/B2G/Firefox OS front-end automation
Web QA Gaia/B2G/Firefox OS front-end automationWeb QA Gaia/B2G/Firefox OS front-end automation
Web QA Gaia/B2G/Firefox OS front-end automation
 
Continuous deployment
Continuous deploymentContinuous deployment
Continuous deployment
 
Selenium lightning-talk
Selenium lightning-talkSelenium lightning-talk
Selenium lightning-talk
 
Testing Mozilla Web Properties
Testing Mozilla Web PropertiesTesting Mozilla Web Properties
Testing Mozilla Web Properties
 

Recently uploaded

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
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
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
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
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
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
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
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
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 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
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to Help

  • 1. Towards a More Secure, Reliable, and Performant Web: Tools /Approaches to Help September 22, 2010 Stephen Donner WebQA Lead Michael Coates Web-Applications Security Guru Mozilla Corporation
  • 2. Overview • Types of Attacks / Vulnerabilities (just a few) • Why Use Tools / Benefits? • Web-App Performance • Load-Testing Sites • Security / Fuzzing • Link Checkers • Gotchas / Pitfalls • Recommendations / Best Practices 9/22/2010 2 Mozilla WebQA
  • 3. Types of Attacks / Vulnerabilities (just a few) • CSRF - Cross-Site Request Forgery • “An attack which forces an end user to With a little help ofactions engineering (like sending a which he/she is currently authenticated. execute unwanted social on a web application in link via email/chat), an attacker may force the users of a web application to execute actions of the attacker's choosing.” [1] • XSS - Cross-Site Scripting • “...malicious scripts areoccur when an attacker usesbenign and trusted to send malicious scripting (XSS) attacks injected into the otherwise a web application web sites. Cross-site code, generally in the form of a browser side script, to a different end user [...] the malicious script can access any cookies, session tokens, or other sensitive information retained by your browser and used with that site.” [2] Sources: • [1] http://www.owasp.org/index.php/CSRF • [2] http://www.owasp.org/index.php/Cross- site_Scripting_(XSS) 9/22/2010 3 Mozilla WebQA
  • 4. Types of Attacks / Vulnerabilities (just a few) • SQL Injection - http://www.owasp.org/index.php/SQL_Injection • “injection of a SQL query via the input data from the client to the application. A successful SQL injection exploit can read sensitive data from the database, modify database data (Insert/Update/Delete), execute administration operations on the database (such as shutdown the DBMS), recover the content of a given file present on the DBMS file system and in some cases issue commands to the operating system.” [3] • ...and many more: • OWASP list of attacks • OWASP list of vulnerabilities Sources: • [3] http://www.owasp.org/index.php/ 9/22/2010 4 Mozilla WebQA
  • 5. Why Use Tools / Benefits? • Saves time • Increases/augments manual coverage • Ensures a certain set of tests run every time • (Eliminates the human-failure component) • Can help educate the tester 9/22/2010 5 Mozilla WebQA
  • 6. Web-App Performance Sites / Add-ons • Performance-Testing Sites: • BrowserMob - http://browsermob.com • Webpagetest - http://www.webpagetest.org/ • Firefox Add-ons: • Firebug - http://getfirebug.com/ • YSlow! - http://developer.yahoo.com/yslow/ 9/22/2010 6 Mozilla WebQA
  • 7. Load-Testing Sites • Load Impact - http://loadimpact.com/ • Load Labs - http://loadlabs.com/ • Gomez - http://www.gomez.com 9/22/2010 7 Mozilla WebQA
  • 8. Load / Performance-Testing Tools • Siege - http://www.joedog.org/index/siege-home • siege -c50 -r150 -i http://input.stage.mozilla.com • ab (Apache Benchmark) - http://httpd.apache.org/docs/2.0/programs/ab.html • ab -c 150 -n 600 http://preview.addons.mozilla.org:81/en-US/ firefox/collection/enkei (run on Khan) • JMeter - http://jakarta.apache.org/jmeter/ • Benchmarking/performance/stress-testing • logreplay - http://github.com/oremj/logreplay • Takes Apache access logs and, well, replays them :-) • All but JMeter used for AMO: https://wiki.mozilla.org/User:Clouserw/AMO/loadtest 9/22/2010 8 Mozilla WebQA
  • 9. Security / Fuzzing • PowerFuzzer: • http://www.powerfuzzer.com/ • XSS Me: • http://labs.securitycompass.com/index.php/exploit-me/xss-me/ • SQL Inject Me: • http://labs.securitycompass.com/index.php/exploit-me/sql-inject-me/ • TamperData: • https://addons.mozilla.org/en-US/firefox/addon/966/ • Acunetix (XSS only): • http://www.acunetix.com/cross-site-scripting/scanner.htm 9/22/2010 9 Mozilla WebQA
  • 10. Link Checkers • Xenu • http://home.snafu.de/tilman/xenulink.html • W3C • http://validator.w3.org/checklink/ 9/22/2010 10 Mozilla WebQA
  • 11. Gotchas / Pitfalls • Over-reliance on automated tools/websites • “One test tool fits all” fallacy • Not knowing the tool and its limits / strengths • Once is (usually) never enough • Not knowing enough about your system / infrastructure 9/22/2010 11 Mozilla WebQA
  • 12. Recommendations / Guidelines • Balance your testing: augment manual with automation • Pick the best tool for the task • Read up on tools (from multiple sources) before and during use • Run them often: in the background of a VM while manually testing • Read up on/ask about your framework; look for published vulnerabilities (Drupal, anyone?) 9/22/2010 12 Mozilla WebQA
  • 13. References • OWASP Top 10 • http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project • Security-coding guidelines for Developers: • https://wiki.mozilla.org/WebAppSec/Secure_Coding_Guidelines • Security-coding checklist for QA: • https://wiki.mozilla.org/WebAppSec/Secure_Coding_QA_Checklist • Web Test Tools: • http://www.softwareqatest.com/qatweb1.html • Security Test Tools: • http://www.softwareqatest.com/qatweb1.html#SECURITY 9/22/2010 13 Mozilla WebQA
  • 14. Thank You! • WebQA homepage: • https://wiki.mozilla.org/QA/Execution/Web_Testing • Get Involved: • http://quality.mozilla.org/docs/webqa/get-involved/ • Contact Us: • IRC: • #mozwebqa on irc.mozilla.org • Mailing List: • mozwebqa@mozilla.org 9/22/2010 14 Mozilla WebQA
  • 15. Questions? 9/22/2010 15 Mozilla WebQA

Editor's Notes