External Network & Web Application Assessment. For The XXX Group LLC October 2012



Similar documents
Web Application Security

Check list for web developers

Magento Security and Vulnerabilities. Roman Stepanov

Cracking the Perimeter via Web Application Hacking. Zach Grace, CISSP, CEH January 17, Mega Conference

FINAL DoIT v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

Application Security Testing. Generic Test Strategy

Risk Analysis Report [Implementation Constraints]

ASP.NET MVC Secure Coding 4-Day hands on Course. Course Syllabus

What is Web Security? Motivation

EVALUATING COMMERCIAL WEB APPLICATION SECURITY. By Aaron Parke

BASELINE SECURITY TEST PLAN FOR EDUCATIONAL WEB AND MOBILE APPLICATIONS

5 Simple Steps to Secure Database Development

Application security testing: Protecting your application and data

Web Application Attacks and Countermeasures: Case Studies from Financial Systems

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

HTTPParameter Pollution. ChrysostomosDaniel

Project 2: Web Security Pitfalls

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.

Adobe Systems Incorporated

The Top Web Application Attacks: Are you vulnerable?

Introduction:... 1 Security in SDLC:... 2 Penetration Testing Methodology: Case Study... 3

Where every interaction matters.

(WAPT) Web Application Penetration Testing

Criteria for web application security check. Version

Øredev Web application testing using a proxy. Lucas Nelson, Symantec Inc.

Advanced Web Technology 10) XSS, CSRF and SQL Injection 2

Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

WebCruiser Web Vulnerability Scanner User Guide

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

Recon and Mapping Tools and Exploitation Tools in SamuraiWTF Report section Nick Robbins

Contemporary Web Application Attacks. Ivan Pang Senior Consultant Edvance Limited

Last update: February 23, 2004

Web Application Guidelines

Network Security Audit. Vulnerability Assessment (VA)

White Paper BMC Remedy Action Request System Security

Client logo placeholder XXX REPORT. Page 1 of 37

Webapps Vulnerability Report

Essential IT Security Testing

JOOMLA SECURITY. ireland website design. by Oliver Hummel. ADDRESS Unit 12D, Six Cross Roads Business Park, Waterford City

External Vulnerability Assessment. -Technical Summary- ABC ORGANIZATION

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

Threat Modeling. Categorizing the nature and severity of system vulnerabilities. John B. Dickson, CISSP

Columbia University Web Security Standards and Practices. Objective and Scope

DFW INTERNATIONAL AIRPORT STANDARD OPERATING PROCEDURE (SOP)

VIDEO intypedia007en LESSON 7: WEB APPLICATION SECURITY - INTRODUCTION TO SQL INJECTION TECHNIQUES. AUTHOR: Chema Alonso

Web application security

Web Application Attacks And WAF Evasion

Sitefinity Security and Best Practices

CMP3002 Advanced Web Technology

Secure Web Application Coding Team Introductory Meeting December 1, :00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

Chapter 1 Web Application (In)security 1

Top Ten Web Application Vulnerabilities in J2EE. Vincent Partington and Eelco Klaver Xebia

OWASP AND APPLICATION SECURITY

Web Application Report

Still Aren't Doing. Frank Kim

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh

Enhanced Model of SQL Injection Detecting and Prevention

SQL Injection for newbie

EC-Council CAST CENTER FOR ADVANCED SECURITY TRAINING. CAST 619 Advanced SQLi Attacks and Countermeasures. Make The Difference CAST.

Bug Report. Date: March 19, 2011 Reporter: Chris Jarabek

Web Application Security Considerations

Detecting Web Application Vulnerabilities Using Open Source Means. OWASP 3rd Free / Libre / Open Source Software (FLOSS) Conference 27/5/2008

Thick Client Application Security

OWASP and OWASP Top 10 (2007 Update) OWASP. The OWASP Foundation. Dave Wichers. The OWASP Foundation. OWASP Conferences Chair

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

WEB SECURITY. Oriana Kondakciu Software Engineering 4C03 Project

CSE598i - Web 2.0 Security OWASP Top 10: The Ten Most Critical Web Application Security Vulnerabilities

SECURITY ADVISORY. December 2008 Barracuda Load Balancer admin login Cross-site Scripting

SQL Injection January 23, 2013

Secure Web Development Teaching Modules 1. Threat Assessment

