Web Application Security Assessment

bemutefrogtownSecurity

Nov 18, 2013 (4 years and 1 month ago)

112 views

Confidential
Web Application
Security Assessment
RED
SPIN
R
Prepared by:
Logaway
March 31, 2010
Table of Contents
Executive Summary
..................................................................................................................................................
4
Findings Overview By Category 
..........................................................................................................................
4
Findings and Recommendations Summary
..............................................................................................................
5
Risk Rating Definitions
.........................................................................................................................................
8
Assessment Description
......................................................................................................................................
9
Introduction
.............................................................................................................................................................
10
Purpose and Scope
...........................................................................................................................................
10
Methodology
......................................................................................................................................................
11
References
........................................................................................................................................................
11
Findings and Recommendations
.............................................................................................................................
13
Direct URL Access to PHP Functions
................................................................................................................
13
Local File Inclusion Vulnerability
........................................................................................................................
14
File Upload Restriction Bypass
..........................................................................................................................
16
PhpMyAdmin Present
........................................................................................................................................
19
Bookmarklet Same Origin Bypass
.....................................................................................................................
21
XSS Protection Disabled
....................................................................................................................................
22
Password Disclosure
.........................................................................................................................................
23
PHP Information Disclosure
...............................................................................................................................
24
Default and Unnecessary Files
..........................................................................................................................
25
Login Improvements
..........................................................................................................................................
25
Session Management Improvements
.................................................................................................................
26
Recommended Web Server Headers Missing
...................................................................................................
28
Vulnerable SSL Configuration
............................................................................................................................
29
Server Hosting Non­HTTP Ports
........................................................................................................................
30
Application Analysis
................................................................................................................................................
31
Reconnaissance
................................................................................................................................................
31
Application Configuration
...................................................................................................................................
33
Input Validation
..................................................................................................................................................
35
Session and Account Management
...................................................................................................................
37
List of Figures
Figure 1.  Web Application Assessment Risk Overview
............................................................................................
4
Web Application Security Assessment
Page 
2
 of 
41
Redspin, Inc.
                Confidential
