티스토리 뷰
반응형
가. 원인
- 검증없이 외부입력값을 LDAP 필터문에 사용하여 LDAP 명령구문을 변조
나. 영향
- LDAP 필터문을 조작하여 정보유출 및 정보조작
다. 보안대책
- 사용자입력값에 특수문자( = + < > # ; \ 등 ) 필터링
- 특수문자가 일반문자로 인식되도록 처리 (이스케이프)
라. 안전한 코드
1. 화이트 리스트로 URL 검증
String userSN = request.getParameter("usersn"); String userPass = request.getParameter("pass"); ... if ( !userSN.matches("[\\w\\s]*") || !userPass.matches("[\\w]*") ) { return; } String filter = "(&(sn=" + userSN + ")(userPassword=" + userPass + "))"; ....
|
마. 진단방법
<입력값 검증>
1. LDAP 조회 쿼리를 실행하는지 확인
2. LDAP 조회문의 필터에 외부 입력값을 사용하는지 확인
3. 외부입력값을 검증 후 사용하는지 확인
바. 정/오탐 케이스
<정탐 케이스>
1. 입력값을 검증하지 않고 쿼리문 생성 문자열에 사용될 경우
2. 입력값이 검증없이 검색을 위한 base 문자열의 생성에 사용
반응형
'Web Analytics > SW 보안약점 진단원' 카테고리의 다른 글
[구현보안] 입력 데이터 검증 및 표현 11 - HTTP 응답분할 (0) | 2019.10.04 |
---|---|
[구현보안] 입력 데이터 검증 및 표현 10 - 크로스사이트 요청위조 (0) | 2019.10.02 |
[구현보안] 입력 데이터 검증 및 표현 08 - XPath 삽입 (0) | 2019.10.02 |
[구현보안] 입력 데이터 검증 및 표현 07 - XQuery 삽입 (0) | 2019.10.01 |
[구현보안] 입력 데이터 검증 및 표현 06 - 신뢰되지 않는 URL주소로 자동 접속 연결 (0) | 2019.09.30 |
댓글
반응형
최근에 올라온 글
- Total
- Today
- Yesterday