Flag the cve-2020-35498 attack# cve-2020-35498-flag
Flag the cve-2020-35498 attack
## Build
Requires `gcc` and `go`.
```
make
```
### Filter
The filter was built with `bpf_asm` and placed in `filter.c`.
## Catch the vulnerability with
```
sudo ./target/catch
```
## Trigger with
Trigger the vulnerability through interface wlan0 with destination aa:bb:cc:dd:ee:ff.
```
sudo ./target/trigger -i wlan0 -a aa:bb:cc:dd:ee:ff
```
[4.0K] /data/pocs/3309acc0513b5454fbcf8ad314dfa8920b5fe564
├── [4.0K] catch
│ ├── [ 224] filter
│ ├── [1.3K] filter.c
│ └── [1.2K] main.c
├── [ 298] go.mod
├── [2.8K] go.sum
├── [ 223] Makefile
├── [ 399] README.md
├── [4.0K] trigger
│ └── [2.1K] main.go
└── [4.0K] vendor
├── [4.0K] github.com
│ ├── [4.0K] google
│ │ └── [4.0K] gopacket
│ │ ├── [1.7K] AUTHORS
│ │ ├── [5.6K] base.go
│ │ ├── [8.7K] CONTRIBUTING.md
│ │ ├── [6.0K] decode.go
│ │ ├── [ 18K] doc.go
│ │ ├── [7.7K] flows.go
│ │ ├── [6.3K] gc
│ │ ├── [ 228] go.mod
│ │ ├── [1.9K] go.sum
│ │ ├── [2.9K] layerclass.go
│ │ ├── [4.0K] layers
│ │ │ ├── [3.6K] arp.go
│ │ │ ├── [5.3K] asf.go
│ │ │ ├── [7.0K] asf_presencepong.go
│ │ │ ├── [1.5K] base.go
│ │ │ ├── [ 19K] bfd.go
│ │ │ ├── [ 19K] cdp.go
│ │ │ ├── [3.4K] ctp.go
│ │ │ ├── [ 17K] dhcpv4.go
│ │ │ ├── [8.9K] dhcpv6.go
│ │ │ ├── [ 18K] dhcpv6_options.go
│ │ │ ├── [ 32K] dns.go
│ │ │ ├── [2.8K] doc.go
│ │ │ ├── [ 74K] dot11.go
│ │ │ ├── [2.2K] dot1q.go
│ │ │ ├── [2.8K] eap.go
│ │ │ ├── [8.2K] eapol.go
│ │ │ ├── [3.7K] endpoints.go
│ │ │ ├── [ 13K] enums_generated.go
│ │ │ ├── [ 30K] enums.go
│ │ │ ├── [2.8K] erspan2.go
│ │ │ ├── [1.2K] etherip.go
│ │ │ ├── [3.6K] ethernet.go
│ │ │ ├── [1.0K] fddi.go
│ │ │ ├── [1.2K] fuzz_layer.go
│ │ │ ├── [3.4K] geneve.go
│ │ │ ├── [ 80] gen_linted.sh
│ │ │ ├── [5.4K] gre.go
│ │ │ ├── [5.3K] gtp.go
│ │ │ ├── [230K] iana_ports.go
│ │ │ ├── [8.0K] icmp4.go
│ │ │ ├── [8.0K] icmp6.go
│ │ │ ├── [ 17K] icmp6msg.go
│ │ │ ├── [ 12K] igmp.go
│ │ │ ├── [8.3K] ip4.go
│ │ │ ├── [ 19K] ip6.go
│ │ │ ├── [2.2K] ipsec.go
│ │ │ ├── [ 25K] layertypes.go
│ │ │ ├── [5.9K] lcm.go
│ │ │ ├── [2.6K] linux_sll.go
│ │ │ ├── [5.1K] llc.go
│ │ │ ├── [ 47K] lldp.go
│ │ │ ├── [2.2K] loopback.go
│ │ │ ├── [5.7K] mldv1.go
│ │ │ ├── [ 19K] mldv2.go
│ │ │ ├── [5.2K] modbustcp.go
│ │ │ ├── [2.9K] mpls.go
│ │ │ ├── [ 26K] ndp.go
│ │ │ ├── [ 18K] ntp.go
│ │ │ ├── [ 21K] ospf.go
│ │ │ ├── [2.3K] pflog.go
│ │ │ ├── [4.3K] ports.go
│ │ │ ├── [2.4K] ppp.go
│ │ │ ├── [1.6K] pppoe.go
│ │ │ ├── [4.6K] prism.go
│ │ │ ├── [ 30K] radiotap.go
│ │ │ ├── [ 22K] radius.go
│ │ │ ├── [5.3K] rmcp.go
│ │ │ ├── [2.8K] rudp.go
│ │ │ ├── [ 22K] sctp.go
│ │ │ ├── [ 98K] sflow.go
│ │ │ ├── [ 13K] sip.go
│ │ │ ├── [ 687] stp.go
│ │ │ ├── [9.4K] tcp.go
│ │ │ ├── [3.3K] tcpip.go
│ │ │ ├── [3.6K] test_creator.py
│ │ │ ├── [4.8K] tls_alert.go
│ │ │ ├── [ 827] tls_appdata.go
│ │ │ ├── [1.5K] tls_cipherspec.go
│ │ │ ├── [6.8K] tls.go
│ │ │ ├── [ 673] tls_handshake.go
│ │ │ ├── [3.4K] udp.go
│ │ │ ├── [1.3K] udplite.go
│ │ │ ├── [8.0K] usb.go
│ │ │ ├── [5.6K] vrrp.go
│ │ │ └── [4.1K] vxlan.go
│ │ ├── [2.8K] layers_decoder.go
│ │ ├── [3.3K] layertype.go
│ │ ├── [1.5K] LICENSE
│ │ ├── [ 26K] packet.go
│ │ ├── [ 12K] parser.go
│ │ ├── [ 651] README.md
│ │ ├── [2.4K] time.go
│ │ └── [8.8K] writer.go
│ └── [4.0K] mdlayher
│ ├── [4.0K] ethernet
│ │ ├── [8.7K] ethernet.go
│ │ ├── [ 342] fuzz.go
│ │ ├── [ 293] go.mod
│ │ ├── [1.4K] go.sum
│ │ ├── [1.1K] LICENSE.md
│ │ ├── [ 744] README.md
│ │ ├── [ 850] string.go
│ │ └── [3.5K] vlan.go
│ └── [4.0K] raw
│ ├── [ 192] go.mod
│ ├── [ 878] go.sum
│ ├── [1.1K] LICENSE.md
│ ├── [8.5K] raw_bsd.go
│ ├── [ 651] raw_direction_bsd.go
│ ├── [ 627] raw_direction_openbsd.go
│ ├── [4.6K] raw.go
│ ├── [ 10K] raw_linux.go
│ ├── [1.9K] raw_others.go
│ ├── [1.4K] README.md
│ └── [ 93] staticcheck.conf
├── [4.0K] golang.org
│ └── [4.0K] x
│ ├── [4.0K] net
│ │ ├── [ 173] AUTHORS
│ │ ├── [4.0K] bpf
│ │ │ ├── [1.2K] asm.go
│ │ │ ├── [6.0K] constants.go
│ │ │ ├── [3.1K] doc.go
│ │ │ ├── [ 18K] instructions.go
│ │ │ ├── [ 310] setter.go
│ │ │ ├── [4.0K] vm.go
│ │ │ └── [3.9K] vm_instructions.go
│ │ ├── [ 170] CONTRIBUTORS
│ │ ├── [1.4K] LICENSE
│ │ └── [1.3K] PATENTS
│ └── [4.0K] sys
│ ├── [ 173] AUTHORS
│ ├── [ 170] CONTRIBUTORS
│ ├── [1.4K] LICENSE
│ ├── [1.3K] PATENTS
│ └── [ 12K] unix
│ ├── [3.2K] affinity_linux.go
│ ├── [ 372] aliases.go
│ ├── [ 410] asm_aix_ppc64.s
│ ├── [ 675] asm_darwin_386.s
│ ├── [ 678] asm_darwin_amd64.s
│ ├── [ 691] asm_darwin_arm64.s
│ ├── [ 686] asm_darwin_arm.s
│ ├── [ 681] asm_dragonfly_amd64.s
│ ├── [ 676] asm_freebsd_386.s
│ ├── [ 679] asm_freebsd_amd64.s
│ ├── [ 679] asm_freebsd_arm64.s
│ ├── [ 666] asm_freebsd_arm.s
│ ├── [1.4K] asm_linux_386.s
│ ├── [1.2K] asm_linux_amd64.s
│ ├── [1.1K] asm_linux_arm64.s
│ ├── [1.1K] asm_linux_arm.s
│ ├── [1.1K] asm_linux_mips64x.s
│ ├── [1.1K] asm_linux_mipsx.s
│ ├── [ 921] asm_linux_ppc64x.s
│ ├── [1.1K] asm_linux_riscv64.s
│ ├── [1.1K] asm_linux_s390x.s
│ ├── [ 675] asm_netbsd_386.s
│ ├── [ 678] asm_netbsd_amd64.s
│ ├── [ 668] asm_netbsd_arm64.s
│ ├── [ 665] asm_netbsd_arm.s
│ ├── [ 676] asm_openbsd_386.s
│ ├── [ 679] asm_openbsd_amd64.s
│ ├── [ 679] asm_openbsd_arm64.s
│ ├── [ 666] asm_openbsd_arm.s
│ ├── [ 426] asm_solaris_amd64.s
│ ├── [ 655] bluetooth_linux.go
│ ├── [5.0K] cap_freebsd.go
│ ├── [ 289] constants.go
│ ├── [ 864] dev_aix_ppc64.go
│ ├── [ 745] dev_aix_ppc.go
│ ├── [ 747] dev_darwin.go
│ ├── [1.0K] dev_dragonfly.go
│ ├── [1013] dev_freebsd.go
│ ├── [1.5K] dev_linux.go
│ ├── [ 913] dev_netbsd.go
│ ├── [ 918] dev_openbsd.go
│ ├── [ 624] dirent.go
│ ├── [ 236] endian_big.go
│ ├── [ 266] endian_little.go
│ ├── [ 616] env_unix.go
│ ├── [9.2K] errors_freebsd_386.go
│ ├── [9.2K] errors_freebsd_amd64.go
│ ├── [8.8K] errors_freebsd_arm.go
│ ├── [ 587] fcntl_darwin.go
│ ├── [ 980] fcntl.go
│ ├── [ 388] fcntl_linux_32bit.go
│ ├── [1.0K] gccgo_c.c
│ ├── [2.0K] gccgo.go
│ ├── [ 429] gccgo_linux_amd64.go
│ ├── [ 950] ioctl.go
│ ├── [7.7K] mkall.sh
│ ├── [ 16K] mkerrors.sh
│ ├── [ 367] pagesize_unix.go
│ ├── [3.7K] pledge_openbsd.go
│ ├── [ 509] race0.go
│ ├── [ 607] race.go
│ ├── [8.0K] README.md
│ ├── [1.0K] sockcmsg_linux.go
│ ├── [3.2K] sockcmsg_unix.go
│ ├── [ 615] str.go
│ ├── [ 16K] syscall_aix.go
│ ├── [1.9K] syscall_aix_ppc64.go
│ ├── [1.3K] syscall_aix_ppc.go
│ ├── [ 16K] syscall_bsd.go
│ ├── [1.9K] syscall_darwin_386.go
│ ├── [1.9K] syscall_darwin_amd64.go
│ ├── [1.8K] syscall_darwin_arm64.go
│ ├── [1.8K] syscall_darwin_arm.go
│ ├── [ 19K] syscall_darwin.go
│ ├── [1.3K] syscall_darwin_libSystem.go
│ ├── [1.2K] syscall_dragonfly_amd64.go
│ ├── [ 14K] syscall_dragonfly.go
│ ├── [1.2K] syscall_freebsd_386.go
│ ├── [1.2K] syscall_freebsd_amd64.go
│ ├── [1.2K] syscall_freebsd_arm64.go
│ ├── [1.2K] syscall_freebsd_arm.go
│ ├── [ 22K] syscall_freebsd.go
│ ├── [2.0K] syscall.go
│ ├── [ 11K] syscall_linux_386.go
│ ├── [ 297] syscall_linux_amd64_gc.go
│ ├── [6.3K] syscall_linux_amd64.go
│ ├── [6.7K] syscall_linux_arm64.go
│ ├── [8.7K] syscall_linux_arm.go
│ ├── [ 582] syscall_linux_gc_386.go
│ ├── [ 979] syscall_linux_gccgo_386.go
│ ├── [ 589] syscall_linux_gccgo_arm.go
│ ├── [ 495] syscall_linux_gc.go
│ ├── [ 53K] syscall_linux.go
│ ├── [6.7K] syscall_linux_mips64x.go
│ ├── [7.2K] syscall_linux_mipsx.go
│ ├── [5.9K] syscall_linux_ppc64x.go
│ ├── [6.8K] syscall_linux_riscv64.go
│ ├── [ 10K] syscall_linux_s390x.go
│ ├── [5.2K] syscall_linux_sparc64.go
│ ├── [ 735] syscall_netbsd_386.go
│ ├── [ 730] syscall_netbsd_amd64.go
│ ├── [ 730] syscall_netbsd_arm64.go
│ ├── [ 735] syscall_netbsd_arm.go
│ ├── [ 16K] syscall_netbsd.go
│ ├── [ 915] syscall_openbsd_386.go
│ ├── [ 905] syscall_openbsd_amd64.go
│ ├── [ 905] syscall_openbsd_arm64.go
│ ├── [ 915] syscall_openbsd_arm.go
│ ├── [ 12K] syscall_openbsd.go
│ ├── [ 509] syscall_solaris_amd64.go
│ ├── [ 21K] syscall_solaris.go
│ ├── [ 622] syscall_unix_gc.go
│ ├── [ 798] syscall_unix_gc_ppc64x.go
│ ├── [ 11K] syscall_unix.go
│ ├── [2.5K] timestruct.go
│ ├── [1.0K] unveil_openbsd.go
│ ├── [5.0K] xattr_bsd.go
│ ├── [ 52K] zerrors_aix_ppc64.go
│ ├── [ 52K] zerrors_aix_ppc.go
│ ├── [ 73K] zerrors_darwin_386.go
│ ├── [ 73K] zerrors_darwin_amd64.go
│ ├── [ 73K] zerrors_darwin_arm64.go
│ ├── [ 73K] zerrors_darwin_arm.go
│ ├── [ 67K] zerrors_dragonfly_amd64.go
│ ├── [ 70K] zerrors_freebsd_386.go
│ ├── [ 70K] zerrors_freebsd_amd64.go
│ ├── [ 70K] zerrors_freebsd_arm64.go
│ ├── [ 70K] zerrors_freebsd_arm.go
│ ├── [129K] zerrors_linux_386.go
│ ├── [129K] zerrors_linux_amd64.go
│ ├── [129K] zerrors_linux_arm64.go
│ ├── [129K] zerrors_linux_arm.go
│ ├── [129K] zerrors_linux_mips64.go
│ ├── [129K] zerrors_linux_mips64le.go
│ ├── [129K] zerrors_linux_mips.go
│ ├── [129K] zerrors_linux_mipsle.go
│ ├── [132K] zerrors_linux_ppc64.go
│ ├── [132K] zerrors_linux_ppc64le.go
│ ├── [128K] zerrors_linux_riscv64.go
│ ├── [132K] zerrors_linux_s390x.go
│ ├── [132K] zerrors_linux_sparc64.go
│ ├── [ 72K] zerrors_netbsd_386.go
│ ├── [ 72K] zerrors_netbsd_amd64.go
│ ├── [ 72K] zerrors_netbsd_arm64.go
│ ├── [ 72K] zerrors_netbsd_arm.go
│ ├── [ 68K] zerrors_openbsd_386.go
│ ├── [ 72K] zerrors_openbsd_amd64.go
│ ├── [ 73K] zerrors_openbsd_arm64.go
│ ├── [ 68K] zerrors_openbsd_arm.go
│ ├── [ 58K] zerrors_solaris_amd64.go
│ ├── [1.8K] zptrace386_linux.go
│ ├── [1.2K] zptracearm_linux.go
│ ├── [1.4K] zptracemipsle_linux.go
│ ├── [1.4K] zptracemips_linux.go
│ ├── [ 31K] zsyscall_aix_ppc64_gccgo.go
│ ├── [ 42K] zsyscall_aix_ppc64_gc.go
│ ├── [ 30K] zsyscall_aix_ppc64.go
│ ├── [ 36K] zsyscall_aix_ppc.go
│ ├── [ 43K] zsyscall_darwin_386.1_11.go
│ ├── [ 67K] zsyscall_darwin_386.go
│ ├── [9.7K] zsyscall_darwin_386.s
│ ├── [ 43K] zsyscall_darwin_amd64.1_11.go
│ ├── [ 67K] zsyscall_darwin_amd64.go
│ ├── [9.8K] zsyscall_darwin_amd64.s
│ ├── [ 43K] zsyscall_darwin_arm.1_11.go
│ ├── [ 42K] zsyscall_darwin_arm64.1_11.go
│ ├── [ 66K] zsyscall_darwin_arm64.go
│ ├── [9.6K] zsyscall_darwin_arm64.s
│ ├── [ 66K] zsyscall_darwin_arm.go
│ ├── [9.6K] zsyscall_darwin_arm.s
│ ├── [ 39K] zsyscall_dragonfly_amd64.go
│ ├── [ 48K] zsyscall_freebsd_386.go
│ ├── [ 48K] zsyscall_freebsd_amd64.go
│ ├── [ 48K] zsyscall_freebsd_arm64.go
│ ├── [ 48K] zsyscall_freebsd_arm.go
│ ├── [ 54K] zsyscall_linux_386.go
│ ├── [ 58K] zsyscall_linux_amd64.go
│ ├── [ 55K] zsyscall_linux_arm64.go
│ ├── [ 58K] zsyscall_linux_arm.go
│ ├── [ 58K] zsyscall_linux_mips64.go
│ ├── [ 58K] zsyscall_linux_mips64le.go
│ ├── [ 59K] zsyscall_linux_mips.go
│ ├── [ 59K] zsyscall_linux_mipsle.go
│ ├── [ 60K] zsyscall_linux_ppc64.go
│ ├── [ 60K] zsyscall_linux_ppc64le.go
│ ├── [ 55K] zsyscall_linux_riscv64.go
│ ├── [ 54K] zsyscall_linux_s390x.go
│ ├── [ 58K] zsyscall_linux_sparc64.go
│ ├── [ 43K] zsyscall_netbsd_386.go
│ ├── [ 43K] zsyscall_netbsd_amd64.go
│ ├── [ 43K] zsyscall_netbsd_arm64.go
│ ├── [ 43K] zsyscall_netbsd_arm.go
│ ├── [ 40K] zsyscall_openbsd_386.go
│ ├── [ 39K] zsyscall_openbsd_amd64.go
│ ├── [ 39K] zsyscall_openbsd_arm64.go
│ ├── [ 40K] zsyscall_openbsd_arm.go
│ ├── [ 54K] zsyscall_solaris_amd64.go
│ ├── [ 12K] zsysctl_openbsd_386.go
│ ├── [ 12K] zsysctl_openbsd_amd64.go
│ ├── [ 12K] zsysctl_openbsd_arm64.go
│ ├── [ 12K] zsysctl_openbsd_arm.go
│ ├── [ 18K] zsysnum_darwin_386.go
│ ├── [ 18K] zsysnum_darwin_amd64.go
│ ├── [ 18K] zsysnum_darwin_arm64.go
│ ├── [ 18K] zsysnum_darwin_arm.go
│ ├── [ 26K] zsysnum_dragonfly_amd64.go
│ ├── [ 37K] zsysnum_freebsd_386.go
│ ├── [ 37K] zsysnum_freebsd_amd64.go
│ ├── [ 29K] zsysnum_freebsd_arm64.go
│ ├── [ 37K] zsysnum_freebsd_arm.go
│ ├── [ 16K] zsysnum_linux_386.go
│ ├── [ 11K] zsysnum_linux_amd64.go
│ ├── [9.5K] zsysnum_linux_arm64.go
│ ├── [ 15K] zsysnum_linux_arm.go
│ ├── [ 12K] zsysnum_linux_mips64.go
│ ├── [ 12K] zsysnum_linux_mips64le.go
│ ├── [ 16K] zsysnum_linux_mips.go
│ ├── [ 16K] zsysnum_linux_mipsle.go
│ ├── [ 13K] zsysnum_linux_ppc64.go
│ ├── [ 13K] zsysnum_linux_ppc64le.go
│ ├── [9.5K] zsysnum_linux_riscv64.go
│ ├── [ 12K] zsysnum_linux_s390x.go
│ ├── [ 12K] zsysnum_linux_sparc64.go
│ ├── [ 26K] zsysnum_netbsd_386.go
│ ├── [ 26K] zsysnum_netbsd_amd64.go
│ ├── [ 26K] zsysnum_netbsd_arm64.go
│ ├── [ 26K] zsysnum_netbsd_arm.go
│ ├── [ 18K] zsysnum_openbsd_386.go
│ ├── [ 18K] zsysnum_openbsd_amd64.go
│ ├── [ 18K] zsysnum_openbsd_arm64.go
│ ├── [ 18K] zsysnum_openbsd_arm.go
│ ├── [4.9K] ztypes_aix_ppc64.go
│ ├── [4.9K] ztypes_aix_ppc.go
│ ├── [7.2K] ztypes_darwin_386.go
│ ├── [7.4K] ztypes_darwin_amd64.go
│ ├── [7.4K] ztypes_darwin_arm64.go
│ ├── [7.2K] ztypes_darwin_arm.go
│ ├── [6.8K] ztypes_dragonfly_amd64.go
│ ├── [9.1K] ztypes_freebsd_386.go
│ ├── [9.1K] ztypes_freebsd_amd64.go
│ ├── [9.1K] ztypes_freebsd_arm64.go
│ ├── [9.1K] ztypes_freebsd_arm.go
│ ├── [ 63K] ztypes_linux_386.go
│ ├── [ 63K] ztypes_linux_amd64.go
│ ├── [ 63K] ztypes_linux_arm64.go
│ ├── [ 63K] ztypes_linux_arm.go
│ ├── [ 63K] ztypes_linux_mips64.go
│ ├── [ 63K] ztypes_linux_mips64le.go
│ ├── [ 63K] ztypes_linux_mips.go
│ ├── [ 63K] ztypes_linux_mipsle.go
│ ├── [ 63K] ztypes_linux_ppc64.go
│ ├── [ 63K] ztypes_linux_ppc64le.go
│ ├── [ 63K] ztypes_linux_riscv64.go
│ ├── [ 63K] ztypes_linux_s390x.go
│ ├── [ 63K] ztypes_linux_sparc64.go
│ ├── [6.7K] ztypes_netbsd_386.go
│ ├── [6.9K] ztypes_netbsd_amd64.go
│ ├── [6.9K] ztypes_netbsd_arm64.go
│ ├── [6.9K] ztypes_netbsd_arm.go
│ ├── [9.4K] ztypes_openbsd_386.go
│ ├── [9.2K] ztypes_openbsd_amd64.go
│ ├── [9.1K] ztypes_openbsd_arm64.go
│ ├── [9.3K] ztypes_openbsd_arm.go
│ └── [6.4K] ztypes_solaris_amd64.go
└── [ 477] modules.txt
16 directories, 400 files