Remediation Report for Application Developer (Page 1 of 2)

 Scan Name: WebScantest
 Date: 12/13/2011 4:15:27 PM
 Authenticated User: (none)
 Total Links / Attackable Links: 266 / 218
 Target URL: http://www.webscantest.com/
 Reports:
<< >>

Summary


Vulnerability Type

Root Causes

Vulnerabilities

Arbitrary File Upload  4   4 
Authentication Form SQL Injection  2   2 
Authentication Testing  1   1 
Blind SQL  15   91 
Cross-Site Scripting  25   217 
Cross-Site Scripting - DOM Based  1   1 
HTTP Response Splitting  1   1 
OS Commanding  1   5 
SQL Injection  11   105 
Parameter Analysis  12   28 
Session Strength Analysis  2   2 
Total:  75   457 

By Risk

Vulnerabilities: 457

Details by Module

   Disable Validate Applet

Collapse Arbitrary File Upload

some text
  Collapse Site: http://www.webscantest.com:80
some text
http://www.webscantest.com:80/picshare/upload.pl Root Cause #1: 1 parameter / 1 vuln   Expand

some text
http://www.webscantest.com:80/picshare/upload.pl Root Cause #2: 1 parameter / 1 vuln   Expand

some text
http://www.webscantest.com:80/picshare/uploadpic.php Root Cause #3: 1 parameter / 1 vuln   Expand

some text
http://www.webscantest.com:80/picshare/uploadpic.php Root Cause #4: 1 parameter / 1 vuln   Expand


CAPEC-73 DISSA_ASC-APP3510 OWASP2007-A4 OWASP2010-A4 OVAL-963
Description:   It has proven possible to use file upload facilities made available by the web application to upload an executable application to the server.

Recommendations:   Intercept file upload attempts and ensure that only the intended types are being uploaded before allowing the upload to succeed.



Collapse Authentication Form SQL Injection

some text
  Collapse Site: http://www.webscantest.com:80
URL: http://www.webscantest.com:80/login.php Root Cause #5:  Expand

  Root Cause #6:  Expand


