* 기능 수준의 접근 통제 누락
= 접근 통제와 확인이 서버의 설정이나 관리 측면에서 이루어지지 않을 때 발생하는 취약점
- 대표적인 공격 기법 : 파일 다운로드, 업로드 취약점
* 디렉터리 리스팅 취약점
= URL에 존재하는 파라미터의 값에 ../ 같이 상대경로를 입력하여 서버에 있는 다른 디렉터리에 접근 가능한 취약점
ex) http://10.10.10.4/bWAPP/directory_traversal_1.php?page=../../../../../etc/passwd
- 대응방안 : 기본 경로를 변수를 이용하여 한정시킴
- realpath 함수 : 상대경로를 절대경로로 반환
- strpos 함수 : strpos(A,B) = A가 B의 경로에 포함되는지 확인 => 사용자가 입력한 A 위치가 관리자가 지정한 B 위치에 포함되는지 확인하여 포함되지 않는다면 오류 출력
* 파일 삽입(File Inclusion) 공격
: 악의적인 코드가 입력된 파일을 사용자가 서버에서 열람하는 공격
- RFI(Remote File Inclusion = 원격 파일 삽입) : 공격자가 악성 코드가 있는 원격 서버의 파일을 공격 대상인 웹 애플리케이션 서버에서 실행시켜 취약한 웹 페이지에서 악의적인 스크립트를 실행하게 하는 공격
- LFI(Local File Inclusion = 로컬 파일 삽입) : 서버 내부에 있는 파일을 확인하는 공격
- 대응방안 : 파라미터에 입력할 내용을 배열로 한정하는 화이트 리스트(Whitelist) 방식 사용
* 서버 측 요청 변조(SSRF, Server Side Request Forgery)
: 공격자가 요청을 변조하여 취약한 서버가 내부 망에 악의적인 요청을 보내게 하는 취약점
유형(1) : RFI를 사용하여 포트 스캔
유형(2) : XXE(XML External Entity)를 사용하여 내부 망 자원에 접근
유형(3) : XXE를 통하여 스마트 TV 해킹
- 대응방안 : 서버 내부에서 관리적인 대책을 마련해야 한다. 비사용 포트 차단, IP 블랙리스트 설정, 내부 망의 방화벽에 시그니처를 설정하여 서버에서 잘못된 요청에 대한 응답을 보내지 않게 방어
* XXE(XML External Entitiy)
: XML의 외부 엔티티를 사용하여 네트워크에 있는 자원에 접근하는 방법
: XML 문서는 엔티티(Entitiy)라는 저장 단위로 구성되어 있는데, 외부 엔티티를 선언하면 다른 파일의 텍스트를 가져올 수 있다.
'Hacking > Web' 카테고리의 다른 글
Command_injection (0) | 2017.03.08 |
---|---|
A9-알려진 취약점이 있는 컴포넌트 사용 (0) | 2017.02.25 |
A6. 민감 데이터 노출 (0) | 2017.02.16 |
매직해시(Magic Hashes) 취약점 (0) | 2017.02.16 |
A3. 크로스 사이트 스크립팅 (0) | 2017.02.09 |