SlideShare une entreprise Scribd logo
1  sur  82
Télécharger pour lire hors ligne
CNIT 129S: Securing
Web Applications
Ch 4: Mapping the Application
Mapping
• Enumerate application's content and
functionality
• Some is hidden, requiring guesswork and
luck to discover
• Examine every aspect of behavior, security
mechanisms, and technologies
• Determine attack surface and vulnerabilities
Enumerating Content and
Functionality
Web Spiders
• Load web page, find all links on it
• (into the targeted domain)
• Load those pages, find more links
• Continue until no new content is discovered
Web Application Spiders
• Also parse HTML forms
• Fill in the forms with preset or random values
and submit them
• Trying to walk through multistage functionality
• Can also parse client-side JavaScript to extract
URLs
• Tools: WebScarab, Zed Attack Proxy, and CAT
Robots.txt
• Intended to stop
search engines
• May guide spiders
to interesting
content
Limitations of Automatic
Spidering
• May fail to handle unusual navigation
mechanisms, such as dynamically created
JavaScript menus
• So it may miss whole areas of an application
• Links buried in compiled client-side objects like
Flash or Java may be missed
Limitations of Automatic
Spidering
• Forms may have validation checks, such as user
registration forms
• Email address, telephone number, address, zip
code
• Too complex for most spiders, which use a single
text string for all form fields
• Spider cannot understand the "Invalid" error
messages
Limitations of Automatic
Spidering
• Spiders only fetch each URL once
• But applications use forms-based navigation, in
which the same URL may return different content
and functions
• For example, a bank may implement every user
action with POST to /account.jsp with parameters
determining the action
• Spiders aren't smart enough to handle that
Limitations of Automatic
Spidering
• Some applications place volatile data within
URLs
• Parameters containing timers or random
number seeds
• Spider will fetch the same page over and over,
thinking it's new
• May freeze up
Limitations of Automatic
Spidering
• Authentication: spider must be able to submit valid
credentials
• Perhaps using a valid cookie
• However, spiders often break the authenticated
session, by
• Requesting a logout function
• Submitting invalid input to a sensitive function
• Requesting pages out-of-sequence
Warning
• Spiders may find an administrative page and
click every link
• Delete User, Shut Down Database, Restart
Server...
User-Directed Spidering
• More sophisticated and controlled technique
than automated spidering, usually preferable
• User walks through application using a browser
connected to Burp (or another proxy)
• The proxy collects all requests and responses
Example (Not Logged In)
• Note items in
cart
• "user"
contains only
5 URLs
• Login
event
seen in
Burp
Advantages of
User-Directed Spidering
• User can follow unusual or complex navigation
mechanisms
• User can enter valid data where needed
• User can log in as needed
• User can avoid dangerous functionality, such as
deleteUser.jsp
Browser Tools
• Chrome's Developer Tools can show details of
requests and responses within the browser
• No proxy needed
• Often useful; shows timing as well as content
Discovering Hidden Content
• Finding it requires automates testing, manual
testing, and luck
• Testing or debugging features left in application
• Different functionality for different categories of
users
• Anonymous, authenticated, administrators
• Backup copies of live files
• May be non-executable and reveal source code
Discovering Hidden Content
• Backup archives that contain snapshot of entire
application
• New functionality implemented for testing but
not yet linked from main application
• Default functionality in an off-the-shelf
application that has been superficially hidden
from the user but not removed
• Old versions of files--may still be exploitable
Discovering Hidden Content
• Configuration and include files containing sensitive
data such as database credentials
• Source files from which application functions were
compiled
• Comments in source code; may contain usernames
and passwords, "test this" marks, and other useful
data
• Log files--may contain valid usernames, session
tokens, etc.
Brute-Force Techniques
• Suppose user-directed spidering finds the URLs
on the left
• A brute-forcer will try names as shown on the right
Burp's Brute-Forcer
• Burp's brute-
forcer is
crippled in
the free
version
• A custom
Python
script is
much better
Python Brute-Forcer
Inference from Published
Content
• Look for patterns
• All subdirectories of "auth" start with a capital
letter
• One is "ForgotPassword", so try these
Other Patterns
• Names may use numbers or dates
• Check include files from HTML and JavaScript
• They may be publicly readable
• Comments may include database names, SQL
query strings
• Java applets and ActiveX controls may contain
sensitive data
More Clues
• Search for temporary files created by tools and
file editors
• .DS_Store file (a directory index created by Mac
OS X)
• file.php-1 created when file.php is edited
• .tmp files created by many tools
Burp Pro's Content
Discovery
Google's Skipfish
• Vulnerability scanner but main strength is
finding files and folders
• Links Ch 4d, 4e
DirBuster
• Seems abandoned; perhaps now included in
Zed Attack Proxy
• Link Ch 4f
Public Information
• Search engines (and cached content)
• Web archives such as the Wayback Machine
• Posts to forums like Stack Exchange
Advanced Search
Web Server Vulnerabilities
• Some Web servers let you list directory
contents or see raw source code
• Sample and diagnostic scripts may contain
vulnerabilities
Nikto and Wikto
• Scans servers for known vulnerable files and
versions
• Wikto is the Windows version
• Nikto is the Linux version
• Included in Kali
• Fast and easy to use
• Has false positives like all vulnerability scanners
• Must verify results with manual testing
Example
Functional Paths
• Different from old-fashioned tree-structured file
system
• Every request goes to the same URL
• Parameters specify function
• Very different structure to explore
Map of Functional Paths
Discovering Hidden
Parameters
• Try adding "debug=true" to requests
• Or test, hide, source, etc.
• Burp Intruder can do this (see Ch 14)
Analyzing the Application
• Key areas
• Core functionality
• Peripheral behavior: off-site links, error
messages, administrative and logging
functions, and use of redirects
• Core security mechanisms: session state,
access control, authentication
• User registration, password change, account
recovery
Key Areas (continued)
• Everywhere the application processes user-
supplied input
• URL, query string, POST data, cookies
• Client-side technologies
• Forms, scripts, thick-client components (Java
applets, ActiveX controls, and Flash), and
cookies
Key Areas (continued)
• Server-side technologies
• Static and dynamic pages, request
parameters, SSL, Web server software,
interaction with databases, email systems,
and other back-end components
Entry Points for User Input
URL File Paths
• RESTful URLs put parameters where folder
names would go
Request Parameters
• Normally, google.com?q=duck
• Here are some nonstandard parameter formats
HTTP Headers
• User-Agent is used to detect small screens
• Sometimes to modify content to boost search
engine rankings
• May allow XSS and other injection attacks
• Changing User-Agent may reveal a different
user interface
HTTP Headers
• Applications behind a load balancer or proxy
may use X-Forwarded-For header to identify
source
• Can be manipulated by attacker to inject content
Out-of-Band Channels
• User data may come in via
• Email
• Publishing content via HTTP from another
server (e.g. WebDAV)
• IDS that sniffs traffic and puts it into a Web
application
• API interface for non-browser user agents,
such as cell phone apps, and then shares data
with the primary web application
Identifying Server-Side
Technologies
Banner Grabbing
• Banners often leak version information
• Also Web page templates
• Custom HTTP headers
• URL query string parameters
HTTP Fingerprinting
• httprecon uses
subtle clues to
identify
versions, not
just banners
• Link Ch 4h
Wappalyzer
• Browser extension
File Extensions
• Disclose platform or language
Error Messages
Error Message
File Extension Mappings
• Different DLLs may
lead to different
error messages
OpenText
• Vignette is now rebranded as OpenText
• Link Ch 4i
Directory Names
• Indicate technology in use
Session Tokens
Third-Party Code
Components
• Add common functionality like
• Shopping carts
• Login mechanisms
• Message boards
• Open-Source or commercial
• May contain known vulnerabilities
Hack Steps
1. Identify all entry points for user input
•URL, query string parameters, POST data,
cookies, HTTP headers
2. Examine query string format; should be some
variation on name/value pair
3. Identify any other channels that allow user-
controllable or third-party data into the app
Hack Steps
4. View HTTP server banner returned by the app;
it may use several different servers
5. Check for other software identifiers in custom
HTTP headers or HTML source code
6. Run httprint to fingerprint the web server
7. Research software versions for vulnerabilities
8. Review map of URLs to find interesting file
extensions, directories, etc. with clues about
the technologies in use
httprint
• Not updated since 2005 (link Ch 4j)
• Alternatives include nmap, Netcraft, and
SHODAN (Link Ch 4k)
• Also the Wappalyzer Chrome extension
Hack Steps
9. Review names of session tokens to identify
technologies being used
10. Use lists of common technologies, or Google,
to identify technologies in use, or discover other
websites that use the same technologies
11. Google unusual cookie names, scripts, HTTP
headers, etc. If possible, download and install
the software to analyze it and find vulnerabilities
Identifying Server-Side
Functionality
• .jsp - Java Server Pages
• OrderBy parameter looks like SQL
• isExpired suggests that we could get expired
content by changing this value
Identifying Server-Side
Functionality
• .aspx - Active Server Pages (Microsoft)
• template - seems to be a filename and loc - looks
like a directory; may be vulnerable to path traversal
• edit - maybe we can change files if this is true
• ver - perhaps changing this will reveal other
functions to attack
Identifying Server-Side
Functionality
• .php - PHP
• Connecting to an email server, with user-controllable
content in all fields
• May be usable to send emails
• Any fields may be vulnerable to email header injection
Identifying Server-Side
Functionality
• Change action to "edit" or "add"
• Try viewing other collections by
changing the ip number
Extrapolating Application
Behavior
• An application often behaves consistently
across the range of its functionality
• Because code is re-used or written by the
same developer, or to the same specifications
• So if your SQL injections are being filtered out,
try injecting elsewhere to see what filtering is in
effect
Extrapolating Application
Behavior
• If app obfuscates data, try finding a place where
a user can enter an obfuscated sting and
retrieve the original
• Such as an error message
• Or test systematically-varying values and
deduce the obfuscation scheme
Demo: Stitcher
Error Handling
• Some errors may be properly handled and give
little information

