SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Breaking the Bank
How to really test/annoy financial institutions
Who the hell am I?


!      One of the original OWASP members from back in the day.
!      Started the OWASP Testing Guide.
!      Security old fart.
What the hell am I on about?

!      Banking applications and frameworks are a pleasure to test.
!      They often have many vulnerabilities lurking beneath the
       surface.
!      Not many testers know how to wrangle the frameworks to get
       what they want.
!      It makes you look great compared to other testers.
Quick background lesson


!        Banking frameworks aren’t as confusing as you’d think.

!        Often only a handful of frameworks in use globally.
!        JAVA and .NET only (no-one really uses PHP, admit it!)
!        SAP/IBM/FLEXCUBE (Oracle Financial Services) are the popular choice.
!        Developed off-shore and customised in-house by dev teams onsite.
Overall security

!      Most modern banking frameworks are relatively secure.
!      Don’t expect Grossmann style attacks (a.k.a the net is falling,
       aaaaaaaah).
!      They have large development teams and sexier budgets to fix
       issues.
!      They’ve been tested heavily by many of the best for years.
So shall I give up now?


!      Have faith. Most big development teams still have little, or none,
       knowledge about secure coding.
!      Off-shore development is 5 years behind the west.
!      There are loads of vulnerabilities still to be found.
Information gathering

!        You need to have all the information before any testing starts.
!        Understand regulatory requirements for market/application.
!        Understand what Banking Standards are required for app.
!        Obtain functional spec for all applications/frameworks to be
         tested.
The goods


!        Business logic flaws.
!        Compliancy and financial regulation flaws.
!        Bypassing validation routines.
!        Outwitting the developer.
Business logic flaws

!      Most frameworks have logic flaws introduced during the
       development phase.
!      Logic flaws require you to fully understand the application and
       function.
!      They could be anywhere in the application, from authentication
       to validation.
Business logic flaws are:


!      Legitimate requests with legitimate values.
!      The ability to abuse a function to perform a task it was not
       meant to perform.
!      The ability to bypass, or circumvent, the intended flow of an
       application.
Authentication business logic flaw


!      Banking app has 2-stage authentication:
      !    first page prompts for userID/pass and passcode (4-6 digit)
      !    second page asks for 3 random chars of memorable word.
!      This is ripe for a logic flaw attack.
Authentication business logic flaw

!      Enter a valid username and password combo and press enter, the
       2nd phase always asks for the same 3 random chars. (good
       practice).
!      Enter a valid username and incorrect password and press enter
       (don’t add any memorable info from drop-down). The app asks for
       different chars from the memorable password.
!      We can now determine when a valid password combo has been
       entered by the behavior of the 2nd-phase page.
Business logic flaws

!         Use and Abuse cases are your friend:
      !        how can an attacker subvert this function?
      !        what are the maximum amounts allowed?
      !        can the amount be a negative amount?
      !        can you manipulate source and destination accounts?
Compliancy and financial regulation flaws


!      Banking apps are strictly controlled by various financial laws.
!      These laws protect the consumer from being ripped off.
!      Testing for these flaws requires knowledge of how .net/JAVA
       handles monetary values.
!      NaN/Infinity and Exponential Notation are your friend.
Rounding errors

!      Float and double data types are based on IEEE754.
!      This standard acknowledges shortcomings relating to rounding
       errors.
!      System.out.println(3.00 - 1.10);
      !    result is actually 1.89999999999999999
Bypassing validation routines

!      The use of Nan/Infinity and exponential notation is key to bypassing
       validation routines.
!      App has regulatory requirement to only allow a transaction under 10,000 per
       day. Validation checks input amount for <6 characters. Anything more is
       denied.
!      What about 9E1 or 0.99E+6 (all valid)

!      Test all listed reserved words in numeric fields!
Currency manipulation

!      Currency functions are easy to manipulate:
      !    often they obtain the value at the start of the function.
      !    change the value to see if it’s accepted. also change currency
           value.
      !    bypass currency restrictions using exponential notation.