CWE-287 CAPEC-115 DISSA_ASC-APP3360 OWASP2007-A2 OWASP2010-A3 OVAL-5861
Description:   It was discovered that SQL Injection techniques can be used to fool the application into authenticating without the attacker needing valid credentials. SQL Injection vulnerabilities on login pages expose an application to unauthorized access and quite probably at the administrator level, thereby severely compromising the security of the application.
Recommendations:  
  • Normalize all user-supplied login data before applying filters, regular expressions, or submitting the login data to a database. This means that all URL-encoded (%xx), HTML-encoded (&#xx;), or other encoding schemes should be reduced to the internal character representation expected by the application. This prevents attackers from using alternate encoding schemes to bypass filters.
  • Implement positive filters that examine user-supplied login data for expected characters. Define data types for user-supplied values and ensure that submitted login data match these types, such as numeric or acceptable password characters (i.e. consider disallowing as many HTML syntax characters as password characters as possible without compromising password resistance to dictionary attacks). String or text values should be carefully matched to a limited subset of characters such as alpha, numeric, spaces, or certain punctuation characters as necessary. If any value received by the application contains an unexpected character, then it should be rejected.
  • Negative filtering can also prevent attacks, but may be more unreliable or more difficult to implement for language sets that require non-ASCII characters. Examine all login data received from the web browser for SQL syntax characters. If any of these characters are present, then they should be escaped or removed. The single quote (') or double quote (") are often used to envelope parameters in a SQL query. Other malicious characters include the asterisk, semi-colon, dash (minus sign), and parentheses. These characters could be used to prematurely end a query statement.



Collapse Authentication Testing

some text
  Collapse Site: http://www.webscantest.com:80
URL: http://www.webscantest.com:80/login.php Root Cause #7:  Expand


CWE-287 CAPEC-521 DISSA_ASC-APP6260 OWASP2007-A7 OWASP2010-A3
Description:   A valid username and password combination was discovered for the application. Default passwords and trivial passwords expose an application to unauthorized access. If a user chooses a very insecure password, then that user's account information can be compromised and the account can be used to attempt to compromise the application.
Recommendations:   Enforce a strong password security policy.
  1. Require that all passwords have a six-character minimum length.
  2. Require that all passwords have mixed-case alphanumeric content
  3. Have all passwords expire every 180 days and do not allow uesrs to re-use previously expired passwords.
  4. includes rules for password content, password expiration, and password re-use.



Collapse Blind SQL

some text
  Collapse Site: http://www.webscantest.com:80
some text
http://www.webscantest.com:80/datastore/search_double_by_name.php Root Cause #8: 1 parameter / 4 vulns   Expand

some text
http://www.webscantest.com:80/datastore/search_by_id.php Root Cause #9: 1 parameter / 9 vulns   Expand

some text
http://www.webscantest.com:80/shutterdb/search_by_name.php Root Cause #10: 1 parameter / 4 vulns   Expand

some text
http://www.webscantest.com:80/shutterdb/item.php Root Cause #11: 1 parameter / 1 vuln   Expand

some text
http://www.webscantest.com:80/datastore/search_get_by_name.php Root Cause #12: 1 parameter / 4 vulns   Expand

some text
http://www.webscantest.com:80/shutterdb/search_by_id.php Root Cause #13: 1 parameter / 9 vulns   Expand

some text
http://www.webscantest.com:80/datastore/getimage_by_id.php Root Cause #14: 1 parameter / 9 vulns   Expand

some text
http://www.webscantest.com:80/shutterdb/search_get_by_id4.php Root Cause #15: 1 parameter / 8 vulns   Expand

some text
http://www.webscantest.com:80/datastore/search_get_by_id.php Root Cause #16: 1 parameter / 9 vulns   Expand

some text
http://www.webscantest.com:80/shutterdb/search_get_by_id.php Root Cause #17: 1 parameter / 9 vulns   Expand

some text
http://www.webscantest.com:80/login.php Root Cause #18: 1 parameter / 1 vuln   Expand

some text
http://www.webscantest.com:80/datastore/search_by_name.php Root Cause #19: 1 parameter / 4 vulns   Expand

some text
http://www.webscantest.com:80/shutterdb/search_get_by_id3.php Root Cause #20: 1 parameter / 9 vulns   Expand

some text
http://www.webscantest.com:80/shutterdb/search_get_by_id2.php Root Cause #21: 1 parameter / 9 vulns   Expand

some text
http://www.webscantest.com:80/datastore/getimage_by_name.php Root Cause #22: 1 parameter / 2 vulns   Expand


CWE-89 CAPEC-7 DISSA_ASC-APP3540 OWASP2007-A2 OWASP2010-A1 OVAL-1033
Description:   These SQL injection techniques analyze the application's response to parameter values that are designed to be interpreted and executed by a database. These requests contain arguments that are not affected by input validation filters. The application submits the original payload to the database, where the database interprets the payload as a valid SQL query. This implies that arbitrary SQL commands may be executed through this parameter value. These tests do not generate database errors, nor should database errors appear in the HTML response.
Vulnerabilities identified by this module highlight problems with input validation routines and the creation of SQL queries. They should be addressed by the fundamental approaches taken to counter common SQL injection exploits.
Recommendations:   Several techniques can be used to block database injection attacks. These techniques complement each other and address security at different points in the application. The impact of a SQL injection attack is minimized by implementing multiple defense measures.
  • Normalize all user-supplied data before applying filters, regular expressions, or submitting the data to a database. This means that all URL-encoded (%xx), HTML-encoded (&#xx;), or other encoding schemes should be reduced to the internal character representation expected by the application. This prevents attackers from using alternate encoding schemes to bypass filters.
  • Implement positive filters that examine user-supplied data for expected characters. Define data types for user-supplied values and ensure that submitted data match these types, such as numeric or date. String or text values should be carefully matched to a limited subset of characters such as alpha, numeric, spaces, or certain punctuation characters as necessary. If any value received by the application contains an unexpected character, then it should be rejected.
  • Negative filtering can also prevent attacks, but may be more unreliable or more difficult to implement for language sets that require non-ASCII characters. Examine all data received from the web browser for SQL syntax characters. If any of these characters are present, then they should be escaped or removed. The single quote (') or double quote (") are often used to envelope parameters in a SQL query. Other malicious characters include the asterisk, semi-colon, dash (minus sign), and parentheses. These characters could be used to prematurely end a query statement.
  • Avoid string concatenation for SQL query construction. String concatenation, where the query is created programmatically by appending values together, makes an injection attack easier to accomplish because the syntax of the query can be easily disrupted by malicious characters.
  • SQL statements should use pre-defined views, parameterized functions, or stored procedures to query the database. These techniques do not enable the content of a parameter to affect the structure of a SQL statement. Even if a parameter contains malicious characters, then the function will always return an error due to incorrect values.
  • Store user-supplied values with appropriate data types within the database. For example, dates should be stored as DATE types (if available) instead of a VARCHAR string.



Collapse Cross-Site Scripting

some text
  Collapse Site: http://www.webscantest.com:80
some text
http://www.webscantest.com:80/crosstraining/review.php Root Causes #23 - 24: 2 parameters / 20 vulns   Expand

some text
http://www.webscantest.com:80/crosstraining/review.php Root Causes #25 - 26: 2 parameters / 20 vulns   Expand

some text
http://www.webscantest.com:80/crosstraining/review.php Root Causes #27 - 28: 2 parameters / 20 vulns   Expand