Finding High-Risk Web Vulnerabilities with a Small Number of Generic Payloads Detecting Server-Side Injection Vulnerabilities using Expression Probing.

Slides:



Advertisements
Similar presentations
Session 1 & 2BBK P1 Module5-May-2007 : [‹#›] PHP: The Basics.
Advertisements

1 MTvScan (Malware, Trojan, Viruses Scanner) Enterprise Class Security Scanner.
WebGoat & WebScarab “What is computer security for $1000 Alex?”
How Did I Steal Your Database Mostafa
OWASP Xenotix XSS Exploit Framework
Automating Bespoke Attack Ruei-Jiun Chapter 13. Outline Uses of bespoke automation ◦ Enumerating identifiers ◦ Harvesting data ◦ Web application fuzzing.
Guide To UNIX Using Linux Third Edition
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
Nikto LUCA ALEXANDRA ADELA. Nikto  Web server assessment tool  Written by Chris Solo and David Lodge  Released on December 27, 2001  Stable release:
W3af LUCA ALEXANDRA ADELA – MISS 1. w3af  Web Application Attack and Audit Framework  Secures web applications by finding and exploiting web application.
SQL Power Injector Avadanei AlinBalan Robert. What is SQL Power Injector ?  A graphical application created in C#.Net 1.1 that helps the penetration.
Analysis of SQL injection prevention using a proxy server By: David Rowe Supervisor: Barry Irwin.
INTERNET APPLICATION DEVELOPMENT For More visit:
A Security Review Process for Existing Software Applications
Exploitation: Buffer Overflow, SQL injection, Adobe files Source:
Attacking Applications: SQL Injection & Buffer Overflows.
CSC-682 Cryptography & Computer Security Sound and Precise Analysis of Web Applications for Injection Vulnerabilities Pompi Rotaru Based on an article.
CMPS 211 JavaScript Topic 1 JavaScript Syntax. 2Outline Goals and Objectives Goals and Objectives Chapter Headlines Chapter Headlines Introduction Introduction.
Attacking Data Stores Brad Stancel CSCE 813 Presentation 11/12/2012.
Injection CSC 482/582: Computer SecuritySlide #1.
Introduction to PHP Advanced Database System Lab no.1.
Aniket Joshi Justin Thomas. Agenda Introduction to SQL Injection SQL Injection Attack SQL Injection Prevention Summary.
SQL – Injections Intro. Prajen Bhadel College of Information Technology & Engeneering Kathmandu tinkune Sixth semister.
PwC New Technologies New Risks. PricewaterhouseCoopers Technology and Security Evolution Mainframe Technology –Single host –Limited Trusted users Security.
PHP Error Handling & Reporting. Error Handling Never allow a default error message or error number returned by the mysql_error() and mysql_errno() functions.
WebWatcher A Lightweight Tool for Analyzing Web Server Logs Hervé DEBAR IBM Zurich Research Laboratory Global Security Analysis Laboratory
EECS 354: Network Security Group Members: Patrick Wong Eric Chan Shira Schneidman Web Attacks Project: Detecting XSS and SQL Injection Vulnerabilities.
8 th Semester, Batch 2009 Department Of Computer Science SSUET.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 14 Web Database Programming Using PHP.
1 PHP Intro PHP Introduction After this lecture, you should be able to: Know the fundamental concepts of Web Scripting Languages in general, PHP in particular.
Dr. Abdullah Almutairi Spring PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages. PHP is a widely-used,
PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages. PHP is a widely-used, free, and efficient alternative.
Andrés Riancho ariancho cybsec.com w3af – A framework to own the Web CanSecWest 2008 Vancouver, Canada.
PHP Basics and Syntax Lesson 3 ITBS2203 E-Commerce for IT.
PHP using MySQL Database for Web Development (part II)
CGS 3066: Web Programming and Design Spring 2017
Tool Support for Testing
Introduction to PHP and MySQL – Creating Database-Driven Websites
Group 18: Chris Hood Brett Poche
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Automatic Web Security Unit Testing: XSS Vulnerability Detection Mahmoud Mohammadi, Bill Chu, Heather Richter, Emerson Murphy-Hill Presenter:
WEB APPLICATION TESTING
Scripting Languages Info derived largely from Programming Language Pragmatics, by Michael Scott.
SQL Injection.
Penetration Testing Karen Miller.
Web Application Firewall Bypassing – an approach for pentesters
Database Systems: Design, Implementation, and Management Tenth Edition
PHP (PHP: Hypertext Preprocessor)
A Security Review Process for Existing Software Applications
Penetration Test Debrief
PHP / MySQL Introduction
PHP Introduction.
Intro to PHP & Variables
Web Systems Development (CSC-215)
Speaker: Shane Jahnke CS 6910 – Advanced System Security & Design
PHP.
Web DB Programming: PHP
Lecture 2 - SQL Injection
Web Hacking: Beginners
Cyber Operation and Penetration Testing Social Engineering Attack and Web-based Exploitation Cliff Zou University of Central Florida.
Security at the Source.
Intro to PHP.
CS5123 Software Validation and Quality Assurance
Database Systems: Design, Implementation, and Management Tenth Edition
PHP Forms and Databases.
PHP an introduction.
Loops CGS3416 Spring 2019 Lecture 7.
CS105 Introduction to Computer Concepts Intro to programming
Enterprise Class Security Scanner
Presentation transcript:

Finding High-Risk Web Vulnerabilities with a Small Number of Generic Payloads Detecting Server-Side Injection Vulnerabilities using Expression Probing

HELLO! San-Tsai Sun, PhD Info Sec UBC Advanced Security Engineer Information Security, Staples san-tsai.sun@staples.ca Penetration Test Static/Dynamic Vulnerability Scan Source Code Review Risk Analysis/Threat Modeling Application Security Design Consultancy

A Light Weight Approach to Vulnerability Scan Complimentary to Automatic Scan

Pitfalls of Automatic Scanner Millions of Payloads Impact on System Performance, Availability, Intrusive Triger IDS/IPS, WAF Alerts IP Blocking IT Investigation Efforts False Negatives Unknown Language/Technology Filter and Variants Pitfalls of Automatic Scanner

An Alternative Approach Tiny Network Footprint Quick, Negligible System Impact, Avoid IP Blocking Resistance to WAF and Input Filter Agnostic to Application Platform and Language Generic Payloads Detect Unknown Class of Vulnerabilities An Alternative Approach

“The root cause of server-side injection vulnerabilities is that user-controlled input data  is treated as code by the server-side programming logic” SQL (MS SQL, MySQL, Oracle, etc), PHP, C#/VB.NET, Java, XPath, LDAP, OGNL, and many template engines

Probing Situational Context Is in Numeric Expression? Is in Single or Double Quote String? What are escape characters? Is in a File Path? Is in Interpolation Expression? Concatenation Operators? Can call functions? What is the underlying language? etc. Probing Situational Context

Input Data Value == Expression? 123 == 123/(2-1) == 123/abs(1) == 123/power(unix_timestamp(),0) == 123/to_number(‘1’) Injected by tester

Base Probe Break Probe Fix Probe Normal Response One per end-point under testing Break Probe Cause error (e.g., ‘, /0 ) “Break” the parsing or execution of underlying language Fix Probe “Fix” error (e.g., ‘‘, /01 ) Response similar to base Payload syntactcally similar to Break Break-Fix Probing

Is in Numeric Expression? 123 Base Response Base Core Logic 123/0 123/1 Vulnerable No Yes Break Fix Match Base? Match Base? No Yes May Not Vulnerable Each Break-Fix Pair anwser one Single Question Knowledge is Build graguatelly via sequence probings

Is \ an escape character? foo Base Response Base Core Logic foo‘ foo\‘ Vulnerable No Yes Break Fix Match Base? Match Base? No Yes May Not Vulnerable Each Break-Fix Pair anwser one Single Question Knowledge is Build graguatelly via sequence probings

Example: SQL Injection in Numeric value Questions Break Fix Divided by 0 123/0 123/01 Divided by Expression 123/(3-3) 123/(2-1) Generic Function Injection 123/abf(1) 123/abs(1) Language Specifc Function Injection 123/power(current_request_ic(),0) 123/power(current_request_id(),0) Example: SQL Injection in Numeric value unix_timestamp() for MySQL, Oracle to_number(‘1’) for Oracle

Example: SQL Injection in String value Question Break Fix Type of Quote x’x X’’x Concatenation x+’x xx’+’x Generic Function Injection x’+abf(1)+’x x’+abs(1)+’x Language Specifc Function Injection x’+power(current_request_ic(),0) +’x x’+power(current_request_id(),0) +’x Example: SQL Injection in String value unix_timestamp() for MySQL, Oracle to_number(‘1’) for Oracle

SQL Injetion Detection using Burp Intruder DEMO SQL Injetion Detection using Burp Intruder

Break Fix ../../filename ././filename , ; & x%{{xx${{x }}%x}}$x x${{x Question Break Fix In File Path? ../../filename ././filename In OS command (linux)? , ; In OS command (Win)? & Interpolation Fuzz x%{{xx${{x }}%x}}$x Interpolation-Dollar x${{x }}$x Interpolation-Percent X%{{x }}%x Order By 1,abs(1,2) 1,abs(1) Useful Probes

Manual Semi-Manual Automatic Burp Repeater Any HTTP payload manipulation tool Semi-Manual Burp Intruder Automatic Backslash-Powered-Scanner-Burp Pro Extension Probing Tools

THANKS! Any questions? You can find me at san-tsai.sun@staples.ca santsaisun@gmail.com