Outwitting the developer

!      Most developers dabble with security but often don’t fully
       understand implications.
!      Retail banking applications have functions to allow customers to
       contact bank staff. Often these allow uploads (strictly
       controlled).
!      I’ve yet to see any upload function checking content. This is ripe
       for abuse.
Malicious uploads

!      Create malicious PDF. (use Metasploit, any Adobe vuln is
       useful).
!      Log into banking app and contact administrators, attach PDF and
       send.
!      Sit and wait for admin to launch PDF (which has been cleared by
       the framework)
!      Control admin workstation.
Conclusion


!        Get as much information about the app/platform as possible.
!        Be methodical.
!        Think ‘how can this be subverted?’
!        Dare for more.
Breaking the bank : how to really test/annoy financial institutions

Weitere ähnliche Inhalte

Ähnlich wie Breaking the bank : how to really test/annoy financial institutions

Security engineering 101 when good design & security work together
Security engineering 101  when good design & security work togetherSecurity engineering 101  when good design & security work together
Security engineering 101 when good design & security work togetherWendy Knox Everette
 
Pro-actively Managing Web Application Abuse - Mykonos Software
Pro-actively Managing Web Application Abuse - Mykonos SoftwarePro-actively Managing Web Application Abuse - Mykonos Software
Pro-actively Managing Web Application Abuse - Mykonos SoftwareMykonos Software
 
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...Denim Group
 
Fixing security by fixing software development
Fixing security by fixing software developmentFixing security by fixing software development
Fixing security by fixing software developmentNick Galbreath
 
Web Application Penetration Testing Introduction
Web Application Penetration Testing IntroductionWeb Application Penetration Testing Introduction
Web Application Penetration Testing Introductiongbud7
 
Data Security in Fintech App Development: How PHP Can Help
Data Security in Fintech App Development: How PHP Can HelpData Security in Fintech App Development: How PHP Can Help
Data Security in Fintech App Development: How PHP Can HelpNarola Infotech
 
Evaluating Web App, Mobile App, and API Security - Matt Cohen
Evaluating Web App, Mobile App, and API Security - Matt CohenEvaluating Web App, Mobile App, and API Security - Matt Cohen
Evaluating Web App, Mobile App, and API Security - Matt CohenInman News
 
Building an AppSec Team Extended Cut
Building an AppSec Team Extended CutBuilding an AppSec Team Extended Cut
Building an AppSec Team Extended CutMike Spaulding
 
Mike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security ProgramMike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security Programcentralohioissa
 
Survey Presentation About Application Security
Survey Presentation About Application SecuritySurvey Presentation About Application Security
Survey Presentation About Application SecurityNicholas Davis
 
Understanding Cross-site Request Forgery
Understanding Cross-site Request ForgeryUnderstanding Cross-site Request Forgery
Understanding Cross-site Request ForgeryDaniel Miessler
 
UX Design for Mobile Payment Experiences
UX Design for Mobile Payment ExperiencesUX Design for Mobile Payment Experiences
UX Design for Mobile Payment ExperiencesSkip Allums
 
Brighttalk what should we be monitoring - final
Brighttalk   what should we be monitoring - finalBrighttalk   what should we be monitoring - final
Brighttalk what should we be monitoring - finalAndrew White
 
01 fundamentals of testing
01 fundamentals of testing01 fundamentals of testing
01 fundamentals of testingIlham Wahyudi
 
Xamariners - BDD + Mobile
Xamariners - BDD + MobileXamariners - BDD + Mobile
Xamariners - BDD + MobileXamariners
 
Developing Secure Applications and Defending Against Common Attacks
Developing Secure Applications and Defending Against Common AttacksDeveloping Secure Applications and Defending Against Common Attacks
Developing Secure Applications and Defending Against Common AttacksPayPalX Developer Network
 
Java Application Development Vulnerabilities
Java Application Development VulnerabilitiesJava Application Development Vulnerabilities
Java Application Development VulnerabilitiesNarola Infotech
 

