Ethical Hacking

Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package.
Computer Forensics Training at InfoSec Institute

Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors.




Network Security VulnWatch
[Top] [All Lists]

[Full-disclosure] Multiple vulnerabilities in phpMyVisites

Subject: [Full-disclosure] Multiple vulnerabilities in phpMyVisites
Date: Sun, 11 Feb 2007 12:25:10 +0100

        Multiple vulnerabilities in phpMyVisites


Application : phpMyVisites prior to 2.2 stable
Release Date : 11 February 2007
Author : Nicob <nicob at nicob.net>

Abstract :
==========

Several vulnerabilities were identified in phpMyVisites. This software
is "a free and powerful open source (GNU/GPL) software for websites
statistics and audience measurements" : http://www.phpmyvisites.net/

Impacted versions :
===================

Versions 2.2 stable (released on November 10, 2006) and newer are not
impacted by these vulnerabilities.

Notes :
=======

- only one PHP file (phpmyvisites.php) need to be remotely accessed by
visitors. A paranoid installation will allow remote access only to this
file (for example via htaccess). So my brief code audit focused on this
very file.

- external libraries (smarty, phpMailer, PEAR, ...) are embedded in any
phpMyVisites install. Some vulnerabilities in these libraries were
patched in version 2.2 stable too.

Vulnerabilities :
=================

- "HTTP Response Splitting" via the "url" parameter (triggered when the
"pagename" parameter begins by "FILE:")

- "Cross Site Scripting" in function GetCurrentCompletePath() :

http://your_site/your_dir/phpmyvistes.php/AAA/B<script>alert(document.location)</script>B/CCC

- "Local file include" via the "pmv_ck_view" cookie parameter. Part of
this cookie is used to construct a file path, which is then used in a
require() call :

        if( !isset($this->file)
               || !strpos( $this->file, 'utf-8.php')
               || strpos( $this->file, '..') )
        {
                $this->file = $this->getNearestLang();
        }
        require LANGS_PATH . "/" . $this->file; 

In this code, the third check is "FALSE" if the strpos() call returns
"FALSE" _or_ "0". So "../../../../../tmp/utf-8.php" would be accepted.


Nicob

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/

<Prev in Thread] Current Thread [Next in Thread>
  • [Full-disclosure] Multiple vulnerabilities in phpMyVisites, Nicob <=