SlideShare a Scribd company logo
Lotus Domino Security White and black box testing Ari Elias-Bachrach Casey Pike
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Why is This Necessary? In January 2009, More Than Half of Fortune Global 100 Now Using Lotus Notes/Domino* http://www-03.ibm.com/press/us/en/pressrelease/26480.wss
Why is This Necessary? Domino is….. Unique Web App DB
Why is This Necessary? Automated scanners seem to have a hard time with Domino apps Many “normal” attacks don’t work (SQL injection) There are many other attacks which will work Not a lot of good information out there
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Introduction to Domino Domino stores data in custom database files with the .nsf extension http://server/database.nsf/DominoObj?Action   View Frameset Form Navigator Agent Document Page
Introduction to Domino Special Identifiers begin with $ and can return any domino object http://server/database.nsf/$SpecialIdentifier http://server/database.nsf/$help?openhelp
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Domino Commands View Openview – opens the view ReadViewEntries – access the view data in XML format $first – returns the first document in the view $searchform?opensearchform – opens a search form from which the view can be searched http://server/database.nsf/myview?Openview
Domino Commands http://server/database.nsf/myform?OpenForm   Form OpenForm – opens the form ReadForm – displays the form without its editable fields. CreateDocument – sent using an HTTP post. Domino will create a document with the contents of the HTTP post packet.
Domino Commands http://server/db.nsf/myView/doc1?EditDocument   Document EditDcoument SaveDocument – sent as an HTTP post. Domino will update the document with the contents of the post. DeleteDocument OpenDocument $file/name – returns doc’s attachment with the name “name”
Domino Commands http://server/db.nsf/myAgent?OpenAgent   Navigator OpenNavigator Agent OpenAgent Page OpenPage Frameset Openframeset
Domino Commands Special Items ?Redirect – allows redirection to another database based on it’s ID. ?openDatabse /$about?OpenAbout – opens the “about this database” document /$help?openhelp – opens the help document /$icon?openicon – opens the icon for the database /$defaultview – returns the default view (if there is one). /$defaultform – returns the default form (if there is one). /$defaultnav – returns the default navigator ?openpreferences – opens the preferences setting.  http://server/database.nsf/$about?OpenAbout
Domino Commands Chaining http://host/db.nsf/$defaultview/$first?editdocument
Pause for Questions
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Blackbox Navigate the app - use the commands just discussed Check all defaults/special identifiers Try to edit docs (permissions checking) Find (and use) search forms Enumerate views (more on this later)
Blackbox Views, Forms, and Agents all have a notesID. Assignment begins with 0x11A and increments by 4 each time http://host/database.nsf/11A   http://host/database.nsf/11E http://host/database.nsf/122   http://host/database.nsf/126   http://host/database.nsf/12A
Blackbox Enumerate views Occurrences of view names in help files: 135 - By Category 36 - View A 31 - All 26 - Main 23 - Categorized 22 - Main View 13 - All Documents 6 - Topics
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Whitebox Levels of Access in Domino Server Database Elements Documents Fields
Whitebox Server access – Ask your administrator Server Doc Internet Site Doc Configuration Doc Person Docs – Internet passwords are secure
Whitebox
Whitebox Database access – ACLs for Web Access Editor – Create and edit docs Author – Create and edit own docs Reader – Read docs Depositor – Create docs No access – Be careful public documents
Whitebox ACL Mistakes Even though Anonymous is set to No Access, it is possible to overlook Read Public documents which will give access. Common App – Mail File* Do not overlook any setting
Whitebox ACL Mistakes -Default- is any user who has authenticated.  If allowed access, make sure to audit the Domino Directory for test accounts or LDAP if directory assistance is used.
Whitebox
Whitebox Elements access – Check them ALL Forms, Views, Navigators, etc.  - If they are not used, hide them from the web. Security Tab – Set who can access the element based on ACL Allow public access
Whitebox
Whitebox Restrict more in-depth audits for elements that are exposed to the web Views, Forms, Pages… Ask to see config or profile documents (make sure they are protected) Review All Agents – Can be called from the web to run code.  Can write to DB2, SQL, FTP, basically do anything.
Whitebox Check permissions on all design elements Check actions within design elements
Whitebox Field Access Depending on how the application is written, fields on public forms can be hidden.
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Default Files Names.nsf – The most important database Log.nsf – Shows events on server WebAdmin.nsf – A web version of admin client Help Files – Should never be left on the server When upgrade a server, it could re-add databases you thought you deleted!!!
Where to Start? Talk to the Administrator – Learn about the different documents (server, config, internet site) of the NAB Learn the default ACL and how it is audited. Talk to the Developers – Its impossible to go through every element and to look at field security.  Establish security practices
Where to Start? Get a good tool Team Studio – Build Manager to write checks before a application is refreshed into production.  Preventive Security! DominoScan II – NGS Software AppDetectivePro – Application Security Inc. PowerTools and ScanEz – Admin Tools
Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
Architecture End users directly enter DB commands  Cannot run arbitrary DB commands Who sets up ACLs in your org?
Questions? Comments? Insults? [email_address] Twitter: @bachrach44 www.angelsofsecurity.com [email_address]   http://www.angelsofsecurity.com/domino.html