Ähnlich wie Breaking the bank : how to really test/annoy financial institutions (20)

Security engineering 101 when good design & security work together
Security engineering 101  when good design & security work togetherSecurity engineering 101  when good design & security work together
Security engineering 101 when good design & security work together
 
Pro-actively Managing Web Application Abuse - Mykonos Software
Pro-actively Managing Web Application Abuse - Mykonos SoftwarePro-actively Managing Web Application Abuse - Mykonos Software
Pro-actively Managing Web Application Abuse - Mykonos Software
 
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
 
Fixing security by fixing software development
Fixing security by fixing software developmentFixing security by fixing software development
Fixing security by fixing software development
 
Web Application Penetration Testing Introduction
Web Application Penetration Testing IntroductionWeb Application Penetration Testing Introduction
Web Application Penetration Testing Introduction
 
Data Security in Fintech App Development: How PHP Can Help
Data Security in Fintech App Development: How PHP Can HelpData Security in Fintech App Development: How PHP Can Help
Data Security in Fintech App Development: How PHP Can Help
 
Evaluating Web App, Mobile App, and API Security - Matt Cohen
Evaluating Web App, Mobile App, and API Security - Matt CohenEvaluating Web App, Mobile App, and API Security - Matt Cohen
Evaluating Web App, Mobile App, and API Security - Matt Cohen
 
Building an AppSec Team Extended Cut
Building an AppSec Team Extended CutBuilding an AppSec Team Extended Cut
Building an AppSec Team Extended Cut
 
Mike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security ProgramMike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security Program
 
Survey Presentation About Application Security
Survey Presentation About Application SecuritySurvey Presentation About Application Security
Survey Presentation About Application Security
 
Moving To SaaS
Moving To SaaSMoving To SaaS
Moving To SaaS
 
Understanding Cross-site Request Forgery
Understanding Cross-site Request ForgeryUnderstanding Cross-site Request Forgery
Understanding Cross-site Request Forgery
 
UX Design for Mobile Payment Experiences
UX Design for Mobile Payment ExperiencesUX Design for Mobile Payment Experiences
UX Design for Mobile Payment Experiences
 
Brighttalk what should we be monitoring - final
Brighttalk   what should we be monitoring - finalBrighttalk   what should we be monitoring - final
Brighttalk what should we be monitoring - final
 
01 fundamentals of testing
01 fundamentals of testing01 fundamentals of testing
01 fundamentals of testing
 
Xamariners - BDD + Mobile
Xamariners - BDD + MobileXamariners - BDD + Mobile
Xamariners - BDD + Mobile
 
Developing Secure Applications and Defending Against Common Attacks
Developing Secure Applications and Defending Against Common AttacksDeveloping Secure Applications and Defending Against Common Attacks
Developing Secure Applications and Defending Against Common Attacks
 
Java Application Development Vulnerabilities
Java Application Development VulnerabilitiesJava Application Development Vulnerabilities
Java Application Development Vulnerabilities
 
Toronto mule meetup #5
Toronto mule meetup #5Toronto mule meetup #5
Toronto mule meetup #5
 
SOFWARE QUALITY, INTRODUCTION
SOFWARE QUALITY, INTRODUCTIONSOFWARE QUALITY, INTRODUCTION
SOFWARE QUALITY, INTRODUCTION
 

Mehr von SensePost

objection - runtime mobile exploration
objection - runtime mobile explorationobjection - runtime mobile exploration
objection - runtime mobile explorationSensePost
 
Vulnerabilities in TN3270 based Application
Vulnerabilities in TN3270 based ApplicationVulnerabilities in TN3270 based Application
Vulnerabilities in TN3270 based ApplicationSensePost
 
Ruler and Liniaal @ Troopers 17
Ruler and Liniaal @ Troopers 17Ruler and Liniaal @ Troopers 17
Ruler and Liniaal @ Troopers 17SensePost
 
Introducing (DET) the Data Exfiltration Toolkit
Introducing (DET) the Data Exfiltration ToolkitIntroducing (DET) the Data Exfiltration Toolkit
Introducing (DET) the Data Exfiltration ToolkitSensePost
 
