©2009 Justin C. Klein Keane PHP Code Auditing Session 6 Auditing Strategies & Demonstration Justin C. Klein Keane

Slides:



Advertisements
Similar presentations
Incident Handling & Log Analysis in a Web Driven World Manindra Kishore.
Advertisements

©Copyright Justin C. Klein Keane PHP Vulnerability Potpourri File Include, Command Injection & Authentication Bypass Vulnerabilities.
©2009 Justin C. Klein Keane PHP Code Auditing Session 4.2 – File Include Vulnerabilities Justin C. Klien Keane
Infosec 2012 | 25/4/12 Application Performance Monitoring Ofer MAOR CTO Infosec 2012.
Hands on Demonstration for Testing Security in Web Applications
©2009 Justin C. Klein Keane PHP Code Auditing Session 3 – Tools of the Trade & Crafting Malicious Input Justin C. Klein Keane
©2009 Justin C. Klein Keane PHP Code Auditing Session 5 XSS & XSRF Justin C. Klein Keane
Automated Web Patrol with Strider Honey Monkeys: Finding Web Sites That Exploit Browser Vulnerabilities AUTHORS: Yi-Min Wang, Doug Beck, Xuxian Jiang,
©2009 Justin C. Klein Keane PHP Code Auditing Session 4.3 – Information Disclosure & Authentication Bypass Justin C. Klein Keane
WebGoat & WebScarab “What is computer security for $1000 Alex?”
It’s always better live. MSDN Events Securing Web Applications Part 1 of 2 Understanding Threats and Attacks.
©2009 Justin C. Klein Keane PHP Code Auditing Session 7 Sessions and Cookies Justin C. Klein Keane
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
©2009 Justin C. Klein Keane PHP Code Auditing Session 4.1 – Command Injection Justin C. Klein Keane
Security Engineering II. Problem Sources 1.Requirements definitions, omissions, and mistakes 2.System design flaws 3.Hardware implementation flaws, such.
Copyright 2009 Justin C. Klein Keane PHP Code Auditing Session 1 – PHP Foundations Justin C. Klein Keane
Web server security Dr Jim Briggs WEBP security1.
Sara SartoliAkbar Siami Namin NSF-SFS workshop July 14-18, 2014.
Injection Attacks by Example SQL Injection and XSS Adam Forsythe Thomas Hollingsworth.
Project Implementation for COSC 5050 Distributed Database Applications Lab1.
Incident Response Updated 03/20/2015
OWASP Mobile Top 10 Why They Matter and What We Can Do
Large-scale application security Charlie Eriksen.
Web Security Demystified Justin C. Klein Keane Sr. InfoSec Specialist University of Pennsylvania School of Arts and Sciences Information Security and Unix.
Introduction to Application Penetration Testing
Chapter 15: Security (Part 1). The Security Problem Security must consider external environment of the system, and protect the system resources Intruders.
AIS, Passwords Should not be shared Should be changed by user Should be changed frequently and upon compromise (suspected unauthorized disclosure)
Brad Baker CS526 May 7 th, /7/ Project goals 2. Test Environment 3. The Problem 4. Some Solutions 5. ModSecurity Overview 6. ModSecurity.
Drupal Security Securing your Configuration Justin C. Klein Keane University of Pennsylvania School of Arts and Sciences Information Security and Unix.
Pen testing to ensure your security
A Security Review Process for Existing Software Applications
Software Assurance Session 15 INFM 603. Bug hunting vs. vulnerability spotting Bugs are your code not behaving as you designed it. Many can be found by.
Copyright Justin C. Klein Keane Drupal Threat Landscape.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.
Internet and Intranet Fundamentals Class 9 Session A.
Web Application Security ECE ECE Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 1 RubyJax Brent Morris/
Interception and Analysis Framework for Win32 Scripts (not for public release) Tim Hollebeek, Ph.D.
1 Vulnerability Assessment of Grid Software James A. Kupsch Computer Sciences Department University of Wisconsin Condor Week 2007 May 2, 2007.
1 Topic 2: Lesson 3 Intro to Firewalls Summary. 2 Basic questions What is a firewall? What is a firewall? What can a firewall do? What can a firewall.
Fundamentals of Proxying. Proxy Server Fundamentals  Proxy simply means acting on someone other’s behalf  A Proxy acts on behalf of the client or user.
CSCE 548 Secure Software Development Taxonomy of Coding Errors.
1 Security Penetration Testing Angela Davis Mrinmoy Ghosh ECE4112 – Internetwork Security Georgia Institute of Technology.
Automated Web Patrol with Strider HoneyMonkeys: Finding Web Sites That Exploit Browser Vulnerabilities Yi-Min Wang, Doug Beck, Xuxian Jiang, Roussi Roussev,
1 The current lesson plans provided for in Webgoatv2 include Http Basics How to Perform Database Cross Site Scripting (XSS) How to Spoof an Authentication.
Topics Network topology Virtual LAN Port scanners and utilities Packet sniffers Weak protocols Practical exercise.
SECURITY IN CLOUD COMPUTING By Bina Bhaskar Anand Mukundan.
Lecture 16 Page 1 CS 236 Online Web Security CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Web Security Group 5 Adam Swett Brian Marco. Why Web Security? Web sites and web applications constantly growing Complex business applications are now.
Presented By: Chandra Kollipara. Cross-Site Scripting: Cross-Site Scripting attacks are a type of injection problem, in which malicious scripts are injected.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Computer Security By Duncan Hall.
What Is XSS ? ! Cross-site scripting (XSS) is a type of computer security vulnerability typically found in Web applications. XSS enables attackers to.
EECS 354: Network Security Group Members: Patrick Wong Eric Chan Shira Schneidman Web Attacks Project: Detecting XSS and SQL Injection Vulnerabilities.
Web Application (In)security Note: Unless noted differently, all scanned figures were from the textbook, Stuttard & Pinto, 2011.
Unit 2 Personal Cyber Security and Social Engineering Part 2.
Page 1 Ethical Hacking by Douglas Williams. Page 2 Intro Attackers can potentially use many different paths through your application to do harm to your.
Lecture 19 Page 1 CS 236 Online 6. Application Software Security Why it’s important: –Security flaws in applications are increasingly the attacker’s entry.
Threat Modeling - An Overview All Your Data is Mine
WEB APPLICATION TESTING
Security Testing Methods
Penetration Test Debrief
A Security Review Process for Existing Software Applications
Copyright Justin C. Klein Keane
Intro to Ethical Hacking
Lecture 2 - SQL Injection
6. Application Software Security
Exploring DOM-Based Cross Site Attacks
Presentation transcript:

