|
|
|
|
@ -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() |
|
|
|
|
} |
|
|
|
|
|