Nhóm của chúng tôi đang tìm cách tuân thủ tốt hơn các nguyên tắc OWASP và một trong các nhiệm vụ là phòng ngừa các cuộc tấn công SQL Injection. Để tạo thuận lợi cho điều này, tôi đã tìm kiếm một cách để tự động kiểm tra việc sử dụng java.sql.Statement
trong codebase của chúng tôi, vì vậy điều này có thể được gắn cờ và thay đổi để sử dụng PreparedStatement
.Tìm cách ngăn chặn việc sử dụng java.sql.Statement trong dự án
Quá trình xây dựng của chúng tôi dựa trên Maven và chúng tôi cũng có cài đặt Sonar để chạy phân tích trên dự án. Một số quy tắc đã được đưa ra tại Sonar để không xây dựng được nếu các ngưỡng nhất định được đáp ứng, vì vậy điều này có thể được thực hiện ở đó. Tôi đã nhìn thấy nơi tôi có thể thiết lập một quy tắc regex kiểm tra kiểu tìm kiếm nhập khẩu, nhưng tôi muốn xem nếu có các tùy chọn khác là tốt.
Bất kỳ vị trí nào dọc theo đường dẫn xây dựng/phát triển sẽ hoạt động. Nếu có thứ gì đó trong intellij có thể gắn cờ cái này, cái gì đó trong quá trình xây dựng maven, hay một cách khác để gắn cờ cái này ở Sonar, bất kỳ cái nào trong số này cũng sẽ ổn thôi.
Cảm ơn !!
Lưu ý rằng các cuộc tấn công tiêm tương tự cũng có thể được thực hiện với các câu lệnh đã chuẩn bị: 'connection.prepareStatement (" select t1. * From t1 where t1.code = '"+ code +"' ");'. Điều tốt nhất là giáo dục các nhà phát triển. –
Chúng tôi sẽ thực hiện kiểm tra OWASP và họ sẽ tìm kiếm thêm các vật phẩm cụ thể. Tôi đồng ý với tuyên bố của bạn về điều này, nhưng chúng tôi cũng muốn một số loại kiểm tra tự động. – jaycyn94