ZaCon 2015 - Zombie Mana Attacks
ZaCon 2015 - Zombie Mana AttacksZaCon 2015 - Zombie Mana Attacks
ZaCon 2015 - Zombie Mana AttacksSensePost
 
Improvement in Rogue Access Points - SensePost Defcon 22
Improvement in Rogue Access Points - SensePost Defcon 22Improvement in Rogue Access Points - SensePost Defcon 22
Improvement in Rogue Access Points - SensePost Defcon 22SensePost
 
Heartbleed Overview
Heartbleed OverviewHeartbleed Overview
Heartbleed OverviewSensePost
 
Botconf 2013 - DNS-based Botnet C2 Server Detection
Botconf 2013 - DNS-based Botnet C2 Server DetectionBotconf 2013 - DNS-based Botnet C2 Server Detection
Botconf 2013 - DNS-based Botnet C2 Server DetectionSensePost
 
Rat a-tat-tat
Rat a-tat-tatRat a-tat-tat
Rat a-tat-tatSensePost
 
Hacking Z-Wave Home Automation Systems
Hacking Z-Wave Home Automation SystemsHacking Z-Wave Home Automation Systems
Hacking Z-Wave Home Automation SystemsSensePost
 
Offence oriented Defence
Offence oriented DefenceOffence oriented Defence
Offence oriented DefenceSensePost
 
Threats to machine clouds
Threats to machine cloudsThreats to machine clouds
Threats to machine cloudsSensePost
 
Inside .NET Smart Card Operating System
Inside .NET Smart Card Operating SystemInside .NET Smart Card Operating System
Inside .NET Smart Card Operating SystemSensePost
 
SNMP : Simple Network Mediated (Cisco) Pwnage
SNMP : Simple Network Mediated (Cisco) PwnageSNMP : Simple Network Mediated (Cisco) Pwnage
SNMP : Simple Network Mediated (Cisco) PwnageSensePost
 
Its Ok To Get Hacked
Its Ok To Get HackedIts Ok To Get Hacked
Its Ok To Get HackedSensePost
 
Web Application Hacking
Web Application HackingWeb Application Hacking
Web Application HackingSensePost
 
Putting the tea back into cyber terrorism
Putting the tea back into cyber terrorismPutting the tea back into cyber terrorism
Putting the tea back into cyber terrorismSensePost
 
Major global information security trends - a summary
Major global information security trends - a  summaryMajor global information security trends - a  summary
Major global information security trends - a summarySensePost
 
Attacks and Defences
Attacks and DefencesAttacks and Defences
Attacks and DefencesSensePost
 
Corporate Threat Modeling v2
Corporate Threat Modeling v2Corporate Threat Modeling v2
Corporate Threat Modeling v2SensePost
 

Mehr von 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
 
Threats to machine clouds
Threats to machine cloudsThreats to machine clouds
Threats to machine clouds
 
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
 
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
 
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
 
Attacks and Defences
Attacks and DefencesAttacks and Defences
Attacks and Defences
 
Corporate Threat Modeling v2
Corporate Threat Modeling v2Corporate Threat Modeling v2
Corporate Threat Modeling v2
 