05.0 Application Development

Rational AppScan & Ounce Products

SECURING SELF-SERVICE PASSWORD RESET

Hack Proof Your Webapps

Bank Hacking Live! Ofer Maor CTO, Hacktics Ltd. ATC-4, 12 Jun 2006, 4:30PM

Application Security and the SDLC. Dan Cornell Denim Group, Ltd.

Web Application Security

Columbia University Web Application Security Standards and Practices. Objective and Scope

Web Application Hacking (Penetration Testing) 5-day Hands-On Course

WEB APPLICATION VULNERABILITY STATISTICS (2013)

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

Web Application Security Assessment and Vulnerability Mitigation Tests

Enterprise Application Security Workshop Series

Application and Database Security with F5 BIG-IP ASM and IBM InfoSphere Guardium

Introduction: 1. Daily 360 Website Scanning for Malware

Hacking Web Apps. Detecting and Preventing Web Application Security Problems. Jorge Blanco Alcover. Mike Shema. Technical Editor SYNGRESS

SECURE APPLICATION DEVELOPMENT CODING POLICY OCIO TABLE OF CONTENTS

Detecting and Exploiting XSS with Xenotix XSS Exploit Framework

Anybody who has a Web presence understands that

Web Applications Security: SQL Injection Attack

Six Essential Elements of Web Application Security. Cost Effective Strategies for Defending Your Business

Information Technology Policy

Lecture 11 Web Application Security (part 1)

Common Criteria Web Application Security Scoring CCWAPSS

Testing the OWASP Top 10 Security Issues

Stopping SQL Injection and. Manoranjan (Mano) Paul. Track: Operating Systems Security - Are we there yet?

How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering

Transcription:

External Network & Web Application Assessment For The XXX Group LLC October 2012 This report is solely for the use of client personal. No part of it may be circulated, quoted, or reproduced for distribution outside the client organization without prior written approval from 2Secure Corp. Page 1 of 97

Executive Summary Report The web application will be the main target for any attacker; it s essential to have numerous security measures (protection layers), protecting the application. We see an improvement from our last audit from June 2010; some of the layers implemented are old and new measures should be implemented such as Web Application Firewall (WAF) that examines the content of the traffic or the use of Database Firewall that examines requests before they arrive to the database. Part 1: Network Analysis Info 33% Low 56% Medium 11% Part 2: Application Analysis Low 17% Info 6% Medium 65% High 17% The total estimated of time needed to repair all findings is 62 hours, see below Findings Summary. Page 3 of 97

DEFAULT OR GUESSABLE (DICTIONARY file) USER ACCOUNT In the test we will use the forgotten password function to facilitate a dictionary attack; using a large file known user accounts we can enumerate a valid user by monitoring application responses. There are some ways that can be employed to find user accounts. The application provide us the option to reset account password, based on application response we can deduce that. In this test we are looking to capture a different message from Please contact Investor Services for further assistance that may identify a valid account. This test exposed one account kayne Medium Recommendation(s) 1. It is recommended that if the account does not exists; the application will present erroneous message telling the user to check his email, this way an attacker won t know if accounts are valid or not, since all of them are valid, otherwise continue with the reset process. 2. Implement the use of CAPTCHA mechanism to block this type of attack. 3. In addition, the management application should verify that none of Page 61 of 97

below items exist in dictionary files : a. Creation of new account b. Current accounts These checks will reduce the probability to find valid accounts using dictionary files Page 62 of 97

TESTING FOR BRUTE FORCE We tried to brute force password user accounts on forgot password page This is common attack where large lists of user accounts are being used to harvest many account as possible. Results: test was successful; we have retrieved one account amk High Page 63 of 97

Recommendation(s) User name is too short; enforce users to have longer user names to be at least 8 charters long in addition to above recommendations.. TESTING FOR VULNERABLE REMEMBER PASSWORD, PASSWORD RESET & AUTO COMPLETE Recommendation(s) Password Reset In this test we try to how this mechanism works and how it can be manipulated. Password Reset The password reset in this application requires entering login ID. To test this we tried to use amk This initiated a process of asking the user secret questions. None None TESTING FOR VULNERABLE REMEMBER PASSWORD, PASSWORD RESET & AUTO COMPLETE Recommendation(s) Remember Me In this test we try to how this mechanism works and how it can be manipulated. Remember Me This parameter will disable from the browser to save credentials in the browser cache, if a hacker is able to access this cache, he could read the password in clear text. None None Page 64 of 97

