Top Banner
Web Application Security ECE 4112
18

Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

Jan 02, 2016

Download

Documents

Solomon James
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

Web Application Security

ECE 4112

Page 2: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

What is a Web Application?

• An application generally comprised of a collection of scripts that reside on a Web Server

• Interacts with databases or other sources of dynamic content

• Examples include: search engines, webmail, shopping carts and portal systems

Page 3: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

Web Applications Breach the Perimeter

Page 4: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

Web Application Vulnerabilities

• Generally stem from improper handling of client requests and/or lack of input validation checking

• Web applications are publicly accessible

• Process data elements from within HTTP requests

• Fail to identify how data elements were captured – difficult to know what kind of validation and sanity checking to use

Page 5: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

The Root of the Issue: Input Validation

• Can be difficult to locate in a large code base

• Penetration testing used to expose problems

• Web applications subject to traditional forms of attack

Page 6: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

SQL Injection Vulnerabilities

• Stems from failure of developers to strip user input of potentially “nasty” characters prior to input use

• Can lead to varying levels of data/system access for attacker

• May allow read in or write out to files, execution of shell commands on underlying OS

Page 7: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

Locating SQL Injection Vulnerabilities

• Studying application inputs and inserting special characters

• Most popular database backends give informative error messages, yielding clues about SQL syntax

http://www.abc.com/app.asp?user=jason&password=’ OR ‘1’=’1

http://www.abc.com/app.asp?user=jason&password=’

Page 8: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

Testing For SQL Injection

Page 9: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

JSP Code Example:

String username = request.getParameter(“user”);

String password = request.getParameter(“password”);

String SQLQuery = “SELECT Username FROM Users WHERE Username = ‘” +

username + “’ AND Password = ‘” + password + “’”;

Statement stmt = dbConnection.createStatement();

ResultSet resultSet = stmt.executeuery(SQLQuery);

String checkAuth = resultSet.getString(1);

boolean authenticated = false;

if(checkAuth == null)

authenticated = false;

else

authenticated = true;

Page 10: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

Web Form Example:

Login:‘ OR ‘1’=’1Password:‘ OR ‘1’=’1

Now the SQL Query becomes:SELECT Username FROM Users WHERE

Username = ‘’ OR ‘1’=’1’ AND

Password = ‘’ OR ‘1’=’1’

Page 11: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

OS Commanding

• If a hacker can access your cmd.exe or a copy of it, he can use it to execute arbitrary commands on your web browser.

• In conjunction with tftp, a hacker could use this to download his own tools to the machine and compromise the machine further.

Page 12: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

Cross Site Scripting

• Also known as XSS• Embed Javascript into page that

executes on view• Commonly used to display and

redirect user cookie data• Particularly vulnerable are message

boards and web forms

Page 13: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

Cross Site Scripting Examples

<script>alert(document.cookie)</script>

Can display user’s cookie which can contain session and authentication information

• Gmail XSS Vulnerability - Fixed zx variable used in authentication can

contain exploitable scripts

• Often the script text is converted to hex characters to hide its intent

Page 14: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

Phishing Attacks

• Attacker creates replica login page that forwards information to them

• Usually attack financial institutions• Spread by email that persuades

users to access the fake page and login

• October 2004, 1142 phishing sites up from 542 in September.

Page 15: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

Phishing Examples

• Citibank recent target www.citibank.com/domain/email_scam.htm

• Newer sophisticated attacks being used by organized crime groups to collect credit card and social security numbers

• Email links can contain IP address instead of DNS name in email link

Page 16: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

Achilles Web Proxy

• Achilles acts as a HTTP/HTTPS proxy that allows a user to intercept, log, and modify web traffic on the fly.

• By modifying parameters, a user can potentially alter the contents of hidden fields or gain access to additional resources.

• Can also be used to change cookie values.

Page 17: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

What you will do in this lab:

• Information Gathering using nmap and netcat

• SQL Injection• OS Commanding• Cross Site Scripting• Phishing Attacks• Achilles Web Proxy

Page 18: Web Application Security ECE 4112. ECE 4112 - Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.

ECE 4112 - Internetwork Security

Resources

• Lecture Slides excerpted from: http://www.securityfocus.com/infocus/1709 http://www.securityfocus.com/infocus/1722 http://www.securityfocus.com/infocus/1704 “Phishing spreads the net wider.” Computer Weekly. November 2004. http://www.securitytracker.com/alerts/2004/Nov/1012289.html “Cross-Site Scripting.” SPIDynamics. “Top Web App Attack Methods and How to Combat Them.” SPIDynamics. http://www.mavensecurity.com/achilles