Figure 2.  OWASP Logo
.........................................................................................................................................
10
Figure 3.  Email sent by Logaway.com Using Direct access to PHP Function
........................................................
13
Figure 4.  Contents of the /etc/passwd File on the Logaway Server
.......................................................................
15
Figure 5.  PHP Shell Hosted on Logaway Application Disclosing /etc/passwd (zoom in for details)
.......................
18
Figure 6.  PhpMyAdmin Login Page
.......................................................................................................................
19
Figure 7.  Logaway PhpMyAdmin/MySQL Database Download (zoom in for details)
.............................................
20
Figure 8.  Redspin Access to Logaway Admin Front­end (https://www.logaway.com/123/adminpanel)
..................
20
Figure 9.  Developer Gmail Account
.......................................................................................................................
23
Figure 10.  Results from <?phpinfo?>
.....................................................................................................................
24
List of Tables
Table 1.  Findings Summary
.....................................................................................................................................
5
Table 2.  Risk Definitions
..........................................................................................................................................
8
Table 3.  Service Overview
.......................................................................................................................................
9
Table 4.  Phases of Analysis
...................................................................................................................................
11
Table 5.  Network Services
.....................................................................................................................................
31
Table 6.  Web Servers
............................................................................................................................................
31
Table 7.  SSL Service Information
..........................................................................................................................
32
Table 8.  Load Balancing, Virtual Hosts and Subdomains
......................................................................................
32
Table 9.  Platform Assessment
...............................................................................................................................
32
Table 10.  Unnecessary Resources
........................................................................................................................
33
Table 11.  Misconfigured Resources
.......................................................................................................................
33
Table 12.  File Extensions Present
.........................................................................................................................
34
Table 13.  Information Disclosure
...........................................................................................................................
34
Table 14.  Input Sources
.........................................................................................................................................
35
Table 15.  Authorization Credentials
.......................................................................................................................
37
Table 16.  Authorization Functionality
.....................................................................................................................
37
Table 17.  Cookie Settings
......................................................................................................................................
38
Table 18.  Session Manipulation
.............................................................................................................................
39
Web Application Security Assessment
Page 
3
 of 
41
Redspin, Inc.
     Confidential
Executive Summary
This report presents the results of a security assessment of the Logaway web application accessible at
 
https://www.logaway.com/123
. The purpose of the assessment is to review and evaluate the level of risk
 
associated with Logaway’s application in terms of web vulnerabilities and the disclosure of sensitive information in
 
use by the application.
F
INDINGS
O
VERVIEW
B
Y
C
ATEGORY

Redspin's Purpose and Scope defined in the 
Introduction
 section of this report maps findings to categories in the
 
2010 rc1 OWASP top ten list of most critical web application security risks.  Risks are then attributed to an
 
exposure level as defined in Table 
2

 Risk Definitions
.  For each category, we assume that additional risks are
 
cumulative and can lead to an increased escalation of potential vulnerabilities that may result in an exploitable
 
weakness.  We represent the total risk in each category by the height of the “
Security Risk
” column, therefore the
 
shorter the column, the lower the risk.
All risks shown in Figure 
1

below
 are represented by a finding in Table 
1

 Findings Summary
 with detailed
 
information in the 
Findings and Recommendations
 section of this report .  For reference, Redspin has added a
 
black box that represents the average level of risk for the institutions that we have assessed over the last year
 
labeled “Industry Average.”  While “Industry Average” is not an indicator of an acceptable level of security, it does
 
provide a useful benchmark for Logaway compared to other companies.
Web Application Security Assessment
Page 
4
 of 
41
Figure 
1
.  Web Application Assessment Risk Overview
Injection
Cross­
Site Scripting
B
roken Session & 
Auth
B
ad Direct Obj
 
Refer
ence
Cross­
Site Reques
t Forgery
S
ecuri
ty Misconfiguration
Unr
estri
c
ted Url Ac
cess
Unvalidated Re
di
r & Fwds
Insecure Cry
ptography
Trans
port S
ecuri
ty
Security Risk
Mitigated Risk
Industry Average
Critical
High
Medium
Low
Info
Redspin, Inc.
     Confidential
Findings and Recommendations Summary
In Table 
1

below
, each identified finding from our assessment is listed.  For each finding, a description, potential
 
consequences, suggested remediation, and an OWASP category mapping and risk rating of the potential damage
 
to Logaway's IT operations if the issue is exploited is provided.
This table, in conjunction with the full details in the 
Findings and Recommendations
 
section of this report is a
 
prioritized guideline for the effective remediation of identified IT Network Security vulnerabilities.
Table 
1
.  
Findings Summary
Issue
Impact
Recommendation
Risk
Direct URL Access to PHP
 
Functions
The Logaway application
 
supports the execution of PHP
 
functions directly through the URL
 
bar.
Through calling PHP functions
 
directly we were able to
 
compromise the entire site,
 
forging emails, displaying all
 
server side files,  uploading
 
content, and execute any
 
function accessible to the
 
application.
If possible remove the
 
functionality to call PHP
 
functions through the URL.
Critical
Local File Inclusion
 
Vulnerability
The Logaway application is
 
subject to a local file inclusion
 
vulnerability that allows access to
 
arbitrary content on the server.
It is possible for an attacker to
 
access any file on any location
 
on the web server and the file
 
system, including both
 
sensitive configuration files and
 
PHP source code.
Ensure that file access
 
functions are restricted to
 
selected directories and file
 
extensions only.
Critical
File Upload Restriction Bypass
It is possible to bypass the file
 
upload restrictions of the
 
application, allowing arbitrary
 
code to be uploaded and then
 
executed by the server.
PHP content uploaded to the
 
application can control  web
 
server content, execute
 
commands, access the
 
backend database, and file
 
system, resulting in a complete
 
compromise of the system.
Restrict file upload
 
functionality and ensure that
 
anything provided by an
 
insecure user is tested
 
exhaustively before being
 
hosted on the application.
Critical
PhpMyAdmin Present
The Logaway web server hosts
 
the PhpMyAdmin application.
An implementation of
 
PhpMyAdmin open to the
 
Internet presents the possibility
 
for several attacks, such as
 
bruteforcing of accounts, and
 
any inherent vulnerabilities in
 
the application login page itself
 
(XSS, SQLi, etc.).
Remove access to this
 
application from the Internet
 
or restrict access to trusted
 
hosts.  Ensure this
 
application is always
 
patched and up­to­date as it
 
has commonly had high
 
impact vulnerabilities
 
throughout its production
 
life­cycle. 
Medium
Web Application Security Assessment
Page 
5
 of 
41
Redspin, Inc.
     Confidential
Issue
Impact
Recommendation
Risk
Bookmarklet Same Origin
 
Bypass
The login bookmarks used by the
 
Logaway application on offsite
 
domains can be modified by
 
malicious Javascript on those
 
pages to access the stored
 
passwords of a logged in user.
Malicious websites can access
 
the decrypted passwords
 
stored in the Logaway
 
application of a logged in user
 
by controlling the Javascript
 
used to bypass the same­origin
 
policy that accesses those
 
credentials from the attackers
 
website.
Implement the functionality
 
to remember and provide
 
passwords on the Logaway
 
application in a way that
 
ensures that malicious
 
Javascript on other domains
 
cannot access and modify
 
this code to bypass
 
restrictions.
Medium
Cross­site scripting (XSS)
 
Protection Disabled
XSS  protection is disabled in the
 
“acoupons” path on the web
 
server.
An inconsistent XSS filtering
 
profile increases the risk of
 
XSS attacks.
Ensure that
 
global_xss_filtering
 
protection is enabled for the
 
entire application.
Low
Password Disclosure
While enumerating and mapping
 
the server several interesting files
 
were identified, later inspection of
 
these files revealed stored
 
passwords related to sensitive
 
applications and personnel.
Account and password
 
disclosure can lead to further
 
compromise on not only
 
Logaway's application but also
 
their personnel's confidential
 
information. 
Remove the gmail.php
 
developer's account and
 
password information. While
 
database.php is needed for
 
the application to function, it
 
is easily enumerated.
 
Consider moving it out of the
 
web root and renaming it to
 
something more obscure.
Low
PHP Information Disclosure
The Logaway.com web server is
 
running PHP with a configuration
 
that discloses sensitive
 
information.
The information disclosed from
 
these files and methods can
 
aid attackers in mapping the
 
application architecture as well
 
as aid in additional attacks. 
Remove the affected files.
Low
Default or Unnecessary Files
Several default and unnecessary
 
files are present on the Logaway
 
web server.
Unnecessary files leak
 
information and create an
 
additional attack vector.
 
Directory browsing may
 
contain sensitive information
 
(or identify version information)
 
and should not be accessible.
Ensure that all unnecessary
 
files and directories are
 
removed.  Disable directory
 
browsing on these
 
directories.
Low
Session Management
 
Improvements
There are several configuration
 
issues relating to session cookies
 
on the Logaway application.
These issues significantly
 
decrease the security of
 
session and account
 
management for the
 
application.
Ensure that the insecure
 
session cookie configuration
 
elements are addressed as
 
appropriate.
Low
Web Application Security Assessment
Page 
6
 of 
41
Redspin, Inc.
     Confidential
Issue
Impact
Recommendation
Risk
Login Improvements
There are several configuration
 
issues relating to login pages on
 
the Logaway application.
These issues significantly
 
decrease the security of
 
session and account
 
management for the
 
application.
Ensure that the insecure
 
login configuration elements
 
are addressed as
 
appropriate.
Low
Recommended Web Server
 
Headers Missing
The www.logaway.com web
 
server supports a vulnerable
 
HTTP service configuration.
Without the headers
 
recommended by newer web
 
clients, their implemented
 
security policies will not be
 
used.
Add the recommended
 
HTTP headers and values to
 
each web request as
 
necessary to protect the
 
application from XSS and
 
CSRF attacks.
Info
Vulnerable SSL Configuration
The Logaway application
 
supports a vulnerable SSL
 
configuration with known
 
weaknesses.
An attacker may be able to
 
exploit weak cryptographic
 
protocols to conduct man­in­
the­middle attacks or decode
 
secure traffic.
Ensure that the insecure
 
cryptographic configuration
 
elements are addressed as
 
appropriate.
Info
Server Hosting Non­HTTP
 
Ports
We observed additional ports on
 
Logaway.com which were not
 
examined for this assessment.
Any attacks on these services
 
may affect the integrity,
 
confidentiality and availability
 
of the web server.
Ensure that all unneeded
 
services are disabled or
 
access is restricted for
 
incoming connections.
Info
Web Application Security Assessment
Page 
7
 of 
41
Redspin, Inc.
     Confidential
R
ISK
R
ATING
D
EFINITIONS
Redspin uses a qualitative, non­quantitative approach to categorize the impact of findings identified during our
 
analysis.  
This risk scale, shown in Table 
2

below

represents the degree or level of risk of confidentiality, integrity
 
or availability to which a resource, or to the users of that resource, might be exposed to, if a given vulnerability
 
were exercised after accounting for its likelihood of occurrence.  The risk scale prioritizes and presents actions for
 
each risk level
 that senior management and the system owners, must take.
Table 
2
.  Risk Definitions
Risk Level
Risk Description and Necessary Actions
Critical
If a finding is evaluated as a Critical risk, corrective measures are required
 
immediately.  The existing system should be separated from the network and
 
considered for forensic analysis if a malicious service has been identified.
High
If a finding is evaluated as a High risk, there is a strong need for corrective measures.
 
An existing system may continue to operate, but a corrective action plan must be put in
 
place as soon as possible.
Medium 
If a finding is rated as Medium risk, corrective actions are needed and a plan must be
 
developed to incorporate these actions within a reasonable period of time.
Low
If a finding is described as Low risk, management must determine whether corrective
 
actions are still required or decide to accept the risk.
Informational (Info)
If a finding is described as Informational, this issue does not indicate a violation of the
 
law, guidance, internal policies, or the absence of a key control.  However, an
 
Informational finding is something for management to consider to enhance their overall
 
security posture.
Web Application Security Assessment
Page 
8
 of 
41
Redspin, Inc.
     Confidential
A
SSESSMENT
D
ESCRIPTION
In order to provide a report tailored for the specific goals and issues of Logaway, a list of the services provided in
 
this assessment are listed in Table 
3
.
 
below
:
Table 
3
.  Service Overview
Service
Description
Included
Active & Passive Reconnaissance
Identification of systems relevant to the assessment
Included
Server Headers & SSL Checks
Analysis of HTTP and SSL based ports and banners
Included
Enumeration & Application Crawl
Identification of content relevant to the assessment
Included
Automated & Manual Input Validation
Identification of input relevant to the assessment
Included
Denial of Service & Unreliable Exploits
Checks that may hang or create unresponsive systems
Validate Only
Session & Account Analysis
User based role separation and login portal testing
Included
Penetration Analysis & Log Review
Analysis of prior attack and associated logging records
Not included
Code & Server Configuration Analysis
Whitebox testing of source code and configuration
Not included
Search Engine Optimization Analysis
Internet presence and ranking recommendations
Not included
Management Response 
Inclusion of management responses 
Included
Web Application Security Assessment
Page 
9
 of 
41
Redspin, Inc.
     Confidential
Introduction
P
URPOSE

AND
S
COPE
This assessment methodology includes coverage of the classes of vulnerabilities identified in the 
2010 rc1 Open
 
Web Application Security Project
 (
OWASP
):

A1 

 Injection: 
Injection flaws, including SQL and OS injection occur when user­supplied data is sent to a
 
backend  interpreter as part of a command or query. The attacker's hostile data tricks the interpreter into
 
executing unintended interpreter commands to access or change data, or gain control of the interpreter itself.

A2 

 
Cross Site Scripting (XSS)
: XSS flaws occur whenever an application
 
takes user supplied data and returns it to the web browser without first
 
validating or encoding that content. XSS allows attackers to deliver client code
 
such as Javascript in the context of the injected website, allowing a victim's
 
session to be hijacked.

A3 

 Broken Authentication and Session Management
: Account
 
credentials and session tokens are often not properly protected. Attackers can
 
compromise passwords, keys, or authentication tokens to assume other users'
 
identities. 

A4 

 Insecure Direct Object Reference
: Direct access to file, directory, database record or keys provided as
 
a URL or form parameter can be manipulated by an attacker to access similar objects without authorization.

A5 

 Cross Site Request Forgery (CSRF)
: State­changing or critical requests in an application can be
 
generated by an attacker and performed in the context of a pre­authenticated user's session.  CSRF is as
 
powerful as the victim's access to the web application.

A6 

 Security Misconfiguration
: Default and misconfigured application, framework, webserver and platform
 
settings may not be secure.  For each layer above, secure configurations should be defined, implemented, and
 
maintained in order to prevent attacks.

A7 

 Failure to Restrict URL Access
: Sensitive content which is not displayed, linked, or publicly known may
 
still be discovered and used by an attacker.  

A8 

 Unvalidated Redirects and Forwards
: Using untrusted data to control the result of a reference link to
 
another page or offsite website can result in victims accessing malicious phishing or a malware website in the
 
content of the web application.

A9 

 Insecure Cryptographic Storage
: Web applications that do not use appropriate cryptographic functions
 
including encryption and hashing to protect sensitive data such as credentials, credit cards and personal
 
information allow attackers to use this data to attack the website or conduct identity theft, fraud or other crimes
 
elsewhere.

A10 

 Insufficient Transport Layer Protection
: Applications frequently fail to properly encrypt network traffic
 
when it is necessary to protect sensitive or secure communications.  This includes the use of outdated, weak,
 
Web Application Security Assessment
Page 
10
 of 
41
Figure 
2
.  OWASP Logo
Redspin, Inc.
     Confidential
expired and invalid certificates, as well as separating insecure and secure layers at the incorrect data
 
boundary.
M
ETHODOLOGY
The testing process for application analysis includes a structured process of steps, each of which are meant to
 
provide the tester with additional knowledge of the application structure and to conclusively identify the existence
 
of a specific vulnerability, thereby eliminating false positives.
Assessment Process
The various steps utilized for this assessment are grouped within four distinct phases, as shown in Table 
4

below
.
 
Each of the steps within the phases include a series of tests and analysis components consisting of automated
 
tools, custom scripts, manual review and vulnerability database research.  Further details about each task are
 
noted in the relevant section.
Table 
4
.  Phases of Analysis
#
Name
Description
OWASP Sections
Page
1
Reconnaissance
Host and Service enumeration
A6, A10
32
2
Application Configuration
Content enumeration and discovery
A6, A7
35
3
Input Validation
Testing of user­accepted input sources
A1, A2, A4, A5, A8
37
4
Session and Account Management
Testing of login forms and credentials
A3, A5, A6, A8, A9, A10
39
R
EFERENCES
Redspin used a variety of open source, commercial and internally developed tools for this assessment.  The
 
following is a non­exhaustive list of tools used, including links and descriptions for each. 

Command line GNU/Linux tools (wget, curl, openssl): 
www.gnu.org
 
– Manual/Automated web testing

Python: 
www.python.org
 – High­level programming language for security tool development and scripting

NMAP: 
nmap.org
 – TCP/UDP port and service enumeration

SearchRAT: 
jetmetric.com
 – Search Engine­based site reconnaissance and vulnerability scanner

Nessus: 
www.nessus.org
 – General purpose vulnerability scanner

Nikto: 
cirt.net/nikto2
 – Default/Unnecessary/Vulnerable web file and version scanner

Mozilla Firefox: 
www.mozilla.com/firefox
 – Open Source Web browser with extended functionality

Redspin Testing Collection: 
https://addons.mozilla.org/en­US/firefox/collection/redspin­web
: Collection
 
of add­ons and plugins related to the security testing and assessment of web applications

Websecurify: 
www.websecurify.com
 – Web browser focused on Web 2.0 security and testing

Netsparker: 
www.mavitunasecurity.com
 – Web Application Vulnerability Scanner

Burp Suite: 
portswigger.net
 – Integrated web testing platform including proxy, spider and scanner
Web Application Security Assessment
Page 
11
 of 
41
Redspin, Inc.
     Confidential

w3af : 
w3af.sourceforge.net
 – Web application attack and audit framework

Grendel­Scan: 
www.grendel­scan.com
 – Web application security testing tool

Backtrack: 
www.remote­exploit.org/backtrack.html
 – Live Linux distribution focused on penetration testing

Metasploit: 
www.metasploit.com
 – Security vulnerability and penetration testing environment
Web Application Security Assessment
Page 
12
 of 
41
Redspin, Inc.
     Confidential
Findings and Recommendations
The following issues, identified during the analysis, represent detailed explanations of the findings in Table 
1
.:
D
IRECT
URL A
CCESS

TO
PHP F
UNCTIONS
Issue
The Logaway.com web application uses the CodeIgniter Framework which translates the web path into a PHP  file
 
and accepts additional slash delimited path information to call the functions within that PHP file and the arguments
 
to that function respectively. Using this method we were able to call PHP functions directly, bypassing business
 
logic and execute a variety of commands including remote file include vulnerabilities, SQL injection, upload files
 
without restrictions, and to send email messages as Logaway.com (Figure 
3
.): 

Send an email as Logaway to a chosen recipient:
 
https://www.logaway.com/123/home/sendmail/messageinfo/test@redspin.com/hacked/this­message­was­
sent­by­mailphp­file
 
Impact
The ability to call PHP functions directly allows the bypass of business logic and security controls. This type of
 
direct access to functions can completely bypass code designed to be a security check, and allowed us to
 
compromise the integrity of the application 
completely
, as indicated by our example of using the underlying upload
 
function instead of using the function that has higher levels of security checks in place.
Web Application Security Assessment
Page 
13
 of 
41
Figure 
3
.  Email sent by Logaway.com Using Direct access to PHP Function
Redspin, Inc.
     Confidential
Recommendation
Remove the unconventional method used to translate URL Paths to PHP function calls and arguments.  It appears
 
that this functionality is intrinsic to the CodeIgniter framework used by the application, so this may mean a
 
complete overhaul of the application.
References

CodeIgniter – Open Source PHP Web Application Framework: 
http://codeigniter.com/
 

CodeIgniter URLs: 
http://codeigniter.com/user_guide/general/urls.html
OWASP
 Top Ten Category & Risk
Failure to Restrict URL Access, Insecure Direct Object Reference: Critical
L
OCAL
F
ILE
I
NCLUSION
V
ULNERABILITY
Issue
The 
minifycss
 function of the minify.php file is subject to a local file inclusion vulnerability that allows access to
 
arbitrary files on the Logaway server.  This function loads the contents of the provided arguments as a web page,
 
and performs no path or content file restriction.  By replacing '/' with '_' it is possible to escape to previous
 
directories that can be accessed by the PHP process.
function minifycss($arg1 = '', $arg2 = ''){
$this -> load -> library('cssmin');
header("Content-type:text/css");
header("Cache-Control: max-age=604800, public, must-revalidate", true);
$offset = 604800;
$expire = "expires: " . gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
header ($expire);
echo $this -> cssmin -> minify(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/' . $this ->

host_name . '/css/style_home.css'));
echo $this -> cssmin -> minify(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/' . $this ->

host_name . '/css/wizard.css'));
echo $this -> cssmin -> minify(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/' . $this ->

host_name . '/css/getsatisfaction.css'));
if ($arg1 != ''){

echo $this -> cssmin -> minify(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/' . $this ->

host_name . '/' . str_replace("_", "/", $arg1)))}
if ($arg2 != ''){
echo $this -> cssmin -> minify(file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/' . $this ->

host_name . '/' . str_replace("_", "/", $arg2)))}
}
For example, the following URL will access the /etc/passwd hosted on the Logaway server (Figure 
4
.):