SQL INJECTION A SQL injection attack consists of insertion or "injection" of a SQL query via the input data from the client to the application. A successful SQL injection exploit can read sensitive data from the database, modify database data (Insert/Update/Delete), execute administration operations on the database (such as shutdown the DBMS), recover the content of a given file existing on the DBMS file system and, in some cases, issue commands to the operating system. Our target is the forgotten your password function; entering our test user ybehar Next on the security question we entered (select%201) this caused the application to bring us to the next security question. To make sure we did not have a false positive was to restart this process and enter wrong answer for the first security question instead of the injection as described above. The application brings the next security question: Page 93 of 97

And the application stopped here we need to change the injection to (select%202) to pass this Result: there is a possibility for SQL injection therefore mitigation is needed, see below recommendations. Recommendation(s) High The most effective way to prevent SQL injection attacks is to use parameterized queries (also known as prepared statements) for all database access. This method uses two steps to incorporate potentially tainted data into SQL queries: first, the application specifies the structure of the query, leaving placeholders for each item of user input; second, the application specifies the contents of each placeholder. Because the structure of the query has already defined in the first step, it is not possible for malformed data in the second step to interfere with the query structure. You should review the documentation for your database and application platform to determine the appropriate APIs which you can use to perform parameterized queries. It is strongly recommended that you parameterized every variable data item that is incorporated into database queries, even if it is not obviously tainted, to prevent oversights occurring and avoid vulnerabilities being introduced by changes elsewhere within the code base of the application. You should be aware that some commonly employed and recommended mitigations for SQL injection vulnerabilities are not always effective: One common defense is to double up any single quotation marks Page 94 of 97

appearing within user input before incorporating that input into a SQL query. This defense is designed to prevent malformed data from terminating the string in which it is inserted. However, if the data is being incorporated into queries is numeric, then the defense may fail, because numeric data may not be encapsulated within quotes, in which case only a space is required to break out of the data context and interfere with the query. Further, in second-order SQL injection attacks, data that has been safely escaped when initially inserted into the database is subsequently read from the database and then passed back to it again. Quotation marks that have been doubled up initially will return to their original form when the data is reused, allowing the defense to be bypassed. Another often cited defense is to use stored procedures for database access. While stored procedures can provide security benefits, they are not guaranteed to prevent SQL injection attacks. The same kinds of vulnerabilities that arise within standard dynamic SQL queries can arise if any SQL is dynamically constructed within stored procedures. Further, even if the procedure is sound, SQL injection can arise if the procedure is invoked in an unsafe manner using user-controllable data. Page 95 of 97

XSS - Injections Cross-Site Scripting (XSS) attacks are a type of injection problem, in which malicious scripts are injected into the otherwise benign and trusted web sites. XSS attacks occur when an attacker uses a web application to send malicious code, generally in the form of a browser side script, to a different end user. Flaws that allow these attacks to succeed are quite widespread and occur anywhere a web application uses input from a user in the output it generates without validating or encoding it. An attacker can use XSS to send a malicious script to an unsuspecting user. The end user s browser has no way to know that the script should not be trusted, and will execute the script. Because it thinks the script came from a trusted source, the malicious script can access any cookies, session tokens, or other sensitive information retained by your browser and used with that site. These scripts can even rewrite the content of the HTML page. Injection code of <ScRiPT>alert(testme)</sCriPt> to user name field & password: foo Apparently the application has detected a general error which may indicate that the.net triggered that error. url encoding: %3c%53%63%52%69%50%54%3e%61%6c%65%72%74%28%74%65%73 %74%6d%65%29%3c%2f%73%43%72%69%50%74%3e Result: We got an error page, see above picture. Page 96 of 97

Base-64 encoding: PFNDUklQVD5hbGVydChYU1MgYXR0YWNrKTwvc2NyaXB0Pg== Result: We got the login screen again. Html encoding: <ScRiPT>al&# x65;rt(testme&#x2 9;</sCriPt> Recommendation(s) High Ensure that proper sensitization steps are taken on the server, as well as on the client. Sincerely, Yigal Behar Principle IT Security Consultant 2Secure Corp Page 97 of 97