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?