https://www.logaway.com/123/minify/minifycss/.._.._.._.._.._.._.._.._etc_passwd
   
Web Application Security Assessment
Page 
14
 of 
41
Redspin, Inc.
     Confidential
Impact
Because this function can be accessed directly based upon the server configuration, it is possible for an attacker
 
to access any file on the web server or file system. This includes both sensitive configuration files and PHP source
 
code.  Even if this functionality is disabled, if this function is still accessible by the user, an attacker could still
 
access arbitrary content.
Recommendation
Ensure that file access functions are restricted to selected directories and file extensions only.  In this case, this
 
function should be restricted to the CSS directory and only be able to access files with the CSS extension.
References

PHP File Get Contents Function: 
http://php.net/manual/en/function.file­get­contents.php

PHP filesystem attack vectors: 
http://www.ush.it/team/ush/hack­phpfs/phpfs_mad.txt
 

PHP filesystem attack vectors ­ Take Two: 
http://www.ush.it/team/ush/hack­phpfs/phpfs_mad_2.txt
 
Web Application Security Assessment
Page 
15
 of 
41
Figure 
4
.  Contents of the /etc/passwd File on the Logaway Server
Redspin, Inc.
     Confidential
OWASP
 Top Ten Category & Risk
Insecure Direct Object Reference: Critical
F
ILE
U
PLOAD
R
ESTRICTION
B
YPASS
Issue
The Logaway application allows file uploads in several locations.  In order to restrict malicious uploads, the
 
application performs content­type verification before the file is accepted for upload.  Utilizing the local file inclusion
 
attack discussed in another finding, we were able to obtain the source code of each upload function and analyze
 
the PHP code for vulnerabilities.  Because of the direct access to PHP functions allowed by the framework, we
 
were also able to call these functions directly, as discussed elsewhere.  While several of the verification routines
 
successfully prevent malicious uploads, one function had vulnerabilities that allowed us to upload code that was
 
executed in the content of the server, giving us full control of the application.  The code for this vulnerable function
 
is shown below, with relevant issues for discussion 
highlighted
.
function uploadesitelogo(){

$permitted = array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/jpg',

'image/bmp');