More Related Content

PPT
Domino security
PPT
Web Servers, Browsers, Server - Browser Interaction, Web Surfing
PPTX
Intro to Coldfusion
PDF
High performance website
PPT
Ch10 Hacking Web Servers http://ouo.io/2Bt7X
PPTX
Google chrome extension
PPT
Dot netnuke
PPTX
Web browser architecture
Domino security
Web Servers, Browsers, Server - Browser Interaction, Web Surfing
Intro to Coldfusion
High performance website
Ch10 Hacking Web Servers http://ouo.io/2Bt7X
Google chrome extension
Dot netnuke
Web browser architecture

What's hot (20)

PPT
Bri forum advanced web interface customizations
PPT
Application Security
PPT
Advanced Web Interface Customizations - BriForum 2010
PPTX
HTML5 Local Storage
PPT
PPTX
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
PDF
HTML5 and Google Chrome - DevFest09
PDF
Codeigniter
PPTX
Ethical hacking Chapter 10 - Exploiting Web Servers - Eric Vanderburg
PDF
WebApp / SPA @ AllFacebook Developer Conference
PPTX
ASP.NET Lecture 1
PDF
WebApp #3 : API
PPTX
IBM Connect 2016 - Break out of the Box
PPTX
Local storage
PPT
Concepts of Asp.Net
PDF
5. HTML5
PDF
Architecture of the Web browser
PDF
Spring In Alfresco Ecm
PDF
Server-side Java Programming
PDF
Building Chrome Extensions
Bri forum advanced web interface customizations
Application Security
Advanced Web Interface Customizations - BriForum 2010
HTML5 Local Storage
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
HTML5 and Google Chrome - DevFest09
Codeigniter
Ethical hacking Chapter 10 - Exploiting Web Servers - Eric Vanderburg
WebApp / SPA @ AllFacebook Developer Conference
ASP.NET Lecture 1
WebApp #3 : API
IBM Connect 2016 - Break out of the Box
Local storage
Concepts of Asp.Net
5. HTML5
Architecture of the Web browser
Spring In Alfresco Ecm
Server-side Java Programming
Building Chrome Extensions
Ad

Similar to Domino testing presentation (20)

PPT
Domino testing presentation
PPT
wcm domino
PDF
Preventing serversickness
PDF
Maximizing application performance
PDF
60 Admin Tips
ODP
BP108 Admin for the Developer -- Build and Secure Your Own IBM Lotus Domino S...
PDF
IBM Connect 2014 SPOT114: No Compromise on Compliance: Streamline Administrat...
PPT
SHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes Data
PPT
Show104 buried treasure
PDF
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
PDF
Tip from IBM Connect 2014: New security features in IBM Domino 8.5.x-9.x
PDF
Domino Adminblast
PDF
AD303 - Extreme Makeover: IBM Lotus Domino Application Edition
PDF
Dev buchan everything you need to know about agent design
PDF
App.Next - The Future of Domino Application Development
PPT
AD303: Extreme Makeover – IBM® Lotus® Domino® Application Edition
PDF
Engage 2020 - Best Practices for analyzing Domino Applications
PDF
Domino Server Health - Monitoring and Managing
POTX
Next Generation Monitoring for IBM Domino, Traveler, IMSMO, Verse
PDF
21 domino mohan-1
Domino testing presentation
wcm domino
Preventing serversickness
Maximizing application performance
60 Admin Tips
BP108 Admin for the Developer -- Build and Secure Your Own IBM Lotus Domino S...
IBM Connect 2014 SPOT114: No Compromise on Compliance: Streamline Administrat...
SHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes Data
Show104 buried treasure
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
Tip from IBM Connect 2014: New security features in IBM Domino 8.5.x-9.x
Domino Adminblast
AD303 - Extreme Makeover: IBM Lotus Domino Application Edition
Dev buchan everything you need to know about agent design
App.Next - The Future of Domino Application Development
AD303: Extreme Makeover – IBM® Lotus® Domino® Application Edition
Engage 2020 - Best Practices for analyzing Domino Applications
Domino Server Health - Monitoring and Managing
Next Generation Monitoring for IBM Domino, Traveler, IMSMO, Verse
21 domino mohan-1
Ad

