diff --git a/Makefile b/Makefile index 3eaac4d..12fa2ee 100644 --- a/Makefile +++ b/Makefile @@ -5,10 +5,10 @@ build: clean: rm dentata landmine -run_server: +run_server: build ./dentata -run_mine: +run_mine: build ./landmine docs: diff --git a/cmd/landmine/main.go b/cmd/landmine/main.go index c92506a..f6b1e42 100644 --- a/cmd/landmine/main.go +++ b/cmd/landmine/main.go @@ -5,6 +5,7 @@ import ( "net" "log" "sync" + "syscall" ) func handleConnection(conn net.Conn) { @@ -37,6 +38,20 @@ func listener(addr string) { } } +func ChrootJailLOL() { + err := syscall.Chdir("tmp") + if err != nil { panic(err) } + + err = syscall.Chroot(".") + if err != nil { panic(err) } + + err = syscall.Setuid(1000) + if err != nil { panic(err) } + + syscall.Setgid(1000) + if err != nil { panic(err) } +} + func main() { var wg sync.WaitGroup @@ -46,5 +61,8 @@ func main() { }) } + //BUG: ain't no way this works, learn to do it right + ChrootJailLOL() + wg.Wait() }