©2009 Justin C. Klein Keane PHP Code Auditing Session 6 Auditing Strategies & Demonstration Justin C. Klein Keane

©2009 Justin C. Klein Keane Installing the Exercise Download and install Vmware Player or Vmware Fusion Download and extract the target image Be sure PHP Eclipse is set up with RSE

©2009 Justin C. Klein Keane First Looks Start up the virtual machine and log in with root/password Retrieve the ip address Browse the IP in a web browser on your host system Connect to the target with Eclipse SSH to the target with PuTTY or similar

©2009 Justin C. Klein Keane Strategies for Finding Vulns Black box testing  View the application from the end user perspective Logical pathways  Follow the flow of the code Vulnerability checklist  Examine the code once for each type of vuln Linear approach  Parse through the code systematically

©2009 Justin C. Klein Keane Time vs. Thoroughness Plan your audit based on the available time and the criticality of your target  Black box testing is least time intensive but is also least thorough  Linear approach is very time intensive but also extremely thorough (it can catch orphaned code and other problems)  Vulnerability checklist and logical pathway approaches are good compromises

©2009 Justin C. Klein Keane Take Notes Be sure to document vulnerabilities  Even if you can't exploit them, someone else could Be sure to note every potential exploit Tendency to “target fixate” may result in overlooking trivial vulnerabilities in hunt for severe ones Notes should include vulnerability type, file location, and relevant lines of code

©2009 Justin C. Klein Keane Black Box Testing Surface analysis of the application from the user perspective  Examine the application without looking at the code  Try to identify potential areas of exploitation  Turn to the code after and try to find vulnerabilities  Can be aided by automated tools and proxies

©2009 Justin C. Klein Keane Logical Pathways Follow the program flow in an IDE Begin looking at the code from points of entry Trace code through to termination and display Will overlook orphaned code and things like documentation or other artifacts Branching can sidetrack you so take careful notes

©2009 Justin C. Klein Keane Vulnerability Checklist Target vulnerabilities one at a time Start with one class of vulnerability, such as SQL injection Find all functions that could trigger that vulnerability, such as mysql_query(), using utilities like 'find' and 'grep' Custom applications may abstract these functions, so you may have to look for the abstraction layer This process is more difficult with vulnerabilities that don't have a specific trigger, such as authentication bypass or logic flaws

©2009 Justin C. Klein Keane Linear Approach Most thorough, and time consuming Review the application externally Review the code for flow and functional comprehension Go through each file of the application line by line looking for any class of vulnerability Utilize both internal and external perspectives

©2009 Justin C. Klein Keane In a Pinch If time is an issue tailor your vulnerability review to risk assessment If the application has no valuable data, SQL injection should focus on attackers hosting malicious content or enabling social engineering rather than exposing sensitive data Be sure to understand threat models! Just because you don't see a value doesn't mean an attacker won't

©2009 Justin C. Klein Keane Vulnerability Report Be sure to note every vulnerability you identify, regardless of whether it can be exploited Try and rank vulnerabilities in terms of criticality, for example:  High: exploit compromises entire host or can compromise other applications/services  Medium: exploit could cause denial of service or expose clients to attack  Low: denial of service or non sensitive information disclosure Note that type of data/application will influence severity ranking

©2009 Justin C. Klein Keane Exercise Let's identify some vulnerabilities in the exercise  Authentication bypass  SQL Injection  XSS  Arbitrary command execution  Arbitrary file upload