More from dominion (20)

PDF
What is a itil and how does it relate to your collaborative environment uklug
PDF
iOS enterprise
PDF
cloud session uklug
ODP
Uklug 2011 administrator development synergy
PDF
Uklug 2011 client management
PDF
JavaScript blast
PDF
Populating your domino directory or any domino database with tivoli directory...
ODP
Uklug2011 Know your Notes
ODP
Quickr
ODP
Taking themes to the next level
ODP
Supersize me
ODP
Aussie outback
PDF
Learning to run
PPT
Implementing xpages extension library
PDF
Abb presentation uklug
PDF
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
PDF
Composite applications tutorial
PDF
Error handling in XPages
PPT
leverage dxl
PDF
Ajax in domino web-anwendungen - der nächste schritt
What is a itil and how does it relate to your collaborative environment uklug
iOS enterprise
cloud session uklug
Uklug 2011 administrator development synergy
Uklug 2011 client management
JavaScript blast
Populating your domino directory or any domino database with tivoli directory...
Uklug2011 Know your Notes
Quickr
Taking themes to the next level
Supersize me
Aussie outback
Learning to run
Implementing xpages extension library
Abb presentation uklug
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Composite applications tutorial
Error handling in XPages
leverage dxl
Ajax in domino web-anwendungen - der nächste schritt

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPT
Teaching material agriculture food technology
PPTX
Big Data Technologies - Introduction.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
cuic standard and advanced reporting.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
Reach Out and Touch Someone: Haptics and Empathic Computing
Teaching material agriculture food technology
Big Data Technologies - Introduction.pptx
The AUB Centre for AI in Media Proposal.docx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
MYSQL Presentation for SQL database connectivity
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Weekly Chronicles - August'25 Week I
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Network Security Unit 5.pdf for BCA BBA.
20250228 LYD VKU AI Blended-Learning.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
MIND Revenue Release Quarter 2 2025 Press Release
cuic standard and advanced reporting.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
“AI and Expert System Decision Support & Business Intelligence Systems”

