정보 보호 관리
웹 주요 취약점 파악 (웹 프록시)
애라니라니
2023. 3. 19. 23:38
- 2023.03.16
웹 취약점
웹 프록시를 통한 취약점 분석
▷ 웹 프록시
: 웹 서버와 클라이언트간의 응답, 요청을 하는데 중계 역할을 하는 서버
- 웹 페이지를 캐시로 저장하는데 흔히 쓰임
- 웹의 구조 파악과 취약점 점검, 웹 해킹 시에는 웹 프록시 툴을 사용
- 클라이언트가 웹 서버와 웹 브라우저 간 전달되는 모든 HTTP 패킷을 웹 프록시로 확인 및 수정 가능
▷ Burp Suite
1.클라이언트의 웹 브라우저 패킷이 웹 프록시로 향하도로 설정
2. 웹 서버와 클라이언트 간에 전송되는 HTTP 패킷 확인 : 'intercept is on' 상태 -> 패킷 내용을 변경 후 전송 가능
웹의 주요 취약점
- 국제웹보안표준기구(OWASP)에서 각 분야별 상위 열 가지 주요 취약점을 발표
1. 명령 삽입 취약점 (Injection) | - 특정 명령을 실행하는 코드를 적절히 필터링 못할시 삽입 공격에 대한 취약점 발생 - SAL, OS, LDAP 등 웹으로 명령을 전달하는 모든 경우 ex) 특정 사용자에 대한 아이디 목록을 조회할 때 사용 - SELECT * FROM "user" WHERE e_mail_address = '~' |
2. 인증 및 세션 관리 취약점 (Broken Authentication and Session Management) |
1. 취약한 패스워드 설정 2. 사용자 데이터를 이용한 인증 |
3. XXS 취약점 (Cross-Site Scripting) | - 공격자가 작성한 스크립트가 다른 사용자에게 전달 - 적절한 검증 없이 실행 => 세션 탈취, 사이트 변조, 이동 |
4. 취약한 접근 제어 (Broken Access Control) | - 인증된 사용자가 수행할 수 있는 것에 대한 제한을 제대로 적용하지 않은 것 - 우회하여 접속 가능 1. 디렉터리 탐색 : 확인 가능한 경로의 상위를 탐색하여 특정 시스템 파일을 다운로드함 |
5. 보안 설정 오류 (Security Misconfiguration) | 1. 디렉터리 리스팅 : 웹 서버의 특정 디렉터리 오픈시 관련 파일이 나열되는 것 2. 백업 및 임시 파일 존재 : 백업 파일을 통해 내부 로직 파악 3. 미흡한 주석 관리 4. 파일 업로드 제한 부재 5. 리버스 텔넷 : 웹 해킹으로 시스템 권한 획득 후 직접 명령어를 입력하고 확인할 수 있음 |
6. 민감한 데이터 노출 (Sensitive Data Exposure) | - 웹 사이트 해킹으로 개인 정보가 유출되는 것 => 암호화 로직 사용, DB 테이블 단위 암호화 |
7. 공격 방어 취약점 (Insufficient Attack Protection) | - 이전 웹 애플리케이션은 해킹 공격을 탐지, 방지, 대응 X - APT 공격의 일반화로 탐지가 어려워지자 웹 자동 탐지 권고 |
8. CSRF 취약점 (Cross-Site Request Forgey) | - 불특정 다수 대상 - 로그인된 사용자가 공격자가 의도한 행위를 하도록 하는 것 - 사용자가 악성 스크립트를 서버에 요청하도록 함 - 수정, 삭제, 등록 과정에서 사용자를 구분하는 인수값 존재 X => 공격 성공 => 구분하는 인수 존재시 한 사용자에게만 적용 |
9. 취약점이 있는 컴포넌트 사용 (Using Components with Known Vulerabilities) |
- 보안에 취약한 컴포넌트가 악용 => 사용하려는 컴포넌트, 라이브러리의 보안 취약점 검토 |
10. 취약한 API (Underprotected APIs) | 1. 특수문자 필터링 : 인수 조작으로 예외적인 실행 유발 위해 특수문자 포함 => 공격 주요 특수문자를 제거 2. 서버 통제 작용 : CSS 기반의 언어로 필터링 경우 공격자가 로직 파악 후 필터링 쉽게 무너짐 => ASP, JSP 등과 같은 SSS로 필터링 로직 수행 3. 지속적인 세션 관리 |