Others may crash and return verbose error
information
Isolate Unique Application
Behavior
• App may use a consistent framework that
prevents attacks
• Look for extra parts "bolted on" later, which may
not be integrated into the framework
• Debug functions, CAPTCHAs, usage tracking,
third-party code
• Different GUI appearance, parameter naming
conventions, comments in source code
Mapping the Attack Surface
• Client-side validation
• Database interaction -- SQL injection
• File uploading and downloading -- Path
traversal, stored XSS
• Display of user-supplied data - XSS
• Dynamic redirects -- Redirection and header
attacks
Mapping the Attack Surface
• Social networking features -- username
enumeration, stored XSS
• Login -- Username enumeration, weak
passwords, brute-force attacks
• Multistage login -- Logic flaws
• Session state -- Predictable tokens, insecure
token handling
Mapping the Attack Surface
• Access controls -- Horizontal and vertical privilege
escalation
• User impersonation functions -- Privilege escalation
• Cleartext communications -- Session hijacking,
credential theft
• Off-site links -- Leakage of query string parameters
in the Referer header
• Interfaces to external systems -- Shortcuts handling
sessions or access controls
Mapping the Attack Surface
• Error messages -- Information leakage
• Email interaction -- Email or command injection
• Native code components or interaction -- Buffer
overflows
• Third-party components -- Known vulnerabilities
• Identifiable Web server -- Common
configuration errors, known bugs
Example
• /auth contains authentication
functions -- test session handling
and access control
• /core/sitestats -- parameters; try
varying them; try wildcards like all
and * ; PageID contains a path, try
traversal
• /home -- authenticated user content;
try horizontal privilege escalation to
see other user's info
Example
• /icons and /images -- static content,
might find icons indicating third-
party content, but probably nothing
interesting here
• /pub -- RESTful resources under /
pub/media and /pub/user; try
changing the numerical value at the
end
• /shop -- online shopping, all items
handled similarly; check logic for
possible exploits

