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

BeEF: The Browser Exploitation Framework
BeEF: The Browser Exploitation FrameworkBeEF: The Browser Exploitation Framework
BeEF: The Browser Exploitation Framework
awiasecretary
 
[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
OWASP
 
AppSec & OWASP Top 10 Primer
AppSec & OWASP Top 10 PrimerAppSec & OWASP Top 10 Primer
AppSec & OWASP Top 10 Primer
ThreatReel Podcast
 

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_hudson
retornam
 
Continuous Integration with Mozmill
Continuous Integration with MozmillContinuous Integration with Mozmill
Continuous Integration with Mozmill
Henrik 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 Projects
Stephen Donner
 

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

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
 

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

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
Stephen 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

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 

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