Security Scanners Mark Shtern. Popular attack targets Web – Web platform – Web application Windows OS Mac OS Linux OS Smartphone.

Slides:



Advertisements
Similar presentations
Nick Feamster CS 6262 Spring 2009
Advertisements

What is code injection? Code injection is the exploitation of a computer bug that is caused by processing invalid data. Code injection can be used by.
HI-TEC 2011 SQL Injection. Client’s Browser HTTP or HTTPS Web Server Apache or IIS HTML Forms CGI Scripts Database SQL Server or Oracle or MySQL ODBC.
Creating Stronger, Safer, Web Facing Code JPL IT Security Mary Rivera June 17, 2011.
Common Exploits Aaron Cure Cypress Data Defense. SQL Injection.
WebGoat & WebScarab “What is computer security for $1000 Alex?”
By Brian Vees.  SQL Injection  Username Enumeration  Cross Site Scripting (XSS)  Remote Code Execution  String Formatting Vulnerabilities.
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
Information Networking Security and Assurance Lab National Chung Cheng University The Ten Most Critical Web Application Security Vulnerabilities Ryan J.W.
It’s always better live. MSDN Events Securing Web Applications Part 1 of 2 Understanding Threats and Attacks.
Sara SartoliAkbar Siami Namin NSF-SFS workshop July 14-18, 2014.
Browser Exploitation Framework (BeEF) Lab
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Exploits: XSS, SQLI, Buffer Overflow
Lecture 16 Page 1 CS 236 Online Cross-Site Scripting XSS Many sites allow users to upload information –Blogs, photo sharing, Facebook, etc. –Which gets.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
WEB SECURITY WORKSHOP TEXSAW 2013 Presented by Joshua Hammond Prepared by Scott Hand.
Web Application Attacks ECE 4112 Fall 2007 Group 9 Zafeer Khan & Simmon Yau.
Web Application Vulnerabilities Checklist. EC-Council Parameter Checklist  URL request  URL encoding  Query string  Header  Cookie  Form field 
Workshop 3 Web Application Security Li Weichao March
Cross-Site Scripting Vulnerabilities Adam Doupé 11/24/2014.
Prevent Cross-Site Scripting (XSS) attack
Lets Make our Web Applications Secure. Dipankar Sinha Project Manager Infrastructure and Hosting.
WEB SECURITY WEEK 3 Computer Security Group University of Texas at Dallas.
Server-side Scripting Powering the webs favourite services.
CSCI 6962: Server-side Design and Programming Secure Web Programming.
Lecture 14 – Web Security SFDV3011 – Advanced Web Development 1.
Web Application Access to Databases. Logistics Test 2: May 1 st (24 hours) Extra office hours: Friday 2:30 – 4:00 pm Tuesday May 5 th – you can review.
Ladd Van Tol Senior Software Engineer Security on the Web Part One - Vulnerabilities.
1-Vulnerabilities 2-Hackers 3-Categories of attacks 4-What a malicious hacker do? 5-Security mechanisms 6-HTTP Web Servers 7-Web applications attacks.
© All rights reserved. Zend Technologies, Inc. PHP Security Kevin Schroeder Zend Technologies.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
Web Server Administration Chapter 7 Installing and Testing a Programming Environment.
1 Internet Browsing Vulnerabilities and Security ECE4112 Final Lab Ye Yan Frank Park Scott Kim Neil Joshi.
Web Application Security ECE ECE Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.
Top Five Web Application Vulnerabilities Vebjørn Moen Selmersenteret/NoWires.org Norsk Kryptoseminar Trondheim
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Web Security.
October 3, 2008IMI Security Symposium Application Security through a Hacker’s Eyes James Walden Northern Kentucky University
Security Attacks CS 795. Buffer Overflow Problem Buffer overflows can be triggered by inputs that are designed to execute code, or alter the way the program.
Web Applications Testing By Jamie Rougvie Supported by.
By Sean Rose and Erik Hazzard.  SQL Injection is a technique that exploits security weaknesses of the database layer of an application in order to gain.
Web Server Administration Chapter 7 Installing and Testing a Programming Environment.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 9 1COMP9321, 15s2, Week.
Web Security Lesson Summary ●Overview of Web and security vulnerabilities ●Cross Site Scripting ●Cross Site Request Forgery ●SQL Injection.
Security Attacks CS 795. Buffer Overflow Problem Buffer overflow Analysis of Buffer Overflow Attacks.
Copyright © The OWASP Foundation This work is available under the Creative Commons SA 2.5 license The OWASP Foundation OWASP Denver February 2012.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
By Collin Donaldson. Hacking is only legal under the following circumstances: 1.You hack (penetration test) a device/network you own. 2.You gain explicit,
SlideSet #20: Input Validation and Cross-site Scripting Attacks (XSS) SY306 Web and Databases for Cyber Operations.
Web Security (cont.) 1. Referral issues r HTTP referer (originally referrer) – HTTP header that designates calling resource  Page on which a link is.
Group 18: Chris Hood Brett Poche
Building Secure ColdFusion Applications
Web Application Vulnerabilities
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Introduction to Dynamic Web Programming
Section 6.3 Server-side Scripting
TOPIC: Web Security (Part-4)
Security: Exploits & Countermeasures
Security: Exploits & Countermeasures
World Wide Web policy.
Penetration Testing following OWASP
Database Driven Websites
Lecture 2 - SQL Injection
Security: Exploits & Countermeasures
Security: Exploits & Countermeasures
Security: Exploits & Countermeasures
Lecture 27 Security I April 4, 2018 Open news web sites.
Cross Site Request Forgery (CSRF)
Presentation transcript:

