"có thể tin tặc có thể đọc thông báo ngoại lệ và sau đó sử dụng thông tin đó để thao tác tập lệnh của tôi không?"
Có thể.
Thông thường, bạn muốn cung cấp lượng thông tin ít nhất có thể cho người dùng cuối trong điều kiện lỗi. Trong trường hợp này, nếu bạn nói với ai đó một biến nhận cụ thể không tồn tại, thì họ có thể thử cung cấp các giá trị ngẫu nhiên cho biến đó để xem ứng dụng hoạt động như thế nào.
Tất nhiên, bạn cũng phải cân bằng điều này theo nhu cầu của người dùng thực. Nếu biến là một biến mà chúng thường có quyền kiểm soát, thì việc trả lời về một vấn đề với giá trị là hoàn toàn có thể chấp nhận được.
CẬP NHẬT
thời gian gần đây Sau khi chạy vào một loạt các API web mà dường như nghĩ rằng ném thông báo lỗi chung chung là con đường để đi Tôi muốn cập nhật này hơi.
Điều quan trọng là API của web cung cấp một lượng thông tin thích hợp trở lại hệ thống tiêu thụ để họ có thể tìm ra điều gì sai và khắc phục.
Trong một trường hợp gần đây cho API xử lý thanh toán, tài liệu của họ đơn giản là sai. Dữ liệu giao dịch thử nghiệm mà họ đã hiển thị luôn được trả về với "Lỗi máy chủ 500" và chúng tôi không có quyền truy đòi nhưng để có được một trong những nhà phát triển của họ trên điện thoại và cẩn thận thực hiện từng phần tử trong XML của họ. Trong số 50 phần tử, chỉ có một phần tử có cùng tên với "tài liệu nhà phát triển" của họ
Trong một tích hợp khác, chúng tôi đã được cung cấp "Lỗi máy chủ 402". - Cái này KHÔNG phải là cổng thanh toán. Mặc dù không bao giờ được tham chiếu trong tài liệu của họ, dường như thông báo đó có nghĩa là một tham số JSON bị thiếu. Ngẫu nhiên, đó là một tham số không được tham chiếu trong tài liệu của họ và một lần nữa yêu cầu thời gian với nhà phát triển của họ để xác định nó.
Trong cả hai trường hợp trên, sẽ rất hữu ích nếu thông báo lỗi đã phản hồi bằng ví dụ về bài đăng tài liệu hợp lệ. Tương tự như cách các lệnh Unix/DOS cũ sẽ trở lại với thông tin trợ giúp khi bạn truyền các tham số xấu. Tôi thực sự không muốn nói chuyện với các lập trình viên khác.Tôi biết thời gian của họ là tốn kém và họ sẽ thay vì làm một cái gì đó khác hơn là trả lời một cuộc gọi hỗ trợ; nhưng quan trọng hơn, nếu tôi làm việc lúc 10 giờ tối và cần một câu trả lời RFN thì đợi cho đến khi một lập trình viên có thể nhận được điện thoại vào ngày hôm sau hiếm khi là một lựa chọn.
Vì có vẻ như bạn chỉ hiển thị nội dung của tham số GET, dữ liệu có sẵn bằng cách xem URL anyways, tôi không thấy điều này có thể là một nguy cơ bảo mật khác ngoài việc kêu gọi sự chú ý đến nó. Chỉnh sửa: không nhận ra bạn đang phân biệt giữa các kiểu dữ liệu khác nhau trong các thông báo lỗi - Tôi cho rằng kiến thức này có thể được khai thác đến một số kết thúc nhưng nếu bạn đang khử trùng đầu vào đúng cách thì tôi không thể nghĩ ra được. – junkforce