Contenu connexe

Tendances

Cross-domain requests with CORS
Cross-domain requests with CORSCross-domain requests with CORS
Cross-domain requests with CORSVladimir Dzhuvinov
 
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms Sam Bowne
 
Intro to Web Application Security
Intro to Web Application SecurityIntro to Web Application Security
Intro to Web Application SecurityRob Ragan
 
CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 2 of 3)
CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 2 of 3)CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 2 of 3)
CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 2 of 3)Sam Bowne
 
Understanding Cross-site Request Forgery
Understanding Cross-site Request ForgeryUnderstanding Cross-site Request Forgery
Understanding Cross-site Request ForgeryDaniel Miessler
 
CNIT 129S: 8: Attacking Access Controls
CNIT 129S: 8: Attacking Access ControlsCNIT 129S: 8: Attacking Access Controls
CNIT 129S: 8: Attacking Access ControlsSam Bowne
 
CNIT 129S: Ch 7: Attacking Session Management
CNIT 129S: Ch 7: Attacking Session Management CNIT 129S: Ch 7: Attacking Session Management
CNIT 129S: Ch 7: Attacking Session Management Sam Bowne
 
CNIT 129S: 10: Attacking Back-End Components
CNIT 129S: 10: Attacking Back-End ComponentsCNIT 129S: 10: Attacking Back-End Components
CNIT 129S: 10: Attacking Back-End ComponentsSam Bowne
 
Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...
Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...
Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...Garage4hackers.com
 
CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 1 of 2)
CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 1 of 2)CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 1 of 2)
CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 1 of 2)Sam Bowne
 
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)Sam Bowne
 
E-commerce System Technologies, Repository and Networking Technology
E-commerce System Technologies, Repository and Networking TechnologyE-commerce System Technologies, Repository and Networking Technology
E-commerce System Technologies, Repository and Networking Technologyizan28
 
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016Frans Rosén
 
Waf bypassing Techniques
Waf bypassing TechniquesWaf bypassing Techniques
Waf bypassing TechniquesAvinash Thapa
 
Android malware presentation
Android malware presentationAndroid malware presentation
Android malware presentationSandeep Joshi
 
XSS Magic tricks
XSS Magic tricksXSS Magic tricks
XSS Magic tricksGarethHeyes
 
Authentication methods
Authentication methodsAuthentication methods
Authentication methodssana mateen
 
HTML Basic, CSS Basic, JavaScript basic.
HTML Basic, CSS Basic, JavaScript basic.HTML Basic, CSS Basic, JavaScript basic.
HTML Basic, CSS Basic, JavaScript basic.Beqa Chacha
 

Tendances (20)

Cross-domain requests with CORS
Cross-domain requests with CORSCross-domain requests with CORS
Cross-domain requests with CORS
 
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
Ch 1: Web Application (In)security & Ch 2: Core Defense Mechanisms
 
Intro to Web Application Security
Intro to Web Application SecurityIntro to Web Application Security
Intro to Web Application Security
 
CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 2 of 3)
CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 2 of 3)CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 2 of 3)
CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 2 of 3)
 
Understanding Cross-site Request Forgery
Understanding Cross-site Request ForgeryUnderstanding Cross-site Request Forgery
Understanding Cross-site Request Forgery
 
CNIT 129S: 8: Attacking Access Controls
CNIT 129S: 8: Attacking Access ControlsCNIT 129S: 8: Attacking Access Controls
CNIT 129S: 8: Attacking Access Controls
 
CNIT 129S: Ch 7: Attacking Session Management
CNIT 129S: Ch 7: Attacking Session Management CNIT 129S: Ch 7: Attacking Session Management
CNIT 129S: Ch 7: Attacking Session Management
 
CNIT 129S: 10: Attacking Back-End Components
CNIT 129S: 10: Attacking Back-End ComponentsCNIT 129S: 10: Attacking Back-End Components
CNIT 129S: 10: Attacking Back-End Components
 
Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...
Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...
Garage4Hackers Ranchoddas Webcast Series - Bypassing Modern WAF's Exemplified...
 
CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 1 of 2)
CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 1 of 2)CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 1 of 2)
CNIT 129S: 12: Attacking Users: Cross-Site Scripting (Part 1 of 2)
 
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
 
E-commerce System Technologies, Repository and Networking Technology
E-commerce System Technologies, Repository and Networking TechnologyE-commerce System Technologies, Repository and Networking Technology
E-commerce System Technologies, Repository and Networking Technology
 
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
 
Waf bypassing Techniques
Waf bypassing TechniquesWaf bypassing Techniques
Waf bypassing Techniques
 
Android malware presentation
Android malware presentationAndroid malware presentation
Android malware presentation
 
XSS Magic tricks
XSS Magic tricksXSS Magic tricks
XSS Magic tricks
 
Authentication methods
Authentication methodsAuthentication methods
Authentication methods
 
HTML Basic, CSS Basic, JavaScript basic.
HTML Basic, CSS Basic, JavaScript basic.HTML Basic, CSS Basic, JavaScript basic.
HTML Basic, CSS Basic, JavaScript basic.
 
CSRF Basics
CSRF BasicsCSRF Basics
CSRF Basics
 
Digital signature
Digital signatureDigital signature
Digital signature
 

En vedette

CNIT 121: 11 Analysis Methodology
CNIT 121: 11 Analysis MethodologyCNIT 121: 11 Analysis Methodology
CNIT 121: 11 Analysis MethodologySam Bowne
 