$error = "";
$msg = "";
$fileElementName = 'fileToUploads';
if(!empty($_FILES[$fileElementName]['error'])){
switch($_FILES[$fileElementName]['error']){
case '1':
$error = 'The uploaded file exceeds the upload_max_filesize directive in php.ini';
break;
case '2':
$error = 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the

HTML form';
break;
case '3':
$error = 'The uploaded file was only partially uploaded';
break;
case '4':
$error = 'No file was uploaded.';
break;
case '6':
$error = 'Missing a temporary folder';
break;
case '7':
$error = 'Failed to write file to disk';
break;
case '8':
$error = 'File upload stopped by extension';
break;
case '999':
default:
Web Application Security Assessment
Page 
16
 of 
41
Redspin, Inc.
     Confidential
$error = 'No error code avaiable'}
}
else if (empty($_FILES['fileToUploads']['tmp_name']) || $_FILES['fileToUploads']['tmp_name'] ==

'none'){
$error = 'Ooops! You forgot to upload a file.'
}

else if (in_array($_FILES['fileToUploads']['type'], $permitted))
{

$size = getimagesize($_FILES['fileToUpload']['tmp_name']);
if ( ( $size[0] >= 150 ) && ( $size[1] >= 100 ) ) {
$
error = $this -> upload_image('./uploads/', 'fileToUploads');

$str = (gettype($error));
$docu = $this -> upload -> data();
$this -> load -> library('image_lib');
$config['image_library'] = 'gd2';
$config['source_image'] = $docu['full_path'];
$config['create_thumb'] = FALSE;
$config['maintain_ratio'] = TRUE;
$config['width'] = 192;
$config['height'] = 120;
$this -> image_lib -> initialize($config);
$this -> image_lib -> resize();
$filename = $docu['file_name'];
if($this -> uri -> segment(4, 0) != 0)
$filename = $this -> member -> advertise($docu['file_name'], $this -> uri -> segment(4,

0));


// for security reason, we force to remove all uploaded file
$error = " i am here";

@unlink($_FILES['fileToUploads'])
}
else{$error = 'Uploaded image is too small'}
}
else{$error = 'Invalid image type uploaded..'}

echo "{";
echo "error: '" . $error . "',\n";
echo "msg: '" . base_url() . 'uploads/' . $filename . "',\n";
echo "file: '" . $filename . "'\n";
echo "}"}
function upload_image($path, $name){
$config['upload_path'] = $path;

$config['allowed_types'] = 'jpg|jpeg|gif|bmp|png';

$this -> load -> library('upload', $config);
$this -> upload -> initialize($config);
if ($this -> upload -> do_upload($name) == FALSE){
return $this -> upload -> display_errors()
}
else{return false}
}
The first check in the  
uploadesitelogo()
 function determines if the content type of the uploaded file matches
 
one of several image types.  Unfortunately, this is not the same as verifying the extension of the uploaded file,
 
Web Application Security Assessment
Page 
17
 of 
41
Redspin, Inc.
     Confidential
which is done correctly in other functions of the Logaway application.  Instead, the
 
$_FILES['fileToUploads']['type']
 is specified by the client uploading the file, can be modified by a web
 
proxy, and has no significance to the file extension of the uploaded content.  The second check is the PHP
 
getimagesize
 function, which returns the width and height of the provided file.  While this check ensures that
 
these qualities exist in the uploaded file, it is possible to create hybrid files which can provide the required image
 
information and still contain text content such as PHP code.  In particular, it is possible to create a minimal 1x1
 
GIF file and append another file, in this case an AJAX Shell, to the end of the file. This still passes the check by
 
the 
getimagesize
 function.  Because the file extension of the uploaded file was not controlled, we were able to
 
provide a file with a PHP extension containing a minimal GIF header with PHP code appended to the end.  This
 
file was uploaded to the server at 
https://www.logaway.com/123/uploads/shell.php
 and allowed us to spawn a
 
PHP shell on the web server under our control (Figure 
5
.).
Impact
It is possible to upload PHP content 
to the Logaway application that can control web
 
server content, execute
 
commands, access the backend database, and file system, resulting in a complete compromise of the system.  
Recommendation
Ensure that secure coding practices are followed, and code is properly audited for common vulnerabilities.
 
Restrict file upload functionality and ensure that anything provided by an untrusted user is tested exhaustively
 
Web Application Security Assessment
Page 
18
 of 
41
Figure 
5
.  PHP Shell Hosted on Logaway Application Disclosing /etc/passwd (zoom in for details)
Redspin, Inc.
     Confidential
before being hosted on the application.  This includes a review of PHP code to ensure that file extensions are
 
checked in addition to the content type.
References

Secure file upload in PHP web applications: 
www.scanit.be/uploads/php­file­upload.pdf
 

Handling file uploads in PHP: 
http://www.php.net/manual/en/features.file­upload.php

PHP getimagesize: 
http://php.net/manual/en/function.getimagesize.php

PHP security exploit with GIF images: 
http://www.phpclasses.org/blog/post/67­PHP­security­exploit­with­
GIF­images.html

The Internet is Broken: 
http://www.blackhat.com/presentations/bh­jp­08/bh­jp­08­
McFeters/BH_US_08_Mcfeters_Carter_Heasman_Extreme_Client­Side_Exploitation.pdf

GIFAR Attacks: 
http://blog.vcu.edu/infosec/2008/08/gifar­attack­it­looks­like­an.html

PHP and AJAS Shells: 
http://www.askapache.com/ajax/php­and­ajax­shell­console.html
OWASP
 Top Ten Category & Risk
Insecure Direct Object Reference,  Failure to Restrict URL Access: Critical
P
HP
M
Y
A
DMIN
P
RESENT
Issue
The Logaway.com web server is hosting PhpMyAdmin 2.11.8.1 at 
www.logaway.com/phpmyadmin
 (Figure 
6
):
Credentials for this application were present in the 
https://www.logaway.com/database.php
 file accessed using the
 
Local File Inclusion Vulnerability mentioned in this report.  We were able to add ourselves to the administrative
 
users table in addition to downloading the complete database structure (Figure 
7
.
).
Web Application Security Assessment
Page 
19
 of 
41
Figure 
6
.  PhpMyAdmin Login Page
Redspin, Inc.
     Confidential
