@POST
@PATH
public EmployeeResponse getFilteredEmployees(EmployeeRequest req, @HeaderParam("user") String user) {
if(user == null)
user = req.getEmpId();
EmployeeResponse resp = new EmployeeResponse();
resp.setEmpName(req.getEmpName);
//Do something with the resp
return resp;
}
相同的,所以,這是遭到舉報的理由是,首先,你是不是做對您收到的變量的任何輸入驗證。這是一個合法的用戶ID嗎? )>8*2]U5d)s^deUB|SNJRpT7u=: *8SN:$/wapC"C&dW9 [email protected]*aeZFtPUYqfEk
因爲是書面的,它是。 <script>alert(1);</script>
這是一個Cross-Site腳本的教科書案例,' OR 1=1'
可能導致SQL注入限制其他一些注意事項。
國防1:Input validation.這是不完整的,但是對於XSS緩解是必需的。
防禦2:輸出正確上下文的編碼。
在您使用的是輸出任何JSP,使用ESAPI標籤庫,並編碼爲proper context.
鏈接的備忘單將讓你開始。至於代碼示例,一些Web框架帶有輸入驗證API,這些可能就足夠了,但是如果使用ESAPI,則會在validation.properties
中添加正則表達式,然後使用ESAPI.validator().getValidInput(args...);
調用調用該驗證規則。
此外,您要在請求標頭中傳遞用戶名。你在做什麼來阻止用戶將你的用戶更改爲「admin」? – avgvstvs