CNIT 40: 6: DNSSEC and beyond
CNIT 40: 6: DNSSEC and beyondCNIT 40: 6: DNSSEC and beyond
CNIT 40: 6: DNSSEC and beyondSam Bowne
 
CNIT 129S: Ch 5: Bypassing Client-Side Controls
CNIT 129S: Ch 5: Bypassing Client-Side ControlsCNIT 129S: Ch 5: Bypassing Client-Side Controls
CNIT 129S: Ch 5: Bypassing Client-Side ControlsSam Bowne
 
CNIT 121: 12 Investigating Windows Systems (Part 3)
CNIT 121: 12 Investigating Windows Systems (Part 3)CNIT 121: 12 Investigating Windows Systems (Part 3)
CNIT 121: 12 Investigating Windows Systems (Part 3)Sam Bowne
 
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...Sam Bowne
 
CNIT 129S: 9: Attacking Data Stores (Part 1 of 2)
CNIT 129S: 9: Attacking Data Stores (Part 1 of 2)CNIT 129S: 9: Attacking Data Stores (Part 1 of 2)
CNIT 129S: 9: Attacking Data Stores (Part 1 of 2)Sam Bowne
 
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)Sam Bowne
 
CNIT 121: 2 IR Management Handbook
CNIT 121: 2 IR Management HandbookCNIT 121: 2 IR Management Handbook
CNIT 121: 2 IR Management HandbookSam Bowne
 
CNIT 121: Computer Forensics Ch 1
CNIT 121: Computer Forensics Ch 1CNIT 121: Computer Forensics Ch 1
CNIT 121: Computer Forensics Ch 1Sam Bowne
 
CNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data Collection
CNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data CollectionCNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data Collection
CNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data CollectionSam Bowne
 
CNIT 121: 3 Pre-Incident Preparation
CNIT 121: 3 Pre-Incident PreparationCNIT 121: 3 Pre-Incident Preparation
CNIT 121: 3 Pre-Incident PreparationSam Bowne
 
CNIT 128 Ch 4: Android
CNIT 128 Ch 4: AndroidCNIT 128 Ch 4: Android
CNIT 128 Ch 4: AndroidSam Bowne
 
CNIT 40: 3: DNS vulnerabilities
CNIT 40: 3: DNS vulnerabilitiesCNIT 40: 3: DNS vulnerabilities
CNIT 40: 3: DNS vulnerabilitiesSam Bowne
 
CNIT 127 Ch Ch 1: Before you Begin
CNIT 127 Ch Ch 1: Before you BeginCNIT 127 Ch Ch 1: Before you Begin
CNIT 127 Ch Ch 1: Before you BeginSam Bowne
 
Is Your Mobile App Secure?
Is Your Mobile App Secure?Is Your Mobile App Secure?
Is Your Mobile App Secure?Sam Bowne
 
Practical Malware Analysis Ch 14: Malware-Focused Network Signatures
Practical Malware Analysis Ch 14: Malware-Focused Network SignaturesPractical Malware Analysis Ch 14: Malware-Focused Network Signatures
Practical Malware Analysis Ch 14: Malware-Focused Network SignaturesSam Bowne
 
CNIT 128 Ch 3: iOS
CNIT 128 Ch 3: iOSCNIT 128 Ch 3: iOS
CNIT 128 Ch 3: iOSSam Bowne
 
CNIT 127 Ch 5: Introduction to heap overflows
CNIT 127 Ch 5: Introduction to heap overflowsCNIT 127 Ch 5: Introduction to heap overflows
CNIT 127 Ch 5: Introduction to heap overflowsSam Bowne
 
CNIT 40: 4: Monitoring and detecting security breaches
CNIT 40: 4: Monitoring and detecting security breachesCNIT 40: 4: Monitoring and detecting security breaches
CNIT 40: 4: Monitoring and detecting security breachesSam Bowne
 
Practical Malware Analysis: Ch 4 A Crash Course in x86 Disassembly
Practical Malware Analysis: Ch 4 A Crash Course in x86 Disassembly Practical Malware Analysis: Ch 4 A Crash Course in x86 Disassembly
Practical Malware Analysis: Ch 4 A Crash Course in x86 Disassembly Sam Bowne
 

En vedette (20)

CNIT 121: 11 Analysis Methodology
CNIT 121: 11 Analysis MethodologyCNIT 121: 11 Analysis Methodology
CNIT 121: 11 Analysis Methodology
 
CNIT 40: 6: DNSSEC and beyond
CNIT 40: 6: DNSSEC and beyondCNIT 40: 6: DNSSEC and beyond
CNIT 40: 6: DNSSEC and beyond
 
CNIT 129S: Ch 5: Bypassing Client-Side Controls
CNIT 129S: Ch 5: Bypassing Client-Side ControlsCNIT 129S: Ch 5: Bypassing Client-Side Controls
CNIT 129S: Ch 5: Bypassing Client-Side Controls
 
CNIT 121: 12 Investigating Windows Systems (Part 3)
CNIT 121: 12 Investigating Windows Systems (Part 3)CNIT 121: 12 Investigating Windows Systems (Part 3)
CNIT 121: 12 Investigating Windows Systems (Part 3)
 
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
CNIT 121: 4 Getting the Investigation Started on the Right Foot & 5 Initial D...
 
CNIT 129S: 9: Attacking Data Stores (Part 1 of 2)
CNIT 129S: 9: Attacking Data Stores (Part 1 of 2)CNIT 129S: 9: Attacking Data Stores (Part 1 of 2)
CNIT 129S: 9: Attacking Data Stores (Part 1 of 2)
 
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
CNIT 121: 12 Investigating Windows Systems (Part 2 of 3)
 
CNIT 121: 2 IR Management Handbook
CNIT 121: 2 IR Management HandbookCNIT 121: 2 IR Management Handbook
CNIT 121: 2 IR Management Handbook
 