Figure 
7
.  Logaway PhpMyAdmin/MySQL Database Download (zoom in for details)
Figure 
8
.  Redspin Access to Logaway Admin Front­end (
https://www.logaway.com/123/adminpanel)
Impact
PhpMyAdmin access presents the possibility for several attacks, such as bruteforcing of accounts, and any
 
inherent vulnerabilities in the application login page itself (XSS, SQLi, etc). It is also worthwhile to mention if the
 
Web Application Security Assessment
Page 
20
 of 
41
Redspin, Inc.
     Confidential
server itself is ever compromised, an attacker could gain access to the 
https://www.logaway.com/database.php
 or
 
https://www.logaway.com/logaway_cron.php
 files, which contained valid login credentials for this application. Once
 
logged in, an attacker can download the entire database. Although Logaway encrypts passwords in the database
 
using SHA256 encryption it is possible to pass these hashes directly to the application using a web interception
 
proxy during the login process. With access to the PhpMyAdmin application, an attacker can also deface and
 
control content of the site, as well as add and delete admin users and permit non­approved IP addresses to the
 
administration login at 
https://www.logaway.com/123/adminpanel
.
Recommendation
Remove access to this application from the Internet or restrict access to trusted hosts.  Ensure this application is
 
always patched and up­to­date as it has commonly had high impact vulnerabilities throughout its production
 
lifecycle.  Use separate passwords and user­names for both PhpMyAdmin and MySQL.
References

PhpMyAdmin current version 2.11.10: 
http://www.phpmyadmin.net/home_page/downloads.php

Restrict PhpMyAdmin access to only internal private IP addresses:
 
http://abuhawa.wordpress.com/2009/01/07/restrict­phpmyadmin­access­to­only­internal­private­ip­
address/
OWASP
 Top Ten Category & Risk
Failure to Restrict URL Access: Medium
B
OOKMARKLET
S
AME
O
RIGIN
B
YPASS
Issue
The Logaway application uses Javascript in the “Bookmark Login” and “Add your Own Website” to bypass the
 
Same Origin policy intrinsic to client­side web security.  These bookmarks are intended to be executed on the
 
login pages of other domains, and load Javascript from the Logaway application which is then executed on the
 
website.  The code seeks to find login forms and automatically populates them with the credentials provided by the
 
user using the host­proof hosting concept.  While this concept protects the credentials from the Logaway
 
application by encrypting them when stored and decrypting them using the secure key provided by the user, it
 
does not protect the Javascript used to access these credentials on either the Logaway application or any site that
 
can use the code in these bookmarklets.  Because the secure key token is stored in the user's session on the
 
Logaway application, it cannot be accessed directly, but due to the functionality of the application and the same­
site script violation, malicious Javascript can trick the Logaway application into providing passwords to arbitrary
 
attacker­controlled domains.
Impact
Malicious websites can access the decrypted passwords stored in the Logaway application of a logged in user by
 
controlling the Javascript used to bypass the same­origin policy that accesses those credentials from the
 
attacker's website.
Web Application Security Assessment
Page 
21
 of 
41
Redspin, Inc.
     Confidential
Recommendation
Restrict Javascript code access using the same­site origin policy.  Provide the functionality to remember and
 
provide passwords on the Logaway application only to ensure that malicious Javascript on other domains cannot
 
access and modify this code to bypass restrictions.
References

About Bookmarklets: 
http://www.bookmarklets.com/about/

Host­proof hosting: 
http://en.wikipedia.org/wiki/Host­proof_hosting
OWASP
 Top Ten Category & Risk
Cross Site Request Forgery (CSRF): Medium
XSS P
ROTECTION
D
ISABLED
Issue
XSS protection is disabled in the “acoupons” path on the web server as configured in the config.php file:
...
if($controller_string[2] == "acoupons"){

$config['global_xss_filtering'] = FALSE
}
else{
$config['global_xss_filtering'] = TRUE}
...
Impact
While this information would generally not be available to attackers, there is a higher likelihood of XSS attacks
 
being discovered without Codeigniter's protection from XSS attacks in this file path.
Recommendation
Enable global_xss_filtering protection for this directory.
References

CodeIgniter Global XSS Filtering Bypass Vulnerability: 
http://yehg.net/lab/pr0js/view.php/CodeIgniter
%20Global%20XSS%20Filtering%20Bypass%20Vulnerability.pdf
OWASP
 Top Ten Category & Risk
Cross Site Scripting (XSS): Low
Web Application Security Assessment
Page 
22
 of 
41
Redspin, Inc.
     Confidential
P
ASSWORD
D
ISCLOSURE
Issue
While enumerating and mapping the server, several interesting files were identified, later inspection of these files
 
revealed stored passwords related to sensitive applications and personnel:

Developer Gmail Address and Password: 
https://www.logaway.com/mail.php

Database PHP file containing MySQL credentials (same as the PhpMyAdmin credentials):
 
https://www.logaway.com/database.php
Figure 
9
.  Developer Gmail Account
Impact
Account and password disclosure can lead to further compromise on not only Logaway's application but also their
 
personnel's confidential information. 
Web Application Security Assessment
Page 
23
 of 
41
Redspin, Inc.
     Confidential
Recommendation
Remove the gmail.php developer's account and password information. While database.php is needed for the
 
application to function, it is easily enumerated. Consider moving it out of the web root and renaming it to
 
something more obscure, then reconfiguring the application to use this new path/filename instead.
References

Protecting a MySQL user/password in a PHP script: 
http://greg.chiaraquartet.net/archives/124­Protecting­
a­MySQL­userpassword­in­a­PHP­script.html
OWASP
 Top Ten Category
Failure to Restrict URL Access: Low
PHP I
NFORMATION
D
ISCLOSURE
Issue
The Logaway.com web server is running PHP with a configuration that discloses sensitive information. The
 
following files disclose information about the server:

https://www.logaway.com/123/info.php
   
 – The info.php file is configured to disclose the results of the
 
command <?phpinfo()?> from the remote webserver when requested over HTTPS (port 443).  

https://www.logaway.com/phpinfo.php
   
 – The phpinfo.php displays an array with phpinfo information
 
displayed within cells: Figure 
10
 
below
 is an example of the information disclosed:
Impact
The information disclosed from these files and methods includes the following:

The user who installed PHP and if they are a superuser.
Web Application Security Assessment
Page 
24
 of 
41
Figure 
10
.  Results from <?phpinfo?>
Redspin, Inc.
     Confidential

The internal IP address of the host.

Operating system and web server version information.

Pathnames, directories including the root directory of the web server and PHP installation.

Configuration information about the remote PHP installation.
Recommendation
Remove the affected files on the server.
References

PHP Version and Information Disclosure ­ OSVDB­12184: 
http://osvdb.org/12184

PHP Easter Eggs: 
http://www.networksecurityarchive.org/html/Web­App­Sec/2004­11/msg00131.html
OWASP
 Top Ten Category
Failure to Restrict URL Access: Low
D
EFAULT

AND
U
NNECESSARY
F
ILES
Issue
Several default and unnecessary files are present on the Logaway web server, including those with directory
 
browsing enabled:

https://www.logaway.com/123/user_guide/
   
 ­ CodeIgniter User Guide

https://www.logaway.com/icons/
   
 ­ Apache Default Icons (directory browsing enabled)
Impact
Unnecessary files leak information and create an additional attack vector.  Directory browsing reveals all files in a
 
given directory, some of which may contain sensitive information (or identify version information) and should not
 
be accessible.
Recommendation
Ensure that all unnecessary files and directories are removed or access is restricted to trusted connections.
 
Disable directory browsing on these directories by restricting it for the entire web server, or on a case by case
 
basis by creating a default HTML page for each directory.
OWASP
 Top Ten Category
Failure to Restrict URL Access: Low
Web Application Security Assessment
Page 
25
 of 
41
Redspin, Inc.
     Confidential
L
OGIN
I
MPROVEMENTS
Issue
There are several configuration issues relating to login pages on the Logaway application:

Account disclosure is present.  It is possible to determine if an account is present on the application by
 
examining the error message returned from attempting to log in with that account.

Account lockout information is disclosed.  This allows an attacker to discover valid user names, create a
 
possible denial of service attack on sensitive accounts, and still allows an attacker to conduct parallel user
 
name brute forcing under the lockout limit.

The 
AUTOCOMPLETE
 attribute is not set to “off” for password­type login fields.
Impact
These issues significantly decrease the security of logging into the application.
Recommendation
Implement the following best practice recommendations:

Provide a generic error message on all login failures that cannot be used to determine if a valid account is
 
present.

Consider notifying of account lockout only when valid credentials are entered for an account, rather than
 
when the maximum number of attempts have been reached for all users.  Consider using an out of band
 
notification system for locked accounts, such as sending a notification to the registered user's email
 
address.  This email should also provide a safe and secure way to unlock the account.

Ensure that every INPUT element with a password attribute includes an AUTOCOMPLETE=”off” attribute
 
and value such as the following:
<INPUT TYPE="password" AUTOCOMPLETE="off">
References

Firefox Web GET/FORM brute­forcer: 
https://addons.mozilla.org/en­US/firefox/addon/64765
,
 
http://www.scrt.ch/pages_en/fireforce.html

Top 10 Password Crackers: 
http://sectools.org/crackers.html

Medusa Parallel Network Login Auditor: 
http://www.foofus.net/jmk/medusa/medusa.html

THC­Hydra A very fast network logon hacker: 
http://freeworld.thc.org/thc­hydra/

Testing for Vulnerable Remember Password and Pwd Reset (OWASP­AT­006):
 
http://www.owasp.org/index.php/Testing_for_Vulnerable_Remember_Password_and_Pwd_Reset_
%28OWASP­AT­006%29
OWASP
 Top Ten Category & Risk
Broken Authentication and Session Management: Low
Web Application Security Assessment
Page 
26
 of 
41
Redspin, Inc.
     Confidential
S
ESSION
M
ANAGEMENT
I
MPROVEMENTS
Issue
Several improvements could be added to the session and account management of the Logaway application:

Session cookies are not set to expire when the web browser is closed.  This would prevent a client from
 
clearing their credentials by closing the browser in a public terminal.

Cookies are not marked 
Secure
, which ensures they are only sent for SSL connections.  This would
 
allow any device sitting between the client and the server to sniff and steal the user session.

Session cookies are not marked 
HTTPOnly
 which prevents client­side scripts from accessing their value.
 
Any XSS attack could access these cookies and send them to an attacker
's
 chosen location.

Multiple logins are supported simultaneously with the same account by associating each login with a
 
different set of session cookies.  This would allow an attacker who compromised an account or session
 
information to use the application at the same time as a legitimate user.
Impact
These issues significantly decrease the security of session management of the Logaway application.
Recommendation
Implement the following best practice recommendations:

Ensure all sensitive cookies are cleared when the client's web browser is closed.

Ensure the 
Secure
 flag is set for all HTTP cookies.

Ensure the 
HTTPonly
 flag is set for all HTTP cookies.

Ensure that sensitive cookies are cleared from the client web browser when it is closed by setting them to
 
expire when the session is complete.

Restrict HTTP cookies to the domains that need to access them and disable full subdomain access.

Restrict HTTP cookies to the server path where the application is running.

Ensure that only a single session can be valid for a given set of credentials. Consider providing notification
 
of last login time and location to allow users to monitor the status of their own sessions.
References

HTTPOnly: 
http://www.owasp.org/index.php/HTTPOnly

Testing for Cookie Attributes: 
http://www.owasp.org/index.php/Testing_for_cookies_attributes_
%28OWASP­SM­002%29

HTTP cookie: 
http://en.wikipedia.org/wiki/HTTP_cookie

OWASP Cookie Database: 
http://www.owasp.org/index.php/Category:OWASP_Cookies_Database
 

Remote sign out and info to help you protect your Gmail account:
 
http://gmailblog.blogspot.com/2008/07/remote­sign­out­and­info­to­help­you.html
 
Web Application Security Assessment
Page 
27
 of 
41
Redspin, Inc.
     Confidential
OWASP
 Top Ten Category & Risk
Broken Authentication and Session Management: Low
R
ECOMMENDED
W
EB
S
ERVER
H
EADERS
M
ISSING
Issue
The www.logaway.com web server supports a vulnerable HTTP service configuration with the following issues:

Missing recommended XSS and CSRF protection headers:

X-XSS-Protection: 0
 – Used in IE 8 To automatically prevent XSS tags from executing, but
 
recently contains a flaw and should be set to 0 (disabled) rather than 1 (enabled).

X-FRAME-OPTIONS: DENY
 – Prevents page from rendering if enclosed in a frame.

X-FRAME-OPTIONS: SAMEORIGIN
 – Only allows same­site framing.

X-CONTENT-TYPE-OPTIONS: NOSNIFF
 – Forces IE to use provided MIME­type rather than
 
potential MIME­type of downloaded file to choose helper application.

X-DOWNLOAD-OPTIONS: NOOPEN
  – Prevents script in HTML files downloaded in IE to be executed
 
in the context of the website they were download from.

X-CONTENT-SECURITY-POLICY: ALLOW SELF
 – For Mozilla browsers (Firefox) only loads content
 
on a page from the same origin, offsite content is not loaded.

X-CONTENT-SECURITY-POLICY: ALLOW
– For Mozilla browsers (Firefox) only loads content on
 
from SSL rom the same origin, offsite content is not loaded.

ACCESS-CONTROL-ALLOW-ORIGIN: <resource> | *
 – For Mozilla browsers (Firefox) only
 
allows gmstest1.kidneyfund.org content to be loaded from provided resource, browser will reject all
 
other offsite requests.
Impact
New web attacks continue to leverage the shared space of the World Wide Web with the difficulty of filtering
 
content from code.  Many new web browsers have taken independent and proactive measures to limit the risk and
 
impact of these shared medium attacks such as XSS and CSRF.  Without the headers recommended by these
 
clients, their implemented security policies will not be used.  The likelihood of such attacks is typically dependent
 
on the application's own use of the shared medium, with social sharing sites more at risk than standalone
 
applications.
Recommendation
Consider adding the recommended HTTP Headers and values to each web request as necessary to protect the
 
application from XSS and CSRF attacks.
Web Application Security Assessment
Page 
28
 of 
41
Redspin, Inc.
     Confidential
References

IE8 Security Part IV: The XSS Filter 
http://blogs.msdn.com/ie/archive/2008/07/01/ie8­security­part­iv­the­
xss­filter.aspx
 

Major IE8 flaw makes 'safe' sites unsafe: 
http://www.securityfocus.com/news/11565

IE8 Security Part VII: ClickJacking Defenses: 
http://blogs.msdn.com/ie/archive/2009/01/27/ie8­security­
part­vii­clickjacking­defenses.aspx
 

X­Content­Type­Options: nosniff: 
http://intertwingly.net/blog/2008/09/03/X­Content­Type­Options­nosniff
 

XSS Vulnerability in Internet Explorer HTML Attachment Download: 
http://www.awgh.org/?p=57

Content Security Policy Details: 
http://people.mozilla.org/~bsterne/content­security­policy/details.html

HTTP access control: 
https://developer.mozilla.org/En/HTTP_access_control
 
OWASP
 Top Ten Category & Risk
Security Misconfiguration: Info
V
ULNERABLE
SSL C
ONFIGURATION
Issue
The www.logaway.com web server supports a vulnerable SSL configuration on port 443/tcp with the following
 
weaknesses:

SSL renegotiation supported, allowing SSL data injection.
Impact
An attacker may be able to exploit this weak SSL configuration to conduct man­in­the­middle attacks.  The
 
likelihood of this attack is low as most web browsers will default to the most secure encryption method available
 
on the web server, and this attack represents a very high degree of technical expertise. Logaway should be aware
 
of the risk of this issue, the ease of the fix, and address as applicable. Invalid SSL certificates display an error for
 
clients visiting the application, which provide no integrity for the Logaway application.
Recommendation
Implement the following changes:

Disable SSL renegotiation.
References

Analysis of the SSL 3.0 Protocol: 
http://www.schneier.com/paper­ssl.pdf

List of OpenSSL Ciphers: 
http://www.openssl.org/docs/apps/ciphers.html
Web Application Security Assessment
Page 
29
 of 
41
Redspin, Inc.
     Confidential

Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate
 
Revocation List (CRL) Profile: 
http://tools.ietf.org/html/rfc3279
 

Creating a rogue CA certificate: 
http://www.phreedom.org/research/rogue­ca/

Research proves feasibility of collision attacks against MD5:
 
http://www.microsoft.com/technet/security/advisory/961509.mspx

MD5 vulnerable to collision attacks: 
http://www.kb.cert.org/vuls/id/836068

Authentication Gap in TLS Renegotiation: 
http://extendedsubset.com/?p=8
 

TLS renegotiation issue: 
http://www.ietf.org/mail­archive/web/tls/current/msg03948.html

SSL and TLS protocols renegotiation vulnerability: 
http://www.kb.cert.org/vuls/id/120541

TLS/SSL renegotiation vulnerability explained: 
http://www.g­sec.lu/practicaltls.pdf
OWASP
 Top Ten Category
Insufficient Transport Layer Protection: Info
S
ERVER
H
OSTING
N
ON
-HTTP P
ORTS
Issue
We observed additional ports on www.logaway.com which were not examined for this assessment:

21/tcp – FTP: vsftpd 2.0.7 

22/tcp – SSH: OpenSSH 5.1p1 Debian 5 (protocol 2.0) 

4949/tcp – Unknown (possibly tcpwrapped)
Impact
Any attacks on these services may affect the integrity, confidentiality and availability of the web server.
Recommendation
Ensure that all unneeded services are disabled or access is restricted for incoming connections. In general, web
 
servers should be dedicated boxes which have been isolated from other hosted services.
References

http://www.iana.org/assignments/port­numbers
   
OWASP
 Top Ten Category
None
Web Application Security Assessment
Page 
30
 of 
41
Redspin, Inc.
     Confidential
Web Application Security Assessment
Page 
31
 of 
41
Application Analysis
The following analysis provides an abbreviated log of the steps performed for this assessment. These are included to provide a baseline for future security
 
assessments as well as technical details useful for server administration tasks, such as patching systems or website maintenance. 
Text in 
Courier
font
 is actual printout from the analysis. Some logs have been truncated, as shown with ellipses (...), to minimize output and highlight
 
relevant issues. This only provides a small section of the logs that are deemed relevant and useful to this report.  Issues that demand further attention have
 
been 
highlighted
, and detailed analysis is
 included in the 
Findings and Recommendations
 section of this report.
R
ECONNAISSANCE
External Services
Probing the network using various manual and automated methods, the following remotely accessible services/ports were identified as well as well as
 
information about each service. Where possible, we performed a full TCP port scan and common UDP service scan for each IP in scope.
Table 
5
.  Network 
Services
IP (Host)
HTTP Port
SSL Port 
Non Web Ports Present
67.201.60.181 (www.logaway.com,
 
www01.logaway.ml.zerolag.com)
80/tcp
443/tcp
Present
Web Server Configuration
We performed protocol, version and method checks on all identified web servers in order to detect nonstandard and custom web configurations.  Where multiple
 
web ports are accessible on the same IP address, we used HTTP server headers and simple content analysis to determine if content on each service is the
 
same, different, or if HTTP redirects to HTTPS as recommended by best practice.  This allowed the reduction of unnecessarily testing and issues by
 
concentrating application testing primarily on HTTP where the content is the same, SSL when HTTP securely redirects, and on all ports where content is
 
different.  For each application, we enumerated HTTP methods beyond the standard 
GET, HEAD, POST
and
OPTIONS
 in order to detect insecure methods
 
including 
TRACE/TRACK
 and WebDAV's
BCOPY, BDELETE, BMOVE, BPROPFIND, BPROPPATCH, COPY, DELETE, LOCK, MKCOL, MOVE, NOTIFY,

POLL, PROPFIND, PROPPATCH, SEARCH, SUBSCRIBE, UNLOCK, UNSUBSCRIBE,
and 
X-MS-ENUMATTS
methods.  Where necessary, we determined
 
if additional HTTP versions are supported beyond 
HTTP/1.0
 and 
HTTP/1.1
 using a variety of fuzzing and manual testing methods.
Website Security Assessment
Page 
32
 of 
41
Redspin, Inc.
     Confidential
Table 
6
.  Web Servers
Host
Insecure Methods
Insecure Versions
Insecure Headers
Missing Headers
www.logaway.com
Not present
Not present
Not present
Present
Secure Socket Layer
Secure socket layer (SSL) services were examined in order to determine if adequate transport layer protection
 
was in place.  We determined if the provided SSL certificate for each service was invalid, missing the DNS record
 
for the web server, was self­signed or did not contain a valid certificate authority, or was expired.  We also
 
checked for SSLv2, weak (with less than 128 bits encryption) and anonymous ciphers, and MD5 hashing, all of
 
which are cryptographically insecure and depreciated.  Finally, we checked for SSL renegotiation, which can allow
 
an attacker to modify an SSL connection already in process.  Further testing of SSL as it relates to the application
 
is included in the 
Session and Account Management
 
section of this report.
Table 
7
.  SSL Service Information
Hostname
Invalid Certificate
SSLv2
Weak Ciphers/Hashing
SSL Renegotiation
www.logaway.com
Not present
Not
 
present
Not present
Present
Load Balancing, Virtual Hosts and Subdomains
Each host was tested for additional IP address using load balancing as well as virtual domains hosted on the
 
same IP address.  Load balancing allows multiple IP addresses to be associated with a single domain.  If
 
inconsistent software versions are present on load balanced servers, an attacker could attack the weakest IP in
 
order to gain access to the host.  Virtual hosting allows a single IP address to host multiple websites with different
 
DNS records and content.  Virtual domains not within the scope of this assessment may contain vulnerabilities
 
which could affect the 
Logaway
 application.  Subdomains were also enumerated for each domain in scope.
 
Based upon the security content in place on modern web browsers known as the 
same origin policy
, it may be
 
possible for subdomains to execute client­side code as well as access cookies set for the parent domain.  This
 
can introduce both client­side vulnerabilities and session and account weaknesses for the application if insecure
 
subdomains exist which are not within the scope of this assessment.
Table 
8
.  Load Balancing, Virtual Hosts and Subdomains
Host
Load Balancing Enabled
Untested Virtual Hosts
Out­of­Scope Subdomains
www.logaway.com
Not Present
Not present
Not present
Platform Assessment
We gathered information from server headers, banners, HTTP comments, links to 3
rd
 parties, and other sources to
 
discover the web application, client and server frameworks, operating system platforms and possible web firewall,
 
intrusion detection and prevention systems in use.  
This task also attempted to detect proxied services, load
 
balancers, and virtual path mapped to different servers.  This included information gathered in the
 
Application
Configuration
 section of this report.
Web Application Security Assessment
Page 
33
 of 
41
Redspin, Inc.
     Confidential
Table 
9
.  Platform Assessment
Hostname
Outdated OS
Vuln. Server 
Vuln. Application
Vuln. Framework
Web FW/IPS/IDS
www.logaway.com
Not present
Not present
Not present
Not present
Not present
Web Application Security Assessment
Page 
34
 of 
41
A
PPLICATION
C
ON
FIGURATION
Server Content
Before examining the Logaway application, we first examined non­session, non­application resources on each relevant web server in order to discover unknown
 
content which many not be needed or included in the application as well as known resources which may not be configured correctly.  Resources identified in this
 
stage were checked for configuration errors, vulnerabilities, as well as used in further analysis.
Resource Enumeration and Identification
This step attempted to categorize resources which would not otherwise be identified in a crawl of the application.   Information from this step is collected from a
 
variety of sources, including
, directory and file brute­forcers, default application and system files lists, and known website vulnerability databases.  Resources
 
identified were examined for sensitive or unnecessary information leakage, which may also indicate that a larger security misconfiguration is present for the
 
application.
Table 
10
.  Unnecessary Resources
Host
Offsite References
Unused Content
Default Content
Vulnerable Content
www.logaway.com
Not present
Present
Present
Present
Security Configuration
In addition to content enumeration, we reviewed known files which are commonly misconfigured, left at default settings or may present a security risk for
 
Logaway
.  The robots.txt and sitemap.xml files can disclose sensitive resources which would not otherwise be known or discoverable.  The crossdomain.xml file
 
may be misconfigured to allow external Flash programs to access content for the 
Logaway
 application and violate the same­origin policy intrinsic to client­side
 
web browser security.  The favicon is an icon associated with a particular website or web page, and may be pre­packaged with a server or application and
 
disclose version information which might not otherwise be referenced.  Finally, we attempted to discover any HTTP­based administrative portals, login forms, or
 
functions accessible for the application, which may allow an attacker to elevate his privileges and should be restricted to selected IP addresses only.
Table 
11
.  Misconfigured Resources
Host
Misconfigured Resources
www.logaway.com
Not present
Application Content
Using content enumerated above, a starting URL, and access granted from Table 
7

 SSL Service Information
 in the 
Session and Account Management
 section
 
of the report, we crawled the 
Logaway
 application using automated and manual methods in order to map out the application's structure and content, limiting
 
Website Security Assessment
Page 
35
 of 
41
Redspin, Inc.
     Confidential
access to selected directories and paths where necessary. We reviewed resources present for sensitive
 
information and server­code disclosure, and 
attempted a variety of permutation attacks on both directories and
 
files. Input permutation attacks are covered further in the
 
Input Validation
 section of this report.
File Extensions
The purpose of each file extension used by the 
Logaway
 application was examined, which provides information
 
about the server­side application libraries in use by 
Logaway
.  We examined the error message for content not
 
present (commonly 
404 Not Found
)  in order to determine if information leakage or improper error handling was
 
occurring for any extension.  For extensions associated with server­side code, we additionally requested a variety
 
of common backup file variations such as 
.old, .bak,
and
~
 in order to determine if server­side code could
 
be disclosed.
Table 
12
.  File Extensions Present
Host
Backup Extensions
Sensitive Error Disc
Server Source Disc
www.logaway.com
Not present
Present
Present
Information Disclosure
Where possible, we reviewed, disassembled and decompiled content in order to discover any sensitive
 
information disclosure, such as sensitive HTTP comments, internal IP addresses, email addresses and links to
 
offsite resources.  Information in this step is also used in the 
Reconnaissance
 section of this report to provide
 
further insight about the frameworks in use by the application, which are typically disclosed in offsite links.
Table 
13
.  Information Disclosure
Host
Comments
Internal IP
Sensitive Email
Metadata Disclosure
www.logaway.com
Not present
Present
Not present
Not present
Web Application Security Assessment
Page 
36
 of 
41
Redspin, Inc.
     Confidential
I
NPUT
V
ALIDATION
Input Fault Testing
We examined all locations of user­input on the 
Logaway
 web application including GET and POST parameters,
 
URL, preference cookies, and other client­side HTTP headers.  We attempted a variety of client­side and server­
side attacks on all parameters where we detected that dynamic input influenced server response.  The following
 
table identifies each URL where input is accepted, the parameter name and value, the type of request, and if
 
injection was detected.
Server Side
Taking into consideration the application environment as noted in 
Table 6.  Web Servers
, we injected a variety of
 
custom interpreted code; string and character delimiters; redirection and escape paths; and null and overflow
 
sequences in an attempt to pass malformed data that would cause the application to disclose errors or divulge
 
information about backend process such as database or file structures.  This included checks for SQL, XPATH
 
and interpreted script injection in languages such as Java, Perl, PHP and Python.  We also detected all
 
parameters accepting local or remote filename and paths and attempted remote file inclusion (RFI), which is
 
validated by selecting and comparing output to known resource output.  Server­side attacks can lead to website
 
defacement or be used as a starting point to attack other internal 
Logaway
 resources, and/or harvest sensitive
 
information or serve malware to users visiting the 
Logaway
 application.  Identified server­side attacks are noted in
 
Table 5.  Network Services
 above and in the 
Findings and Recommendations
 section of this report .
Client Side
Client­side vulnerabilities were attempted by injecting a number of script tags, content encodings, XML and JSON
 
objects into sources of user­input, using a web proxy or by bypassing client­side filtering where necessary.  This
 
included checks for XSS and HTTP Response Splitting (CRLF=%0a%0d injection) reflected back in server replies,
 
stored on the server, and created using the application's existing client­side code.  Client­side attacks are used by
 
attackers to target users of the 
Logaway
 application through the application itself.  While this does not affect the
 
security of the 
Logaway
 application directly, it can include the disclosure or modification of sensitive customer
 
information, including passwords and email addresses.  
Table 
14
.  Input Sources
Host
Path
Injection
www.logaway.com
/123/minify/minifycss
Present
/123/home/Home 
Not present
/123/home/index 
Not present
/123/home/popup_terms 
Not present
/123/home/popup_privacy 
Not present
/123/home/vediotour 
Not present
/123/home/sendmail 
Present
/123/home/loadtour 
Not present
Web Application Security Assessment
Page 
37
 of 
41
Redspin, Inc.
     Confidential
Host
Path
Injection
/123/home/getcmscontent 
Not present
/123/home/getblogdetails 
Not present
/123/home/blogrss 
Not present
/123/home/blog 
Not present
/123/home/article 
Not present
/123/home/search_article 
Not present
/123/home/sitemap 
Not present
/123/home/blogsub 
Not present
/123/home/contactus 
Not present
/123/home/forgetpassword 
Not present
/123/home/sendpassword 
Not present
/123/home/forgetpackingkey 
Not present
/123/home/resetpassword 
Not present
/123/home/generateCode 
Not present
/123/home/security 
Not present
/123/home/aboutus 
Not present
/123/home/advertising 
Not present
/123/home/advertise 
Not present
/123/home/uploadesitevideo 
Not present
/123/home/uploadsitelogo_revised 
Not present
/123/home/uploadesitelogo 
Present
/123/home/upload_image 
Present
/123/home/careers 
Not present
/123/home/terms 
Not present
/123/home/privacy 
Not present
/123/home/faq 
Not present
/123/home/helpbycategory 
Not present
/123/home/unsubscribe 
Present
/123/home/captcha 
Not present
/123/home/logincaptcha 
Not present
/123/home/createmetatag 
Not present
/123/home/logout
Not present
Web Application Security Assessment
Page 
38
 of 
41
Redspin, Inc.
     Confidential
S
ESSION

AND
A
CCOUNT
M
ANAGEMENT
Aut
horization
Login Credentials
Credentials provided to access the 
Logaway
 application are listed below.  We determined the functionalities and
 
privileges granted to each role and determined if account escalation was possible from a failure to restrict URL
 
access or from any other attack method.  Access granted to each role was used to extend our application
 
enumeration as performed in the 
Application Configuration
 
section of the report.  Where necessary, we checked to
 
determine if sensitive accounts require more than single­factor authentication, requiring more than a single
 
password to authenticate.  We also ascertained if it is possible to determine any account information from the
 
website itself, which is typically common in social sharing websites and may allow an attacker to harvest account
 
information in order to perform a brute­force attack.  We also determined if it was possible to set a weak password
 
for the account, which would greatly increase the risk of a brute­force attacking succeeding.  We also determined
 
if the update process for the email address and password requires authentication, which would prevent a CSRF
 
attack from changing this information from a logged­in user without their knowledge.  Finally, we determined if it
 
was possible to access information from the account which should not be accessible, by attempting to directly
 
access sensitive and restrictive locations.
Table 
15
.  Authorization Credentials
Account
Single­factor
 
Insecure Settings
Weak Update Req.
Privilege E
scalation
Public Logic
Not present
Not present
Not present
Not present
Authorization Mechanism
We examined login pages accessible for the 
Logaway
 application to determine if they are accessible on an
 
unencrypted (non­SSL) link, which is important because session tracking mechanisms are useless if a user's login
 
information is stolen in transit. We also attempted to disclose the existence of valid accounts by observing the
 
error message returned when submitting a number of valid and invalid credentials, and if notification of account
 
lockout was present, which would prevent a brute­force password attack on a single account but provide an
 
attacker with knowledge to crack parallel accounts under the lockout limit or create a denial­of­service (DoS)
 
attack on critical accounts.  Finally, we observed if autocomplete is enabled for password­type fields on the login
 
form.  Autocomplete allows credentials to be cached in the web browser, which would present a risk at a public
 
terminal, such as a library, and should be replaced by a “Remember Me” equivalent checkbox which is unchecked
 
by default.
Table 
16
.  Authorization Functionality
URL
PATH
Non­SSL
Account Disclosure
Can Brute­force
Autocomplete
www.logaway.com
/123
Not present
Present
Not present
Present
Web Application Security Assessment
Page 
39
 of 
41
Redspin, Inc.
     Confidential
Session Man
agement
Cookie Categories
Session management is commonly controlled by a combination of web cookies and server URL as HTTP is a
 
stateless protocol and cannot maintain client­state independently.  We reviewed the use of cookies for managing
 
session information used on the 
Logaway
 application by dividing them into three general categories:
1.
Session cookies
 are used to associate a particular server­side state with a client web browser, and are
 
typically associated with a login component.  Standard session cookies are built­in on most application
 
environments, and have an adequate level of randomization to prevent prediction attacks on user
 
sessions by containing a set number of alphanumeric characters (A­Za­z0­9) and length (16, 32, 128,
 
characters), and are noted here: 
http://www.owasp.org/index.php/Category:OWASP_Cookies_Database
.
 
Where standard session cookies are not present, we discovered the use of custom session cookies by
 
logging into the application, erasing each cookie individually and refreshing the current page in order to
 
determine if our session is terminated.  Where custom session cookies are used, we review the amount of
 
randomness in place by requesting a large number of cookies in order to determine the randomness in
 
each character position in order to determine if the custom session cookies can prevent enumeration of
 
valid user sessions.  
2.
Preference cookies
 are used to associate a set of client settings with the application such as spoken
 
language choice, website color scheme preference and last link visited.  Typically these cookies are in a
 
readable format and grouped together in a single cookie separated by character delimiters (&=(){}.;) as
 
recommended by best practice.  While these cookies are not used for session management and not
 
analyzed in this section of our report, we review them as another source of user input and test them in the
 
Input Validation
 section of this report.
3.
Tracking cookies
 are used to provide aggregate metrics about individual clients by associating them with
 
a particular web browser, and are not used for any general application purpose.  Tracking cookies are
 
typically from a company such as 
Omniture SiteCatalys or Google Analytics for application statistics or
 
from a number of known third­party advertising companies.  
Tracking cookies were not examined for the
 
assessment.  Local shared objects, cookie­like data storage used by Adobe Flash Player, also fall in this
 
category, and were not reviewed unless otherwise noted.
Cookie Settings
In order to identify all cookies used by the 
Logaway
 application, we use the credentials and login pages above
 
during the enumeration step performed in 
the 
Application Configuration
 
section of the report and dump all cookies
 
provided when the process is complete.  Cookies are then categorized by host and path, including if subdomain
 
access is permitted.  The flags set by each cookie are also reviewed including the 
Secure
 flag, the recently
 
introduced 
HTTPOnly
 flag, and the expiration­date.  The 
Secure
 flag ensures that the cookie is only sent over
 
encrypted connections, which is important for keeping important cookies from being stolen while in transit.  
The
 
HTTPOnly
 flag ensures that cookies are inaccessible to client­side scripts and attacks, preventing them from
 
being stolen.  Cookies can either be set to expire at a certain date, or when the client's web browser is closed,
 
which prevents it from being stored and reused later, which is important if the site is accessed from a public
 
location.  Finally, the 
purpose of each cookie is evaluated based upon the criterion category above.  Any session
 
cookies with insecure settings will be 
highlighted
, and detailed analysis will be included in the 
Findings and
Recommendations
 section of this report.
Web Application Security Assessment
Page 
40
 of 
41
Redspin, Inc.
     Confidential
Table 
17
.  Cookie Settings
Host
Path
Name
Category
HTTP Access
Script Access
Non­expiration
www.logaway.com
/
PHPSESSID
Session
Present
Present
Not present
/
widget_minimi
ze
Preference
Present
Present
Not present
/
masterkey
Session
Present
Present
Present
/
__qca
Tracking
Present
Present
Not present
*.www.logaway.com
/
ARMM
Preference
Present
Present
Not present
/
meebo-cim
Preference
Present
Present
Not present
/
meebo-cim-
session
Session
Present
Present
Present
/
__utmb
Tracking
Present
Present
Not present
/
__utmc
Tracking
Present
Present
Present
/
__utma
Tracking
Present
Present
Not present
/
__utmz
Tracking
Present
Present
Not present
/
cdata
Preference
Present
Present
Present
Session Manipulation
We attempted to manipulate session cookies, including the enumeration of custom session cookies as mentioned
 
above for predictability in order to elevate our privileges or impersonate other sessions.  We also checked and
 
disabled cookies in our browser in order to determine if they are passed in the URL instead, which is present in
 
some old applications, and may allow them to be compromised in the 
REFERER
 parameter of an offsite link
 
located on the 
Logaway
 application.  We also logged in with the same set of credentials or different browsers at
 
the same time in order to determine if multiple session cookies can be associated with a single set of credentials,
 
which would allow an attacker to use the application concurrently with a valid user, either by stealing the
 
credentials directly, or gaining access to an old or different set of session cookies.  
Table 
18
.  
Session Manipulation
URL
Predictable Session Value
Cookies in URL
Simultaneous Login
www.logaway.com
Not present
Not present
Present
Web Application Security Assessment
Page 
41
 of 
41