Security Scanners Mark Shtern

Popular attack targets Web – Web platform – Web application Windows OS Mac OS Linux OS Smartphone

Web platform vulnerabilities Sample files in production environment Configured incorrectly Source code disclosure Canonicalization Server extensions Input validation (e.g. buffer overflow)

Web Application SQL Injection (not only in web applications) Cross-Site Scripting Cross Site Request Forgery

OSs Misconfiguration Input validation (e.g. buffer overflow) Design Flaws

Vector of Attack

SQL Injection The ability to inject SQL commands into the database engine through an existing application

What is SQL? SQL stands for Structured Query Language Allows us to access a database ANSI and ISO standard computer language – The most current standard is SQL99 SQL can: – execute queries against a database – retrieve data from a database – insert new records in a database – delete records from a database – update records in a database

SQL Queries With SQL, we can query a database and have a result set returned A query looks like this: SELECT LastName FROM users WHERE UserID = 5;

SQL Data Manipulation Language (DML) SQL includes a syntax to update, insert, and delete records: – SELECT - extracts data – UPDATE - updates data – INSERT INTO - inserts new data – DELETE - deletes data

SQL Data Definition Language (DDL) The Data Definition Language (DDL) part of SQL: – Creates or deletes database tables – Defines indices (keys) – Specifies links between tables – Imposes constraints between database tables Some of the most commonly used DDL statements in SQL are: – CREATE TABLE - creates a new database table – ALTER TABLE - alters (changes) a database table – DROP TABLE - deletes a database table

Example Common vulnerable login query SELECT * FROM users WHERE login = ‘root' AND password = ' 123 ' (If it returns something then login!)

Example formusr = root' or 1=1 – – formpwd = anything Final query would look like this: SELECT * FROM users WHERE username = ‘root' or 1=1 – – AND password = 'anything'

Countermeasures Do not use string concatenation or string replacement Use prepared or parameterized SQL statements, also known as prepared statements Encrypt the underlying data such that it cannot be disclosed in the case of a SQL injection– induced breach Validate the data being used in the SQL statement

Cross-Site Scripting (XSS ) Scripting: Web Browsers can execute commands – Embedded in HTML page – Supports different languages (JavaScript, VBScript, ActiveX, etc.) – Most prominent: JavaScript “Cross-Site” means: Foreign script sent via server to client – Attacker makes Web-Server deliver malicious script code – Malicious script is executed in Client’s Web Browser Attack: – Steal Access Credentials, Denial-of-Service, Modify Web pages – Execute any command at the client machine

Simple XSS attack JSP page Attack alert(“Attack”)

XSS Example Attacker – Posts forum message Subject: “Get free money” Body attack code WEB Server – Stores the post User – Reads the message – Malicious code executed

Cross-Site Scripting The three conditions for Cross-Site Scripting: – A Web application accepts user input – The input is used to create dynamic content – The input is insufficiently validated

Cross Site Request Forgery Exploits a website’s trust in the user/browser Generally involves websites that rely on the identity of the users Performs HTTP requests of the attacker’s choosing Intent is to trick a user into performing an HTTP request/action Attack is not “personal”

Cross Site Request Forgery Websites use URLs to specify requests for an action Example (from wikipedia) – Instead of the withdrawal happening from inside the banking website, an image in Mallory’s website attempts to trigger a transfer from Bob’s bank account to Mallory’s which will work if Bob’s bank cookie has not expired

Typical CSRF Process Attacker posts an IMG tag or other code that sends an HTTP request Code posted usually causes a request to be made to another site (hence the term “cross- site”) Victim loads page with bad code Victim unknowingly causes an HTTP request to be sent

Countermeasures Web application should insert random values, tied to the specified user’s session, into the forms it generates Web application should re-authenticate every time when users are about to perform a particularly dangerous operation

Security Scanners

Automatic testing tools Metasploit Openvas Nikto WEB Proxies (Paros, WebScarab, RAT Proxy, Spike Proxy) Sqlmap, Wapiti

Metasploit Metasploit is an open source penetration testing framework Automatic Exploitation (Autopwn) Msfconsole db_create db_nmap db_autopwn –t –p –e Session –i [id]

OpenVas The “OpenVas” security scanner audits remotely a given network and determines whether someone (or something - like a worm) may break into it, or misuse it in some way Released under GNU/GPL Client/Server application

OpenVas The “OpenVas” security scanner audits remotely a given network and determines whether someone (or something - like a worm) may break into it, or misuse it in some way Released under GNU/GPL Client/Server application

Operation steps Create certificate Create user Start server (openvasd -D) Start client (openvas) Configure client Run scan