CNIT 121: Computer Forensics Ch 1
CNIT 121: Computer Forensics Ch 1CNIT 121: Computer Forensics Ch 1
CNIT 121: Computer Forensics Ch 1
 
CNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data Collection
CNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data CollectionCNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data Collection
CNIT 121: 6 Discovering the Scope of the Incident & 7 Live Data Collection
 
CNIT 121: 3 Pre-Incident Preparation
CNIT 121: 3 Pre-Incident PreparationCNIT 121: 3 Pre-Incident Preparation
CNIT 121: 3 Pre-Incident Preparation
 
CNIT 128 Ch 4: Android
CNIT 128 Ch 4: AndroidCNIT 128 Ch 4: Android
CNIT 128 Ch 4: Android
 
CNIT 40: 3: DNS vulnerabilities
CNIT 40: 3: DNS vulnerabilitiesCNIT 40: 3: DNS vulnerabilities
CNIT 40: 3: DNS vulnerabilities
 
CNIT 127 Ch Ch 1: Before you Begin
CNIT 127 Ch Ch 1: Before you BeginCNIT 127 Ch Ch 1: Before you Begin
CNIT 127 Ch Ch 1: Before you Begin
 
Is Your Mobile App Secure?
Is Your Mobile App Secure?Is Your Mobile App Secure?
Is Your Mobile App Secure?
 
Practical Malware Analysis Ch 14: Malware-Focused Network Signatures
Practical Malware Analysis Ch 14: Malware-Focused Network SignaturesPractical Malware Analysis Ch 14: Malware-Focused Network Signatures
Practical Malware Analysis Ch 14: Malware-Focused Network Signatures
 
CNIT 128 Ch 3: iOS
CNIT 128 Ch 3: iOSCNIT 128 Ch 3: iOS
CNIT 128 Ch 3: iOS
 
CNIT 127 Ch 5: Introduction to heap overflows
CNIT 127 Ch 5: Introduction to heap overflowsCNIT 127 Ch 5: Introduction to heap overflows
CNIT 127 Ch 5: Introduction to heap overflows
 
CNIT 40: 4: Monitoring and detecting security breaches
CNIT 40: 4: Monitoring and detecting security breachesCNIT 40: 4: Monitoring and detecting security breaches
CNIT 40: 4: Monitoring and detecting security breaches
 
Practical Malware Analysis: Ch 4 A Crash Course in x86 Disassembly
Practical Malware Analysis: Ch 4 A Crash Course in x86 Disassembly Practical Malware Analysis: Ch 4 A Crash Course in x86 Disassembly
Practical Malware Analysis: Ch 4 A Crash Course in x86 Disassembly
 

Similaire à CNIT 129S: Ch 4: Mapping the Application

4 Mapping the Application
4 Mapping the Application4 Mapping the Application
4 Mapping the ApplicationSam Bowne
 
Web Hacking Series Part 5
Web Hacking Series Part 5Web Hacking Series Part 5
Web Hacking Series Part 5Aditya Kamat
 
REST Api Tips and Tricks
REST Api Tips and TricksREST Api Tips and Tricks
REST Api Tips and TricksMaksym Bruner
 
Ch 3: Web Application Technologies
Ch 3: Web Application TechnologiesCh 3: Web Application Technologies
Ch 3: Web Application TechnologiesSam Bowne
 
CNIT 121: 14 Investigating Applications
CNIT 121: 14 Investigating ApplicationsCNIT 121: 14 Investigating Applications
CNIT 121: 14 Investigating ApplicationsSam Bowne
 
Building Awesome APIs with Lumen
Building Awesome APIs with LumenBuilding Awesome APIs with Lumen
Building Awesome APIs with LumenKit Brennan
 
(ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service (ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service BIOVIA
 
Hey My Web App is Slow Where is the Problem
Hey My Web App is Slow Where is the ProblemHey My Web App is Slow Where is the Problem
Hey My Web App is Slow Where is the ProblemColdFusionConference
 
Lesson 6 web based attacks
Lesson 6 web based attacksLesson 6 web based attacks
Lesson 6 web based attacksFrank Victory
 
Find maximum bugs in limited time
Find maximum bugs in limited timeFind maximum bugs in limited time
Find maximum bugs in limited timebeched
 
[Russia] Bugs -> max, time <= T
[Russia] Bugs -> max, time <= T[Russia] Bugs -> max, time <= T
[Russia] Bugs -> max, time <= TOWASP EEE
 
Evolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecurityEvolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecuritySanjeev Verma, PhD
 
Best Practices in Web Service Design
Best Practices in Web Service DesignBest Practices in Web Service Design
Best Practices in Web Service DesignLorna Mitchell
 
Azure Application insights - An Introduction
Azure Application insights - An IntroductionAzure Application insights - An Introduction
Azure Application insights - An IntroductionMatthias Güntert
 
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...Michael Pirnat
 

Similaire à CNIT 129S: Ch 4: Mapping the Application (20)

4 Mapping the Application
4 Mapping the Application4 Mapping the Application
4 Mapping the Application
 
Web Hacking Series Part 5
Web Hacking Series Part 5Web Hacking Series Part 5
Web Hacking Series Part 5
 
REST Api Tips and Tricks
REST Api Tips and TricksREST Api Tips and Tricks
REST Api Tips and Tricks
 
Api security-testing
Api security-testingApi security-testing
Api security-testing
 
Ch 3: Web Application Technologies
Ch 3: Web Application TechnologiesCh 3: Web Application Technologies
Ch 3: Web Application Technologies
 
Introduction to Monsoon PHP framework
Introduction to Monsoon PHP frameworkIntroduction to Monsoon PHP framework
Introduction to Monsoon PHP framework
 
Application fuzzing
Application fuzzingApplication fuzzing
Application fuzzing
 
CNIT 121: 14 Investigating Applications
CNIT 121: 14 Investigating ApplicationsCNIT 121: 14 Investigating Applications
CNIT 121: 14 Investigating Applications
 
Building Awesome APIs with Lumen
Building Awesome APIs with LumenBuilding Awesome APIs with Lumen
Building Awesome APIs with Lumen
 
Basics of the Web Platform
Basics of the Web PlatformBasics of the Web Platform
Basics of the Web Platform
 
(ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service (ATS6-PLAT04) Query service
(ATS6-PLAT04) Query service
 
Hey My Web App is Slow Where is the Problem
Hey My Web App is Slow Where is the ProblemHey My Web App is Slow Where is the Problem
Hey My Web App is Slow Where is the Problem
 
Lesson 6 web based attacks
Lesson 6 web based attacksLesson 6 web based attacks
Lesson 6 web based attacks
 
Find maximum bugs in limited time
Find maximum bugs in limited timeFind maximum bugs in limited time
Find maximum bugs in limited time
 
[Russia] Bugs -> max, time <= T
[Russia] Bugs -> max, time <= T[Russia] Bugs -> max, time <= T
[Russia] Bugs -> max, time <= T
 
Evolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser SecurityEvolution Of The Web Platform & Browser Security
Evolution Of The Web Platform & Browser Security
 
Web hacking
Web hackingWeb hacking
Web hacking
 
Best Practices in Web Service Design
Best Practices in Web Service DesignBest Practices in Web Service Design
Best Practices in Web Service Design
 
Azure Application insights - An Introduction
Azure Application insights - An IntroductionAzure Application insights - An Introduction
Azure Application insights - An Introduction
 
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
Shiny, Let’s Be Bad Guys: Exploiting and Mitigating the Top 10 Web App Vulner...
 

Plus de Sam Bowne

3: DNS vulnerabilities
3: DNS vulnerabilities 3: DNS vulnerabilities
3: DNS vulnerabilities Sam Bowne
 
8. Software Development Security
8. Software Development Security8. Software Development Security
8. Software Development SecuritySam Bowne
 
3. Attacking iOS Applications (Part 2)
 3. Attacking iOS Applications (Part 2) 3. Attacking iOS Applications (Part 2)
3. Attacking iOS Applications (Part 2)Sam Bowne
 
12 Elliptic Curves
12 Elliptic Curves12 Elliptic Curves
12 Elliptic CurvesSam Bowne
 
11. Diffie-Hellman
11. Diffie-Hellman11. Diffie-Hellman
11. Diffie-HellmanSam Bowne
 
2a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 12a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 1Sam Bowne
 
9 Writing Secure Android Applications
9 Writing Secure Android Applications9 Writing Secure Android Applications
9 Writing Secure Android ApplicationsSam Bowne
 
12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)Sam Bowne
 
12 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 312 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 3Sam Bowne
 
9. Hard Problems
9. Hard Problems9. Hard Problems
9. Hard ProblemsSam Bowne
 
8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)Sam Bowne
 
11 Analysis Methodology
11 Analysis Methodology11 Analysis Methodology
11 Analysis MethodologySam Bowne
 
8. Authenticated Encryption
8. Authenticated Encryption8. Authenticated Encryption
8. Authenticated EncryptionSam Bowne
 
7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)Sam Bowne
 
7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)Sam Bowne
 
5. Stream Ciphers
5. Stream Ciphers5. Stream Ciphers
5. Stream CiphersSam Bowne
 
6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data CollectionSam Bowne
 
4. Block Ciphers
4. Block Ciphers 4. Block Ciphers
4. Block Ciphers Sam Bowne
 

Plus de Sam Bowne (20)

Cyberwar
CyberwarCyberwar
Cyberwar
 
3: DNS vulnerabilities
3: DNS vulnerabilities 3: DNS vulnerabilities
3: DNS vulnerabilities
 
8. Software Development Security
8. Software Development Security8. Software Development Security
8. Software Development Security
 
3. Attacking iOS Applications (Part 2)
 3. Attacking iOS Applications (Part 2) 3. Attacking iOS Applications (Part 2)
3. Attacking iOS Applications (Part 2)
 
12 Elliptic Curves
12 Elliptic Curves12 Elliptic Curves
12 Elliptic Curves
 
11. Diffie-Hellman
11. Diffie-Hellman11. Diffie-Hellman
11. Diffie-Hellman
 
2a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 12a Analyzing iOS Apps Part 1
2a Analyzing iOS Apps Part 1
 
9 Writing Secure Android Applications
9 Writing Secure Android Applications9 Writing Secure Android Applications
9 Writing Secure Android Applications
 
12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)12 Investigating Windows Systems (Part 2 of 3)
12 Investigating Windows Systems (Part 2 of 3)
 
10 RSA
10 RSA10 RSA
10 RSA
 
12 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 312 Investigating Windows Systems (Part 1 of 3
12 Investigating Windows Systems (Part 1 of 3
 
9. Hard Problems
9. Hard Problems9. Hard Problems
9. Hard Problems
 
8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)8 Android Implementation Issues (Part 1)
8 Android Implementation Issues (Part 1)
 
11 Analysis Methodology
11 Analysis Methodology11 Analysis Methodology
11 Analysis Methodology
 
8. Authenticated Encryption
8. Authenticated Encryption8. Authenticated Encryption
8. Authenticated Encryption
 
7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)7. Attacking Android Applications (Part 2)
7. Attacking Android Applications (Part 2)
 
7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)7. Attacking Android Applications (Part 1)
7. Attacking Android Applications (Part 1)
 
5. Stream Ciphers
5. Stream Ciphers5. Stream Ciphers
5. Stream Ciphers
 
6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection6 Scope & 7 Live Data Collection
6 Scope & 7 Live Data Collection
 
4. Block Ciphers
4. Block Ciphers 4. Block Ciphers
4. Block Ciphers
 

