정보 보호 관리

웹 주요 취약점 파악 (웹 프록시)

애라니라니 2023. 3. 19. 23:38

- 2023.03.16

 


웹 취약점

위키백과

웹 프록시를 통한 취약점 분석

▷ 웹 프록시

: 웹 서버와 클라이언트간의 응답, 요청을 하는데 중계 역할을 하는 서버

  • 웹 페이지를 캐시로 저장하는데 흔히 쓰임
  • 웹의 구조 파악과 취약점 점검, 웹 해킹 시에는 웹 프록시 툴을 사용
  • 클라이언트가 웹 서버와 웹 브라우저 간 전달되는 모든 HTTP 패킷을 웹 프록시로 확인 및 수정 가능

▷ Burp Suite

1.클라이언트의 웹 브라우저 패킷이 웹 프록시로 향하도로 설정

2. 웹 서버와 클라이언트 간에 전송되는 HTTP 패킷 확인 : 'intercept is on' 상태 -> 패킷 내용을 변경 후 전송 가능

 

웹의 주요 취약점

OWASP

  • 국제웹보안표준기구(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. 지속적인 세션 관리