Kürzlich hochgeladen

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Kürzlich hochgeladen (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

Breaking the bank : how to really test/annoy financial institutions

  • 1. Breaking the Bank How to really test/annoy financial institutions
  • 2. Who the hell am I? !   One of the original OWASP members from back in the day. !   Started the OWASP Testing Guide. !   Security old fart.
  • 3. What the hell am I on about? !   Banking applications and frameworks are a pleasure to test. !   They often have many vulnerabilities lurking beneath the surface. !   Not many testers know how to wrangle the frameworks to get what they want. !   It makes you look great compared to other testers.
  • 4.
  • 5. Quick background lesson !   Banking frameworks aren’t as confusing as you’d think. !   Often only a handful of frameworks in use globally. !   JAVA and .NET only (no-one really uses PHP, admit it!) !   SAP/IBM/FLEXCUBE (Oracle Financial Services) are the popular choice. !   Developed off-shore and customised in-house by dev teams onsite.
  • 6.
  • 7. Overall security !   Most modern banking frameworks are relatively secure. !   Don’t expect Grossmann style attacks (a.k.a the net is falling, aaaaaaaah). !   They have large development teams and sexier budgets to fix issues. !   They’ve been tested heavily by many of the best for years.
  • 8. So shall I give up now? !   Have faith. Most big development teams still have little, or none, knowledge about secure coding. !   Off-shore development is 5 years behind the west. !   There are loads of vulnerabilities still to be found.
  • 9. Information gathering !   You need to have all the information before any testing starts. !   Understand regulatory requirements for market/application. !   Understand what Banking Standards are required for app. !   Obtain functional spec for all applications/frameworks to be tested.
  • 10. The goods !   Business logic flaws. !   Compliancy and financial regulation flaws. !   Bypassing validation routines. !   Outwitting the developer.
  • 11. Business logic flaws !   Most frameworks have logic flaws introduced during the development phase. !   Logic flaws require you to fully understand the application and function. !   They could be anywhere in the application, from authentication to validation.
  • 12. Business logic flaws are: !   Legitimate requests with legitimate values. !   The ability to abuse a function to perform a task it was not meant to perform. !   The ability to bypass, or circumvent, the intended flow of an application.
  • 13.
  • 14. Authentication business logic flaw !   Banking app has 2-stage authentication: !  first page prompts for userID/pass and passcode (4-6 digit) !  second page asks for 3 random chars of memorable word. !   This is ripe for a logic flaw attack.
  • 15. Authentication business logic flaw !   Enter a valid username and password combo and press enter, the 2nd phase always asks for the same 3 random chars. (good practice). !   Enter a valid username and incorrect password and press enter (don’t add any memorable info from drop-down). The app asks for different chars from the memorable password. !   We can now determine when a valid password combo has been entered by the behavior of the 2nd-phase page.
  • 16. Business logic flaws !   Use and Abuse cases are your friend: !   how can an attacker subvert this function? !   what are the maximum amounts allowed? !   can the amount be a negative amount? !   can you manipulate source and destination accounts?
  • 17. Compliancy and financial regulation flaws !   Banking apps are strictly controlled by various financial laws. !   These laws protect the consumer from being ripped off. !   Testing for these flaws requires knowledge of how .net/JAVA handles monetary values. !   NaN/Infinity and Exponential Notation are your friend.
  • 18. Rounding errors !   Float and double data types are based on IEEE754. !   This standard acknowledges shortcomings relating to rounding errors. !   System.out.println(3.00 - 1.10); !  result is actually 1.89999999999999999
  • 19. Bypassing validation routines !   The use of Nan/Infinity and exponential notation is key to bypassing validation routines. !   App has regulatory requirement to only allow a transaction under 10,000 per day. Validation checks input amount for <6 characters. Anything more is denied. !   What about 9E1 or 0.99E+6 (all valid) !   Test all listed reserved words in numeric fields!
  • 20.
  • 21. Currency manipulation !   Currency functions are easy to manipulate: !  often they obtain the value at the start of the function. !  change the value to see if it’s accepted. also change currency value. !  bypass currency restrictions using exponential notation.
  • 22. Outwitting the developer !   Most developers dabble with security but often don’t fully understand implications. !   Retail banking applications have functions to allow customers to contact bank staff. Often these allow uploads (strictly controlled). !   I’ve yet to see any upload function checking content. This is ripe for abuse.
  • 23. Malicious uploads !   Create malicious PDF. (use Metasploit, any Adobe vuln is useful). !   Log into banking app and contact administrators, attach PDF and send. !   Sit and wait for admin to launch PDF (which has been cleared by the framework) !   Control admin workstation.
  • 24. Conclusion !   Get as much information about the app/platform as possible. !   Be methodical. !   Think ‘how can this be subverted?’ !   Dare for more.