403Webshell
Server IP : 202.61.199.114  /  Your IP : 216.73.217.139
Web Server : nginx/1.22.1
System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User : web20 ( 1018)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/thread-self/root/tmp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/thread-self/root/tmp/ux.py
import subprocess
from playwright.sync_api import sync_playwright
TOK=open('/tmp/etok.txt').read().strip(); ID=open('/tmp/eid.txt').read().strip()
url="https://seaside.pacim.de/day-list.php?t="+TOK
def revoke():
    subprocess.run(["curl","-s","-b","/tmp/cj.txt","-X","POST","https://seaside.pacim.de/mobile-access.php?action=revoke","--data","id="+ID],check=True,capture_output=True)
with sync_playwright() as p:
    b=p.chromium.launch(); pg=b.new_page(viewport={"width":440,"height":820})
    pg.goto(url, wait_until="networkidle"); pg.wait_for_timeout(500)
    # 1) search clear button
    pg.fill('#dl-search','xyz'); pg.wait_for_timeout(200)
    print("clear btn visible after typing:", pg.is_visible('#dl-clear'))
    pg.click('#dl-clear'); pg.wait_for_timeout(200)
    print("input after clear:", repr(pg.input_value('#dl-search')), "| clear btn hidden:", not pg.is_visible('#dl-clear'))
    # 2) search -> open row -> zurück -> search cleared
    firstplate=pg.eval_on_selector('#dl-body tr[data-out="0"]','e=>e.getAttribute("data-plate")')
    pg.fill('#dl-search', firstplate); pg.wait_for_timeout(300)
    pg.eval_on_selector('#dl-body tr[data-out="0"]:not([style*="none"])','e=>e.click()'); pg.wait_for_timeout(1200)
    print("overlay open:", pg.is_visible('#dl-ov'))
    pg.click('#dl-ov-close'); pg.wait_for_timeout(500)
    print("after zurück -> overlay closed:", not pg.is_visible('#dl-ov'), "| search empty:", pg.input_value('#dl-search')=="")
    # 3) end-of-session: revoke then trigger poll
    revoke()
    pg.evaluate("document.dispatchEvent(new Event('visibilitychange'))"); pg.wait_for_timeout(2000)
    print("end-session screen visible:", pg.is_visible('#dl-ended'))
    pg.screenshot(path="/tmp/ended.png")
    b.close()

Youez - 2016 - github.com/yon3zu
LinuXploit