SlideShare a Scribd company logo
Welcome to Myanmar Cyber Conference
Hunting Security Bugs in Modern Web
Applications
Presented by
Toe Khaing Oo
What is it exactly?
● Modern Web Application Technologies
● Security vulnerabilities of modern web
application
● How attackers do
● Recognizing the risks
● Bug Hunting for fun and profits
Who am I
● Student
● Self-taught Hacker
● Freelance Web Developer
● Instructor at Cyber Wings
● Bug Bounty Hunter at BugCrowd Inc
(https://bugcrowd.com/toekhaing)
● Contributor at OWASP Myanmar
● Organizer at Myanmar Cyber Conference
Modern Web Application Technology : Overview
● Client – Server Architecture
● MVC Architecture
● RESTful API
● Users
● Storage
● Caching
Popular Web Framework
● CodeIgniter (PHP)
● Laravel (PHP)
● Rails (Ruby)
● Django (Python)
● Angular (JavaScript)
● React (JavaScript)
● ExpressJS (JavaScript)
Popular CMS
What is Web Application Security?
● Information Security deals with Security of web
application
● Protecting Information by Preventing, Detecting
and Responding to attacks
● Making safe for users on the web
Bug Hunting 101
● Finding vulnerabilities which are not easy to find
● Exploiting
● Determining the risks and impact
● Examining Proof of Concept
● Reporting
Benefits
● Better Profile
● Hall Of Fame,
Responsible
Disclosure,
Acknowledgments
● Swags (T-Shirts,
Stickers, etc)
● Bug Bounty ($$$)
Bug Hunting Methodologies
● Mapping the Application
● Analyzing the Application
● Testing Authentication Mechanism
● Testing the Session Management Mechanism
● Testing client-side controls
● Testing for Input-Based Vulnerabilities
● Testing Access Controls
● Testing for Logic Flaws
Mapping the Target
● Explore Visible Content (view source code)
● Check Public Resources (CSS, JS, SWF)
● Discover Hidden Content
● Brute force directories
● Tools
CMS Map (https://github.com/Dionach/CMSmap)
What Web (https://github.com/urbanadventurer/WhatWeb)
Nikto (https://github.com/sullo/nikto)
Analyzing the Application
● Identify the Technologies Used
● Identify its functions
● Identify Data Entry
● Map attack surface
OWASP Top Ten Vulnerabilities
Hunting for A1 : Injection
● ‘and 1=1 | ‘or 1=1
● Neither easy nor difficult
● Frameworks & CMS have
already prevented
● POST method - possible
● Blind test is better
● XML Injection
● Don’t forget API
http://site.com/api/v1/user/’%20or%20’1’=’1
A2 : Broken Authentication & Session
Management
● Guess login credentials
● Check Error Messages
"Login for User foo: invalid password"
"Login failed, invalid user ID”
"Login failed; account disabled"
"Login failed; this user is not active"
● Password Reset Function
● OAuth
● Session Restore
● Session Manipulation
● Session Expiration
A3 : Cross Site Scripting (XSS)
● XSS attacks allow a user to
inject client side scripts
into the browsers of other
users
● Most frameworks support
auto escape HTML
characters
● Auto-sanitization and
Context-Sensitivity
Hunting for XSS Vulnerability : 1
● Still easy to find
● JavaScript code in search
box (input box)
eg: <script>alert(‘XSS’)</script>
● Stored XSS in User
Information such as
Username, First Name,
LastName and even
Email.
Hunting for XSS Vulnerability : 2
● DOM XSS
● SWF
● File Upload XSS
● Tools
XSSER
(https://github.com/epsylon/xsser)
Magento XSS
Hunting for XSS : 3
● Flash XSS (SWF)
/zeroclipboard.swf?id="))}catch(e)
{alert(1);}//&width=500&height=500
/player.swf?playerready=alert(document.cookie)
/player.swf?tracecall=alert(document.cookie)
/banner.swf?clickTAG=javascript:alert(1);
/swfupload.swf?movieName="]);}catch(e){}if(!
self.a)self.a=!alert(1);//
video-js.swf?readyFunction=alert
%28document.domain%2b'%20XSSed!'%29
A4 : Access Control
● All sites require to control access policy
● Most of them are bad coding
● Need to access as possible as you can
● Directories, File Permissions, User Permissions
● Test with Multiple Accounts
IDOR
● Insecure Direct Object References
● Mostly found in API
● Profile Page, Settings Page, etc
● Check Bypass Methods – Nulled Characters
Remote Code Execution (RCE)
● Execute Commands on the web server.
● Difficult to find but not at all
● Need strongly understanding of web
application’s architecture, what
frameworks and how it works
● Template Injection Type
example
- add input field {{ 7*7 }} and returns 49.
- $(sleep 20) in text area and the result
come out at 20 seconds
- Image Upload RCE (ImageMagick)
- struct2 RCE
A5 : Security Misconfiguration
● Test for Default Credentials
(Apache Tomcat, JBoss)
● Subdomain TakeOver
● Test for latest CVE (Heartbleed, Poodle, Apache
Struct2, etc)
A6 : Sensitive Data Exposure
● Config File (eg : Github config)
● Path Disclosure (Low Impact)
● Source Code Disclosure
● Log file exposed (debug.log , error_log,
access.log)
CSRF
● Cross Site Request Forgery
● Modern Web Frameworks have
built-in CSRF protection
● Test for Bypass methods
● Bypass methods
- Nulled Characters
- bypass with *
- Bypass CSRF protection via
XSS
URL Redirect
● Unvalidated Redirects &
Forwards
● Can find with Google Dorks
- “redirect_url”
- “URL?=”
- “return?=”
More dorks
https://github.com/epsylon/ufonet/blob/master/botnet/dorks.txt
Known Vulnerabilities
● CVE, CWE, Metasploit Modules
● Mostly in CMS
● For example;
- Drupal SQL injection
(Drupageddon)
- Joomla JCE
- Zpanel Exploit
- JBoss
● More Info
http://exploit-db.com
https://wpvulndb.com/
Business Logic Flaws
● Misuse a business rules of an application
● Shopping cart check out, payment transaction, etc
● Parameter manipulation
● Business process/logic bypass
Reporting
● Title/Vulnerable Information
● Specify Target
● Vulnerable URL/Parameter
● Description
● Impact
● Proof of Concept (POC)
● Remediation (if possible)
The End
Thanks for your attention

More Related Content

What's hot

Hack Into Drupal Sites (or, How to Secure Your Drupal Site)
Hack Into Drupal Sites (or, How to Secure Your Drupal Site)Hack Into Drupal Sites (or, How to Secure Your Drupal Site)
Hack Into Drupal Sites (or, How to Secure Your Drupal Site)
nyccamp
 
Using Controls, calling Launchers. IsolatedStorages and Local DataBase samples
Using Controls, calling Launchers. IsolatedStorages and Local DataBase samplesUsing Controls, calling Launchers. IsolatedStorages and Local DataBase samples
Using Controls, calling Launchers. IsolatedStorages and Local DataBase samples
Rashad Aliyev
 
Flashack
FlashackFlashack
Entity provider selection confusion attacks in JAX-RS applications
Entity provider selection confusion attacks in JAX-RS applicationsEntity provider selection confusion attacks in JAX-RS applications
Entity provider selection confusion attacks in JAX-RS applications
Mikhail Egorov
 
OAuth2 and IdentityServer3
OAuth2 and IdentityServer3OAuth2 and IdentityServer3
OAuth2 and IdentityServer3
Paul Glavich
 
What should a hacker know about WebDav?
What should a hacker know about WebDav?What should a hacker know about WebDav?
What should a hacker know about WebDav?
Mikhail Egorov
 
Hack proof your ASP NET Applications
Hack proof your ASP NET ApplicationsHack proof your ASP NET Applications
Hack proof your ASP NET Applications
Sarvesh Kushwaha
 
Vulnerable Active Record: A tale of SQL Injection in PHP Framework
Vulnerable Active Record: A tale of SQL Injection in PHP FrameworkVulnerable Active Record: A tale of SQL Injection in PHP Framework
Vulnerable Active Record: A tale of SQL Injection in PHP Framework
Pichaya Morimoto
 
The Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG FilesThe Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG Files
Mario Heiderich
 
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
Mohammed ALDOUB
 
Web Security - OWASP - SQL injection & Cross Site Scripting XSS
Web Security - OWASP - SQL injection & Cross Site Scripting XSSWeb Security - OWASP - SQL injection & Cross Site Scripting XSS
Web Security - OWASP - SQL injection & Cross Site Scripting XSS
Ivan Ortega
 
WCF Security, FSec
WCF Security, FSecWCF Security, FSec
WCF Security, FSec
Ante Gulam
 
How To Detect Xss
How To Detect XssHow To Detect Xss
How To Detect Xss
Ferruh Mavituna
 
Same-origin Policy (SOP)
Same-origin Policy (SOP)Same-origin Policy (SOP)
Same-origin Policy (SOP)
Netsparker
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
n|u - The Open Security Community
 
Micro Web Service - Slim and JWT
Micro Web Service - Slim and JWTMicro Web Service - Slim and JWT
Micro Web Service - Slim and JWT
Tuyen Vuong
 
Polyglot payloads in practice by avlidienbrunn at HackPra
Polyglot payloads in practice by avlidienbrunn at HackPraPolyglot payloads in practice by avlidienbrunn at HackPra
Polyglot payloads in practice by avlidienbrunn at HackPra
Mathias Karlsson
 
Flask jwt authentication tutorial
Flask jwt authentication tutorialFlask jwt authentication tutorial
Flask jwt authentication tutorial
Katy Slemon
 
Web Security Threats and Solutions
Web Security Threats and Solutions Web Security Threats and Solutions
Web Security Threats and Solutions
Ivo Andreev
 
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
 

What's hot (20)

Hack Into Drupal Sites (or, How to Secure Your Drupal Site)
Hack Into Drupal Sites (or, How to Secure Your Drupal Site)Hack Into Drupal Sites (or, How to Secure Your Drupal Site)
Hack Into Drupal Sites (or, How to Secure Your Drupal Site)
 
Using Controls, calling Launchers. IsolatedStorages and Local DataBase samples
Using Controls, calling Launchers. IsolatedStorages and Local DataBase samplesUsing Controls, calling Launchers. IsolatedStorages and Local DataBase samples
Using Controls, calling Launchers. IsolatedStorages and Local DataBase samples
 
Flashack
FlashackFlashack
Flashack
 
Entity provider selection confusion attacks in JAX-RS applications
Entity provider selection confusion attacks in JAX-RS applicationsEntity provider selection confusion attacks in JAX-RS applications
Entity provider selection confusion attacks in JAX-RS applications
 
OAuth2 and IdentityServer3
OAuth2 and IdentityServer3OAuth2 and IdentityServer3
OAuth2 and IdentityServer3
 
What should a hacker know about WebDav?
What should a hacker know about WebDav?What should a hacker know about WebDav?
What should a hacker know about WebDav?
 
Hack proof your ASP NET Applications
Hack proof your ASP NET ApplicationsHack proof your ASP NET Applications
Hack proof your ASP NET Applications
 
Vulnerable Active Record: A tale of SQL Injection in PHP Framework
Vulnerable Active Record: A tale of SQL Injection in PHP FrameworkVulnerable Active Record: A tale of SQL Injection in PHP Framework
Vulnerable Active Record: A tale of SQL Injection in PHP Framework
 
The Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG FilesThe Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG Files
 
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
 
Web Security - OWASP - SQL injection & Cross Site Scripting XSS
Web Security - OWASP - SQL injection & Cross Site Scripting XSSWeb Security - OWASP - SQL injection & Cross Site Scripting XSS
Web Security - OWASP - SQL injection & Cross Site Scripting XSS
 
WCF Security, FSec
WCF Security, FSecWCF Security, FSec
WCF Security, FSec
 
How To Detect Xss
How To Detect XssHow To Detect Xss
How To Detect Xss
 
Same-origin Policy (SOP)
Same-origin Policy (SOP)Same-origin Policy (SOP)
Same-origin Policy (SOP)
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
 
Micro Web Service - Slim and JWT
Micro Web Service - Slim and JWTMicro Web Service - Slim and JWT
Micro Web Service - Slim and JWT
 
Polyglot payloads in practice by avlidienbrunn at HackPra
Polyglot payloads in practice by avlidienbrunn at HackPraPolyglot payloads in practice by avlidienbrunn at HackPra
Polyglot payloads in practice by avlidienbrunn at HackPra
 
Flask jwt authentication tutorial
Flask jwt authentication tutorialFlask jwt authentication tutorial
Flask jwt authentication tutorial
 
Web Security Threats and Solutions
Web Security Threats and Solutions Web Security Threats and Solutions
Web Security Threats and Solutions
 
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?
 

Similar to Hunting Security Bugs in Modern Web Applications

Oleh Shpyrna "Security Testing Basics: Check your Webapp for gaps before l_unch"
Oleh Shpyrna "Security Testing Basics: Check your Webapp for gaps before l_unch"Oleh Shpyrna "Security Testing Basics: Check your Webapp for gaps before l_unch"
Oleh Shpyrna "Security Testing Basics: Check your Webapp for gaps before l_unch"
Dakiry
 
Security Best Practices for Bot Builders
Security Best Practices for Bot BuildersSecurity Best Practices for Bot Builders
Security Best Practices for Bot Builders
Max Feldman
 
Web Application Security: Introduction to common classes of security flaws an...
Web Application Security: Introduction to common classes of security flaws an...Web Application Security: Introduction to common classes of security flaws an...
Web Application Security: Introduction to common classes of security flaws an...
Thoughtworks
 
Tw noche geek quito webappsec
Tw noche geek quito   webappsecTw noche geek quito   webappsec
Tw noche geek quito webappsec
Thoughtworks
 
Good practices for debugging Selenium and Appium tests
Good practices for debugging Selenium and Appium testsGood practices for debugging Selenium and Appium tests
Good practices for debugging Selenium and Appium tests
Abhijeet Vaikar
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA Testers
Javan Rasokat
 
Web Apps Security
Web Apps SecurityWeb Apps Security
Web Apps Security
Victor Bucutea
 
The working architecture of NodeJs applications
The working architecture of NodeJs applicationsThe working architecture of NodeJs applications
The working architecture of NodeJs applications
Viktor Turskyi
 
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptxThe Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
lior mazor
 
Security on Rails
Security on RailsSecurity on Rails
Security on Rails
David Paluy
 
MiTM Attacks in Android Apps - TDC 2014
MiTM Attacks in Android Apps - TDC 2014MiTM Attacks in Android Apps - TDC 2014
MiTM Attacks in Android Apps - TDC 2014
ivanjokerbr
 
Mr. Mohammed Aldoub - A case study of django web applications that are secur...
Mr. Mohammed Aldoub  - A case study of django web applications that are secur...Mr. Mohammed Aldoub  - A case study of django web applications that are secur...
Mr. Mohammed Aldoub - A case study of django web applications that are secur...
nooralmousa
 
手把手教你如何串接 Log 到各種網路服務
手把手教你如何串接 Log 到各種網路服務手把手教你如何串接 Log 到各種網路服務
手把手教你如何串接 Log 到各種網路服務
Mu Chun Wang
 
Nguyen Phuong Truong Anh - Some new vulnerabilities in modern web application
Nguyen Phuong Truong Anh  - Some new vulnerabilities in modern web applicationNguyen Phuong Truong Anh  - Some new vulnerabilities in modern web application
Nguyen Phuong Truong Anh - Some new vulnerabilities in modern web application
Security Bootcamp
 
I got 99 trends and a # is all of them
I got 99 trends and a # is all of themI got 99 trends and a # is all of them
I got 99 trends and a # is all of them
Roberto Suggi Liverani
 
Security testautomation
Security testautomationSecurity testautomation
Security testautomation
Linkesh Kanna Velu
 
Cloud APIs Overview Tucker
Cloud APIs Overview   TuckerCloud APIs Overview   Tucker
Cloud APIs Overview Tucker
Infrastructure 2.0
 
Node.js Course 2 of 2 - Advanced techniques
Node.js Course 2 of 2 - Advanced techniquesNode.js Course 2 of 2 - Advanced techniques
Node.js Course 2 of 2 - Advanced techniques
Manuel Eusebio de Paz Carmona
 
API SECURITY
API SECURITYAPI SECURITY
Neoito — Secure coding practices
Neoito — Secure coding practicesNeoito — Secure coding practices
Neoito — Secure coding practices
Neoito
 

Similar to Hunting Security Bugs in Modern Web Applications (20)

Oleh Shpyrna "Security Testing Basics: Check your Webapp for gaps before l_unch"
Oleh Shpyrna "Security Testing Basics: Check your Webapp for gaps before l_unch"Oleh Shpyrna "Security Testing Basics: Check your Webapp for gaps before l_unch"
Oleh Shpyrna "Security Testing Basics: Check your Webapp for gaps before l_unch"
 
Security Best Practices for Bot Builders
Security Best Practices for Bot BuildersSecurity Best Practices for Bot Builders
Security Best Practices for Bot Builders
 
Web Application Security: Introduction to common classes of security flaws an...
Web Application Security: Introduction to common classes of security flaws an...Web Application Security: Introduction to common classes of security flaws an...
Web Application Security: Introduction to common classes of security flaws an...
 
Tw noche geek quito webappsec
Tw noche geek quito   webappsecTw noche geek quito   webappsec
Tw noche geek quito webappsec
 
Good practices for debugging Selenium and Appium tests
Good practices for debugging Selenium and Appium testsGood practices for debugging Selenium and Appium tests
Good practices for debugging Selenium and Appium tests
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA Testers
 
Web Apps Security
Web Apps SecurityWeb Apps Security
Web Apps Security
 
The working architecture of NodeJs applications
The working architecture of NodeJs applicationsThe working architecture of NodeJs applications
The working architecture of NodeJs applications
 
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptxThe Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
The Hacking Games - A Road to Post Exploitation Meetup - 20240222.pptx
 
Security on Rails
Security on RailsSecurity on Rails
Security on Rails
 
MiTM Attacks in Android Apps - TDC 2014
MiTM Attacks in Android Apps - TDC 2014MiTM Attacks in Android Apps - TDC 2014
MiTM Attacks in Android Apps - TDC 2014
 
Mr. Mohammed Aldoub - A case study of django web applications that are secur...
Mr. Mohammed Aldoub  - A case study of django web applications that are secur...Mr. Mohammed Aldoub  - A case study of django web applications that are secur...
Mr. Mohammed Aldoub - A case study of django web applications that are secur...
 
手把手教你如何串接 Log 到各種網路服務
手把手教你如何串接 Log 到各種網路服務手把手教你如何串接 Log 到各種網路服務
手把手教你如何串接 Log 到各種網路服務
 
Nguyen Phuong Truong Anh - Some new vulnerabilities in modern web application
Nguyen Phuong Truong Anh  - Some new vulnerabilities in modern web applicationNguyen Phuong Truong Anh  - Some new vulnerabilities in modern web application
Nguyen Phuong Truong Anh - Some new vulnerabilities in modern web application
 
I got 99 trends and a # is all of them
I got 99 trends and a # is all of themI got 99 trends and a # is all of them
I got 99 trends and a # is all of them
 
Security testautomation
Security testautomationSecurity testautomation
Security testautomation
 
Cloud APIs Overview Tucker
Cloud APIs Overview   TuckerCloud APIs Overview   Tucker
Cloud APIs Overview Tucker
 
Node.js Course 2 of 2 - Advanced techniques
Node.js Course 2 of 2 - Advanced techniquesNode.js Course 2 of 2 - Advanced techniques
Node.js Course 2 of 2 - Advanced techniques
 
API SECURITY
API SECURITYAPI SECURITY
API SECURITY
 
Neoito — Secure coding practices
Neoito — Secure coding practicesNeoito — Secure coding practices
Neoito — Secure coding practices
 

Recently uploaded

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 

Recently uploaded (20)

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 

Hunting Security Bugs in Modern Web Applications

  • 1. Welcome to Myanmar Cyber Conference
  • 2. Hunting Security Bugs in Modern Web Applications Presented by Toe Khaing Oo
  • 3. What is it exactly? ● Modern Web Application Technologies ● Security vulnerabilities of modern web application ● How attackers do ● Recognizing the risks ● Bug Hunting for fun and profits
  • 4. Who am I ● Student ● Self-taught Hacker ● Freelance Web Developer ● Instructor at Cyber Wings ● Bug Bounty Hunter at BugCrowd Inc (https://bugcrowd.com/toekhaing) ● Contributor at OWASP Myanmar ● Organizer at Myanmar Cyber Conference
  • 5. Modern Web Application Technology : Overview ● Client – Server Architecture ● MVC Architecture ● RESTful API ● Users ● Storage ● Caching
  • 6. Popular Web Framework ● CodeIgniter (PHP) ● Laravel (PHP) ● Rails (Ruby) ● Django (Python) ● Angular (JavaScript) ● React (JavaScript) ● ExpressJS (JavaScript)
  • 8. What is Web Application Security? ● Information Security deals with Security of web application ● Protecting Information by Preventing, Detecting and Responding to attacks ● Making safe for users on the web
  • 9. Bug Hunting 101 ● Finding vulnerabilities which are not easy to find ● Exploiting ● Determining the risks and impact ● Examining Proof of Concept ● Reporting
  • 10. Benefits ● Better Profile ● Hall Of Fame, Responsible Disclosure, Acknowledgments ● Swags (T-Shirts, Stickers, etc) ● Bug Bounty ($$$)
  • 11. Bug Hunting Methodologies ● Mapping the Application ● Analyzing the Application ● Testing Authentication Mechanism ● Testing the Session Management Mechanism ● Testing client-side controls ● Testing for Input-Based Vulnerabilities ● Testing Access Controls ● Testing for Logic Flaws
  • 12. Mapping the Target ● Explore Visible Content (view source code) ● Check Public Resources (CSS, JS, SWF) ● Discover Hidden Content ● Brute force directories ● Tools CMS Map (https://github.com/Dionach/CMSmap) What Web (https://github.com/urbanadventurer/WhatWeb) Nikto (https://github.com/sullo/nikto)
  • 13. Analyzing the Application ● Identify the Technologies Used ● Identify its functions ● Identify Data Entry ● Map attack surface
  • 14. OWASP Top Ten Vulnerabilities
  • 15. Hunting for A1 : Injection ● ‘and 1=1 | ‘or 1=1 ● Neither easy nor difficult ● Frameworks & CMS have already prevented ● POST method - possible ● Blind test is better ● XML Injection ● Don’t forget API http://site.com/api/v1/user/’%20or%20’1’=’1
  • 16. A2 : Broken Authentication & Session Management ● Guess login credentials ● Check Error Messages "Login for User foo: invalid password" "Login failed, invalid user ID” "Login failed; account disabled" "Login failed; this user is not active" ● Password Reset Function ● OAuth ● Session Restore ● Session Manipulation ● Session Expiration
  • 17. A3 : Cross Site Scripting (XSS) ● XSS attacks allow a user to inject client side scripts into the browsers of other users ● Most frameworks support auto escape HTML characters ● Auto-sanitization and Context-Sensitivity
  • 18. Hunting for XSS Vulnerability : 1 ● Still easy to find ● JavaScript code in search box (input box) eg: <script>alert(‘XSS’)</script> ● Stored XSS in User Information such as Username, First Name, LastName and even Email.
  • 19. Hunting for XSS Vulnerability : 2 ● DOM XSS ● SWF ● File Upload XSS ● Tools XSSER (https://github.com/epsylon/xsser) Magento XSS
  • 20. Hunting for XSS : 3 ● Flash XSS (SWF) /zeroclipboard.swf?id="))}catch(e) {alert(1);}//&width=500&height=500 /player.swf?playerready=alert(document.cookie) /player.swf?tracecall=alert(document.cookie) /banner.swf?clickTAG=javascript:alert(1); /swfupload.swf?movieName="]);}catch(e){}if(! self.a)self.a=!alert(1);// video-js.swf?readyFunction=alert %28document.domain%2b'%20XSSed!'%29
  • 21. A4 : Access Control ● All sites require to control access policy ● Most of them are bad coding ● Need to access as possible as you can ● Directories, File Permissions, User Permissions ● Test with Multiple Accounts
  • 22. IDOR ● Insecure Direct Object References ● Mostly found in API ● Profile Page, Settings Page, etc ● Check Bypass Methods – Nulled Characters
  • 23. Remote Code Execution (RCE) ● Execute Commands on the web server. ● Difficult to find but not at all ● Need strongly understanding of web application’s architecture, what frameworks and how it works ● Template Injection Type example - add input field {{ 7*7 }} and returns 49. - $(sleep 20) in text area and the result come out at 20 seconds - Image Upload RCE (ImageMagick) - struct2 RCE
  • 24. A5 : Security Misconfiguration ● Test for Default Credentials (Apache Tomcat, JBoss) ● Subdomain TakeOver ● Test for latest CVE (Heartbleed, Poodle, Apache Struct2, etc)
  • 25. A6 : Sensitive Data Exposure ● Config File (eg : Github config) ● Path Disclosure (Low Impact) ● Source Code Disclosure ● Log file exposed (debug.log , error_log, access.log)
  • 26. CSRF ● Cross Site Request Forgery ● Modern Web Frameworks have built-in CSRF protection ● Test for Bypass methods ● Bypass methods - Nulled Characters - bypass with * - Bypass CSRF protection via XSS
  • 27. URL Redirect ● Unvalidated Redirects & Forwards ● Can find with Google Dorks - “redirect_url” - “URL?=” - “return?=” More dorks https://github.com/epsylon/ufonet/blob/master/botnet/dorks.txt
  • 28. Known Vulnerabilities ● CVE, CWE, Metasploit Modules ● Mostly in CMS ● For example; - Drupal SQL injection (Drupageddon) - Joomla JCE - Zpanel Exploit - JBoss ● More Info http://exploit-db.com https://wpvulndb.com/
  • 29. Business Logic Flaws ● Misuse a business rules of an application ● Shopping cart check out, payment transaction, etc ● Parameter manipulation ● Business process/logic bypass
  • 30. Reporting ● Title/Vulnerable Information ● Specify Target ● Vulnerable URL/Parameter ● Description ● Impact ● Proof of Concept (POC) ● Remediation (if possible)
  • 31. The End Thanks for your attention