Em chào các bác,
Chả là em đang được assign fix ATTT của một dự án. Trước mấy dự án công ty cũ để quét ATTT thì thường do team ATTT trực tiếp test nên họ sẽ bắn request thật vào API, nên code chỉ cần qua được là được (em xử lý logic authen/ check bằng custom code). Dạo gần đây thì trước khi qua bước đó phải qua quét STS bằng công cụ checkmarx. Tuy nhiên em cảm giác nó gây False positive khá nhiều, mà khổ nỗi khách hàng yêu cầu phải pass cái công cụ đó trước đã. Em lấy ví dụ đơn giản 2 lỗi, mong các bác tư vấn hướng để pass qua công cụ lỏ này ạ
1. Ví dụ về lỗi relative path traversal, trong code java của em thì có request body là 1 file string path, có annotation validated rồi, sau đó bị công cụ nó bắt lỗi ở dòng
File file = new File(normalize(path.toString()) + DOCX_EXTENSION);, trong đó normalize là hàm e tự viết em chỉ cho chuỗi ký tự và số, không cho ký tự đặc biệt như ../, path cũng có annotation validate rồi. Nhưng vẫn không qua được công cụ do checkmarx nó báo path là lấy từ body, sau tạo như kia có rủi ro ;(
2. Ví dụ lỗi Parameter tampering, đơn giản là mấy cái như @PathVariable Long id , rồi dùng findbyid . công cụ cũng sẽ bắt lỗi này
Có bác nào có kinh nghiệm fix 2 lỗi trên để pass sts cho e tham khảo kinh nghiệm đc ko ạ. Em cảm ơn các bác
Chả là em đang được assign fix ATTT của một dự án. Trước mấy dự án công ty cũ để quét ATTT thì thường do team ATTT trực tiếp test nên họ sẽ bắn request thật vào API, nên code chỉ cần qua được là được (em xử lý logic authen/ check bằng custom code). Dạo gần đây thì trước khi qua bước đó phải qua quét STS bằng công cụ checkmarx. Tuy nhiên em cảm giác nó gây False positive khá nhiều, mà khổ nỗi khách hàng yêu cầu phải pass cái công cụ đó trước đã. Em lấy ví dụ đơn giản 2 lỗi, mong các bác tư vấn hướng để pass qua công cụ lỏ này ạ
1. Ví dụ về lỗi relative path traversal, trong code java của em thì có request body là 1 file string path, có annotation validated rồi, sau đó bị công cụ nó bắt lỗi ở dòng
File file = new File(normalize(path.toString()) + DOCX_EXTENSION);, trong đó normalize là hàm e tự viết em chỉ cho chuỗi ký tự và số, không cho ký tự đặc biệt như ../, path cũng có annotation validate rồi. Nhưng vẫn không qua được công cụ do checkmarx nó báo path là lấy từ body, sau tạo như kia có rủi ro ;(
2. Ví dụ lỗi Parameter tampering, đơn giản là mấy cái như @PathVariable Long id , rồi dùng findbyid . công cụ cũng sẽ bắt lỗi này
Có bác nào có kinh nghiệm fix 2 lỗi trên để pass sts cho e tham khảo kinh nghiệm đc ko ạ. Em cảm ơn các bác