Kiểm tra bảo mật - Thực thi tệp độc hại
Các nhà phát triển thường trực tiếp sử dụng hoặc nối đầu vào có khả năng dễ bị tấn công với tệp hoặc cho rằng tệp đầu vào là chính hãng. Khi dữ liệu không được kiểm tra đúng cách, điều này có thể dẫn đến việc máy chủ web xử lý hoặc gọi nội dung dễ bị tấn công.
Thí dụ
Một số ví dụ cổ điển bao gồm:
- Tải tệp .jsp lên cây web.
- Tải lên .gif để được thay đổi kích thước.
- Tải lên các tệp lớn.
- Tải lên tệp chứa thẻ.
- Tải tệp .exe lên cây web.
BẬT tay
Step 1- Khởi chạy WebGoat và điều hướng đến phần Thực thi tệp độc hại. Ảnh chụp nhanh của kịch bản được đưa ra dưới đây:
Step 2 - Để hoàn thành bài học này, chúng ta cần tải lên guest.txt ở vị trí đã nói ở trên.
Step 3- Hãy để chúng tôi tạo một tệp jsp sao cho tệp guest.txt được tạo khi thực thi jsp. Việc đặt tên cho jsp không có vai trò gì trong ngữ cảnh này vì chúng ta đang thực thi nội dung của tệp jsp.
<HTML>
<% java.io.File file = new
java.io.File("C:\\Users\\username$\\.extract\\webapps\\WebGoat\\mfe_target\\guest.txt");
file.createNewFile(); %>
</HTML>
Step 4- Bây giờ tải lên tệp jsp và sao chép vị trí liên kết của cùng sau khi tải lên. Quá trình tải lên đang mong đợi một hình ảnh, nhưng chúng tôi đang tải lên một jsp.
Step 5 - Bằng cách điều hướng đến tệp jsp, sẽ không có bất kỳ thông báo nào cho người dùng.
Step 6 - Bây giờ làm mới phiên mà bạn đã tải lên tệp jsp và bạn sẽ nhận được thông báo “* Xin chúc mừng. Bạn đã hoàn thành bài học thành công”.
Cơ chế phòng ngừa
- Bảo mật trang web bằng cách sử dụng quyền của trang web.
- Áp dụng các biện pháp đối phó để bảo mật ứng dụng web.
- Hiểu tài khoản người dùng và nhóm tích hợp trong IIS 7.0.