Dernier

Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 

Dernier (20)

Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 

CNIT 129S: Ch 4: Mapping the Application

  • 1. CNIT 129S: Securing Web Applications Ch 4: Mapping the Application
  • 2. Mapping • Enumerate application's content and functionality • Some is hidden, requiring guesswork and luck to discover • Examine every aspect of behavior, security mechanisms, and technologies • Determine attack surface and vulnerabilities
  • 4. Web Spiders • Load web page, find all links on it • (into the targeted domain) • Load those pages, find more links • Continue until no new content is discovered
  • 5. Web Application Spiders • Also parse HTML forms • Fill in the forms with preset or random values and submit them • Trying to walk through multistage functionality • Can also parse client-side JavaScript to extract URLs • Tools: WebScarab, Zed Attack Proxy, and CAT
  • 6. Robots.txt • Intended to stop search engines • May guide spiders to interesting content
  • 7. Limitations of Automatic Spidering • May fail to handle unusual navigation mechanisms, such as dynamically created JavaScript menus • So it may miss whole areas of an application • Links buried in compiled client-side objects like Flash or Java may be missed
  • 8. Limitations of Automatic Spidering • Forms may have validation checks, such as user registration forms • Email address, telephone number, address, zip code • Too complex for most spiders, which use a single text string for all form fields • Spider cannot understand the "Invalid" error messages
  • 9. Limitations of Automatic Spidering • Spiders only fetch each URL once • But applications use forms-based navigation, in which the same URL may return different content and functions • For example, a bank may implement every user action with POST to /account.jsp with parameters determining the action • Spiders aren't smart enough to handle that
  • 10. Limitations of Automatic Spidering • Some applications place volatile data within URLs • Parameters containing timers or random number seeds • Spider will fetch the same page over and over, thinking it's new • May freeze up
  • 11. Limitations of Automatic Spidering • Authentication: spider must be able to submit valid credentials • Perhaps using a valid cookie • However, spiders often break the authenticated session, by • Requesting a logout function • Submitting invalid input to a sensitive function • Requesting pages out-of-sequence
  • 12. Warning • Spiders may find an administrative page and click every link • Delete User, Shut Down Database, Restart Server...
  • 13. User-Directed Spidering • More sophisticated and controlled technique than automated spidering, usually preferable • User walks through application using a browser connected to Burp (or another proxy) • The proxy collects all requests and responses
  • 15. • Note items in cart • "user" contains only 5 URLs
  • 17. Advantages of User-Directed Spidering • User can follow unusual or complex navigation mechanisms • User can enter valid data where needed • User can log in as needed • User can avoid dangerous functionality, such as deleteUser.jsp
  • 18. Browser Tools • Chrome's Developer Tools can show details of requests and responses within the browser • No proxy needed • Often useful; shows timing as well as content
  • 19.
  • 20.
  • 21. Discovering Hidden Content • Finding it requires automates testing, manual testing, and luck • Testing or debugging features left in application • Different functionality for different categories of users • Anonymous, authenticated, administrators • Backup copies of live files • May be non-executable and reveal source code
  • 22. Discovering Hidden Content • Backup archives that contain snapshot of entire application • New functionality implemented for testing but not yet linked from main application • Default functionality in an off-the-shelf application that has been superficially hidden from the user but not removed • Old versions of files--may still be exploitable
  • 23. Discovering Hidden Content • Configuration and include files containing sensitive data such as database credentials • Source files from which application functions were compiled • Comments in source code; may contain usernames and passwords, "test this" marks, and other useful data • Log files--may contain valid usernames, session tokens, etc.
  • 24. Brute-Force Techniques • Suppose user-directed spidering finds the URLs on the left • A brute-forcer will try names as shown on the right
  • 25. Burp's Brute-Forcer • Burp's brute- forcer is crippled in the free version • A custom Python script is much better
  • 27.
  • 28. Inference from Published Content • Look for patterns • All subdirectories of "auth" start with a capital letter • One is "ForgotPassword", so try these
  • 29. Other Patterns • Names may use numbers or dates • Check include files from HTML and JavaScript • They may be publicly readable • Comments may include database names, SQL query strings • Java applets and ActiveX controls may contain sensitive data
  • 30. More Clues • Search for temporary files created by tools and file editors • .DS_Store file (a directory index created by Mac OS X) • file.php-1 created when file.php is edited • .tmp files created by many tools
  • 32. Google's Skipfish • Vulnerability scanner but main strength is finding files and folders • Links Ch 4d, 4e
  • 33. DirBuster • Seems abandoned; perhaps now included in Zed Attack Proxy • Link Ch 4f
  • 34. Public Information • Search engines (and cached content) • Web archives such as the Wayback Machine • Posts to forums like Stack Exchange
  • 36. Web Server Vulnerabilities • Some Web servers let you list directory contents or see raw source code • Sample and diagnostic scripts may contain vulnerabilities
  • 37. Nikto and Wikto • Scans servers for known vulnerable files and versions • Wikto is the Windows version • Nikto is the Linux version • Included in Kali • Fast and easy to use • Has false positives like all vulnerability scanners • Must verify results with manual testing
  • 39. Functional Paths • Different from old-fashioned tree-structured file system • Every request goes to the same URL • Parameters specify function • Very different structure to explore
  • 41. Discovering Hidden Parameters • Try adding "debug=true" to requests • Or test, hide, source, etc. • Burp Intruder can do this (see Ch 14)
  • 42. Analyzing the Application • Key areas • Core functionality • Peripheral behavior: off-site links, error messages, administrative and logging functions, and use of redirects • Core security mechanisms: session state, access control, authentication • User registration, password change, account recovery
  • 43. Key Areas (continued) • Everywhere the application processes user- supplied input • URL, query string, POST data, cookies • Client-side technologies • Forms, scripts, thick-client components (Java applets, ActiveX controls, and Flash), and cookies
  • 44. Key Areas (continued) • Server-side technologies • Static and dynamic pages, request parameters, SSL, Web server software, interaction with databases, email systems, and other back-end components
  • 45. Entry Points for User Input
  • 46. URL File Paths • RESTful URLs put parameters where folder names would go
  • 47. Request Parameters • Normally, google.com?q=duck • Here are some nonstandard parameter formats
  • 48. HTTP Headers • User-Agent is used to detect small screens • Sometimes to modify content to boost search engine rankings • May allow XSS and other injection attacks • Changing User-Agent may reveal a different user interface
  • 49. HTTP Headers • Applications behind a load balancer or proxy may use X-Forwarded-For header to identify source • Can be manipulated by attacker to inject content
  • 50. Out-of-Band Channels • User data may come in via • Email • Publishing content via HTTP from another server (e.g. WebDAV) • IDS that sniffs traffic and puts it into a Web application • API interface for non-browser user agents, such as cell phone apps, and then shares data with the primary web application
  • 52. Banner Grabbing • Banners often leak version information • Also Web page templates • Custom HTTP headers • URL query string parameters
  • 53. HTTP Fingerprinting • httprecon uses subtle clues to identify versions, not just banners • Link Ch 4h
  • 55. File Extensions • Disclose platform or language
  • 58. File Extension Mappings • Different DLLs may lead to different error messages
  • 59. OpenText • Vignette is now rebranded as OpenText • Link Ch 4i
  • 60. Directory Names • Indicate technology in use
  • 62. Third-Party Code Components • Add common functionality like • Shopping carts • Login mechanisms • Message boards • Open-Source or commercial • May contain known vulnerabilities
  • 63. Hack Steps 1. Identify all entry points for user input •URL, query string parameters, POST data, cookies, HTTP headers 2. Examine query string format; should be some variation on name/value pair 3. Identify any other channels that allow user- controllable or third-party data into the app
  • 64. Hack Steps 4. View HTTP server banner returned by the app; it may use several different servers 5. Check for other software identifiers in custom HTTP headers or HTML source code 6. Run httprint to fingerprint the web server 7. Research software versions for vulnerabilities 8. Review map of URLs to find interesting file extensions, directories, etc. with clues about the technologies in use
  • 65. httprint • Not updated since 2005 (link Ch 4j) • Alternatives include nmap, Netcraft, and SHODAN (Link Ch 4k) • Also the Wappalyzer Chrome extension
  • 66. Hack Steps 9. Review names of session tokens to identify technologies being used 10. Use lists of common technologies, or Google, to identify technologies in use, or discover other websites that use the same technologies 11. Google unusual cookie names, scripts, HTTP headers, etc. If possible, download and install the software to analyze it and find vulnerabilities
  • 67. Identifying Server-Side Functionality • .jsp - Java Server Pages • OrderBy parameter looks like SQL • isExpired suggests that we could get expired content by changing this value
  • 68. Identifying Server-Side Functionality • .aspx - Active Server Pages (Microsoft) • template - seems to be a filename and loc - looks like a directory; may be vulnerable to path traversal • edit - maybe we can change files if this is true • ver - perhaps changing this will reveal other functions to attack
  • 69. Identifying Server-Side Functionality • .php - PHP • Connecting to an email server, with user-controllable content in all fields • May be usable to send emails • Any fields may be vulnerable to email header injection
  • 70. Identifying Server-Side Functionality • Change action to "edit" or "add" • Try viewing other collections by changing the ip number
  • 71. Extrapolating Application Behavior • An application often behaves consistently across the range of its functionality • Because code is re-used or written by the same developer, or to the same specifications • So if your SQL injections are being filtered out, try injecting elsewhere to see what filtering is in effect
  • 72. Extrapolating Application Behavior • If app obfuscates data, try finding a place where a user can enter an obfuscated sting and retrieve the original • Such as an error message • Or test systematically-varying values and deduce the obfuscation scheme
  • 74. Error Handling • Some errors may be properly handled and give little information
 Others may crash and return verbose error information
  • 75.
  • 76. Isolate Unique Application Behavior • App may use a consistent framework that prevents attacks • Look for extra parts "bolted on" later, which may not be integrated into the framework • Debug functions, CAPTCHAs, usage tracking, third-party code • Different GUI appearance, parameter naming conventions, comments in source code
  • 77. Mapping the Attack Surface • Client-side validation • Database interaction -- SQL injection • File uploading and downloading -- Path traversal, stored XSS • Display of user-supplied data - XSS • Dynamic redirects -- Redirection and header attacks
  • 78. Mapping the Attack Surface • Social networking features -- username enumeration, stored XSS • Login -- Username enumeration, weak passwords, brute-force attacks • Multistage login -- Logic flaws • Session state -- Predictable tokens, insecure token handling
  • 79. Mapping the Attack Surface • Access controls -- Horizontal and vertical privilege escalation • User impersonation functions -- Privilege escalation • Cleartext communications -- Session hijacking, credential theft • Off-site links -- Leakage of query string parameters in the Referer header • Interfaces to external systems -- Shortcuts handling sessions or access controls
  • 80. Mapping the Attack Surface • Error messages -- Information leakage • Email interaction -- Email or command injection • Native code components or interaction -- Buffer overflows • Third-party components -- Known vulnerabilities • Identifiable Web server -- Common configuration errors, known bugs
  • 81. Example • /auth contains authentication functions -- test session handling and access control • /core/sitestats -- parameters; try varying them; try wildcards like all and * ; PageID contains a path, try traversal • /home -- authenticated user content; try horizontal privilege escalation to see other user's info
  • 82. Example • /icons and /images -- static content, might find icons indicating third- party content, but probably nothing interesting here • /pub -- RESTful resources under / pub/media and /pub/user; try changing the numerical value at the end • /shop -- online shopping, all items handled similarly; check logic for possible exploits