Domino testing presentation

  • 1. Lotus Domino Security White and black box testing Ari Elias-Bachrach Casey Pike
  • 2. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 3. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 4. Why is This Necessary? In January 2009, More Than Half of Fortune Global 100 Now Using Lotus Notes/Domino* http://www-03.ibm.com/press/us/en/pressrelease/26480.wss
  • 5. Why is This Necessary? Domino is….. Unique Web App DB
  • 6. Why is This Necessary? Automated scanners seem to have a hard time with Domino apps Many “normal” attacks don’t work (SQL injection) There are many other attacks which will work Not a lot of good information out there
  • 7. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 8. Introduction to Domino Domino stores data in custom database files with the .nsf extension http://server/database.nsf/DominoObj?Action View Frameset Form Navigator Agent Document Page
  • 9. Introduction to Domino Special Identifiers begin with $ and can return any domino object http://server/database.nsf/$SpecialIdentifier http://server/database.nsf/$help?openhelp
  • 10. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 11. Domino Commands View Openview – opens the view ReadViewEntries – access the view data in XML format $first – returns the first document in the view $searchform?opensearchform – opens a search form from which the view can be searched http://server/database.nsf/myview?Openview
  • 12. Domino Commands http://server/database.nsf/myform?OpenForm Form OpenForm – opens the form ReadForm – displays the form without its editable fields. CreateDocument – sent using an HTTP post. Domino will create a document with the contents of the HTTP post packet.
  • 13. Domino Commands http://server/db.nsf/myView/doc1?EditDocument Document EditDcoument SaveDocument – sent as an HTTP post. Domino will update the document with the contents of the post. DeleteDocument OpenDocument $file/name – returns doc’s attachment with the name “name”
  • 14. Domino Commands http://server/db.nsf/myAgent?OpenAgent Navigator OpenNavigator Agent OpenAgent Page OpenPage Frameset Openframeset
  • 15. Domino Commands Special Items ?Redirect – allows redirection to another database based on it’s ID. ?openDatabse /$about?OpenAbout – opens the “about this database” document /$help?openhelp – opens the help document /$icon?openicon – opens the icon for the database /$defaultview – returns the default view (if there is one). /$defaultform – returns the default form (if there is one). /$defaultnav – returns the default navigator ?openpreferences – opens the preferences setting. http://server/database.nsf/$about?OpenAbout
  • 16. Domino Commands Chaining http://host/db.nsf/$defaultview/$first?editdocument
  • 18. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 19. Blackbox Navigate the app - use the commands just discussed Check all defaults/special identifiers Try to edit docs (permissions checking) Find (and use) search forms Enumerate views (more on this later)
  • 20. Blackbox Views, Forms, and Agents all have a notesID. Assignment begins with 0x11A and increments by 4 each time http://host/database.nsf/11A http://host/database.nsf/11E http://host/database.nsf/122 http://host/database.nsf/126 http://host/database.nsf/12A
  • 21. Blackbox Enumerate views Occurrences of view names in help files: 135 - By Category 36 - View A 31 - All 26 - Main 23 - Categorized 22 - Main View 13 - All Documents 6 - Topics
  • 22. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 23. Whitebox Levels of Access in Domino Server Database Elements Documents Fields
  • 24. Whitebox Server access – Ask your administrator Server Doc Internet Site Doc Configuration Doc Person Docs – Internet passwords are secure
  • 26. Whitebox Database access – ACLs for Web Access Editor – Create and edit docs Author – Create and edit own docs Reader – Read docs Depositor – Create docs No access – Be careful public documents
  • 27. Whitebox ACL Mistakes Even though Anonymous is set to No Access, it is possible to overlook Read Public documents which will give access. Common App – Mail File* Do not overlook any setting
  • 28. Whitebox ACL Mistakes -Default- is any user who has authenticated. If allowed access, make sure to audit the Domino Directory for test accounts or LDAP if directory assistance is used.
  • 30. Whitebox Elements access – Check them ALL Forms, Views, Navigators, etc. - If they are not used, hide them from the web. Security Tab – Set who can access the element based on ACL Allow public access
  • 32. Whitebox Restrict more in-depth audits for elements that are exposed to the web Views, Forms, Pages… Ask to see config or profile documents (make sure they are protected) Review All Agents – Can be called from the web to run code. Can write to DB2, SQL, FTP, basically do anything.
  • 33. Whitebox Check permissions on all design elements Check actions within design elements
  • 34. Whitebox Field Access Depending on how the application is written, fields on public forms can be hidden.
  • 35. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 36. Default Files Names.nsf – The most important database Log.nsf – Shows events on server WebAdmin.nsf – A web version of admin client Help Files – Should never be left on the server When upgrade a server, it could re-add databases you thought you deleted!!!
  • 37. Where to Start? Talk to the Administrator – Learn about the different documents (server, config, internet site) of the NAB Learn the default ACL and how it is audited. Talk to the Developers – Its impossible to go through every element and to look at field security. Establish security practices
  • 38. Where to Start? Get a good tool Team Studio – Build Manager to write checks before a application is refreshed into production. Preventive Security! DominoScan II – NGS Software AppDetectivePro – Application Security Inc. PowerTools and ScanEz – Admin Tools
  • 39. Outline Why is This Necessary? Introduction to Domino Domino Commands Blackbox Whitebox Default Files Architecture
  • 40. Architecture End users directly enter DB commands Cannot run arbitrary DB commands Who sets up ACLs in your org?
  • 41. Questions? Comments? Insults? [email_address] Twitter: @bachrach44 www.angelsofsecurity.com [email_address] http://www.angelsofsecurity.com/domino.html

Editor's Notes

  • #2: Ari is the security guy Casey is the Domino guy
  • #5: 374,000 hits from filetype:nsf – these are domino databases directly accessible from the web
  • #6: Is Domino a web server, app server, or database server? The answer is it’s all three.
  • #9: That’s right – you access the domino DB directly through the URL. This is probably the right place to talk about what each of these items is
  • #21: This all assumed you have permissions….
  • #34: This slide needs to be finished - Casey
  • #37: Obviously you should check for all of these on a black or white box test