OS/EXEC · BẢO MẬT
Cơ bản
CA 01 / 09
Cái tên file biết cắn
Công cụ tạo ảnh thu nhỏ chạy ImageMagick. Nó ghép tên file người dùng vào một chuỗi lệnh rồi đưa cho shell:
func thumbnail(name string) error {
cmd := exec.Command("sh", "-c", "convert "+name+" -resize 200x t.png")
return cmd.Run()
}
Người dùng đặt tên file là photo.jpg; rm -rf ~ rồi tải lên.
❯ Chuyện gì xảy ra khi hàm chạy?