매개 변수 변조 문제를 해결하기 위해 struts2 응용 프로그램을 개발 중입니다. 내 행동에 ParameterNameAware 인터페이스를 구현하여이 문제를 해결할 수 있다고 들었지만,이 조건을 설명하는 가장 좋은 예는 찾지 못했습니다. 누구나 나에게 ParameterNameAware 사용법에 대한 좋은 예를 제공 할 수 있습니까? 빠른 답변 정말 감사하겠습니다.ParameterNameAware 인터페이스 (Struts2)를 사용하여 매개 변수 변조 방지
1
A
답변
1
이 인터페이스에 대한 아이디어는 유효한 매개 변수 이름의 목록을 유지하고이 목록 (허용 목록)에없는 요청 매개 변수를 거부하여 해커가 원하지 않는 양식을 포함하려고 할 때 매우 유용합니다. 필드 값을 특정 상황에서 실행될 가능성이있는 숨겨진 변수로 사용합니다. 예를 들어, 서버 쪽에서 거부를 만들 수있는 여러 가지 양식 필드를 포함합니다 (> 10000 등).
이것을 구현하면 현재 요청 범위에서 원하지 않는 매개 변수를 즉시 거부 할 수 있습니다.이 상황을보다 잘 제어 할 수 있습니다.
가능성있는 구현을 다음과 같이
가 acceptableParameterName
방법을 ParameterNameAware
인터페이스를 구현하고 오버라이드 (override) :
public boolean acceptableParameterName(String parameterName) {
boolean allowedParameterName = true ;
if (parameterName.contains("session") || parameterName.contains("request")) {
allowedParameterName = false ;
}
return allowedParameterName;
}
당신은 그것을에서 getter와 setter 메소드를 가지고있다 양식 빈에서이 인터페이스를 구현해야합니다. 이 특정 예에서 현재 요청에 요청이나 세션과 같은 양식 필드 변수가 포함되어 있으면 실패 시나리오입니다. 여기서는 단지 전형적인 예입니다. 이 링크에는 완전한 문서가 있습니다. Class ParametersInterceptor
관련 문제
- 1. 여러개 쓰기 매개 변수 Struts2를 사용하여
- 2. VB.NET에서 파일 변조 방지
- 3. 감사 테이블 변조 방지
- 4. 크로스 사이트 스크립팅 및 웹 매개 변수 재생 프레임 워크의 변조 방지
- 5. ASP.NET MVC에서 폼 필드의 변조 방지 EF
- 6. .NET의 변조 방지 구성 파일은 무엇입니까?
- 7. 자바 반사와 인터페이스 매개 변수
- 8. 자바 제네릭과 인터페이스, 매개 변수
- 9. struts2를 사용하여 이미지 업로드
- 10. 매개 변수 팩 확장에서 배열 감쇠 방지
- 11. C# 메서드 오버로드 대 인터페이스 매개 변수
- 12. 인터페이스 타입 메서드 매개 변수 구현
- 13. 어떻게</p> <p>은 내가 변조 방지 응용 프로그램 설치 파일을 작성해야합니다 .. 변조 방지 설치
- 14. Jsp에서 Struts2를 사용하여 Pdf 표시
- 15. 사용하여 매개 변수
- 16. struts2를 사용하여 동적 이미지를 만드는 방법은 무엇입니까?
- 17. wireshark의 변조 된 무선 터널 헤더
- 18. 생성자 매개 변수 대 메서드 매개 변수?
- 19. 리플렉션을 사용하여 인터페이스 매개 변수가있는 생성자를 찾으십시오.
- 20. AIDL 인터페이스 매개 변수 값의 "In/out/inout"?
- 21. 사용하여 검색 매개 변수 2010
- 22. 파일의 .htaccess를 사용하여 매개 변수
- 23. 매개 변수로 사용하는 인터페이스
- 24. 얻기 경고 '를 입력 매개 변수 X 숨기 인터페이스 X'
- 25. FORTRAN lapack 루틴을 인터페이스 할 때 매개 변수 손상
- 26. 진폭 변조/파형 정형을 조정하십시오.
- 27. 쿼리 문자열 매개 변수 및
- 28. Struts2를 사용하여 웹 페이지에 JFreeChart 표시
- 29. jQuery 또는 struts2를 사용하여 폼 유효성 검사
- 30. struts2를 사용하여 tr 태그에 동적으로 ID를 할당하십시오.
고맙습니다. 이것에 대해 조금 혼란 스럽습니다. 그 과정을 말하는 것입니다. acceptableParameterName()이 호출되는 빈도 및 내 액션 클래스에서 허용되는 매개 변수 (허용 목록)를 찾는 빈도 (setter 및 getters가 작동하는 데 사용되는 모든 변수입니까?) 이미 말했듯이 공격자가 너무 많은 매개 변수로 쿼리 문자열을 변경하면 정의 된 입력 데이터 변수가없는 액션 클래스에서 어떻게 받아 들일 수 있습니까? 오류 404가 표시됩니다. 혼란 스러울 경우 저는 정말로 혼란 스럽습니다. newbie struts2 :-) – Rony
@Rocky_Rony, 귀하의 화이트리스트는 요청에서 예상되는 양식 필드 변수 중 미리 정의 된 집합입니다. 귀하의 bean 클래스에서이 인터페이스를 구현해야합니다. 내 대답을 업데이트했습니다. – UVM