1. 일반 공통 항목
1) SQL Injection
- SQL Injection 이란 악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL 문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위 입니다. 인젝션 공격에 성공할 경우 큰 피해를 입힐 수 있습니다.
1-1 SQL Injection의 종류
- Error Based SQL Injection
- SQL 쿼리에 고의적으로 오류를 발생시켜, 출력되는 에러의 내용을 통해 필요한 정보를 찾아낸다.
- UNION Based SQL Injection
- 2개 이상의 쿼리를 요청하여 결과를 얻는 UNION이라는 SQL 연산자를 이용한 SQL Injection 공격을 말하며 공격자는 이 연산자를 이용하여 원래의 요청에 한개의 추가 쿼리를 삽입하여 정보를 얻어낸다
- Blind SQL Injection
- Blind SQL Injection은 서버가 쿼리에 대한 결과가 참인지 거짓인지에 따라 다른 응답을 주는 점을 이용하여 정보를 얻어내는 공격이다
2) 악성파일 업로드
- 파일 업로드 기능이 존재하는 웹 사이트의 확장자 필터링이 미흡할 경우 공격자가 악성 파일을 업로드 하여 시스템을 장악할 수 있는 취약점이다
- 서버상에서 악성 스크립트를 실행하여 쉘을 획득하는 공격으로 시스템 권한을 획득하거나 서버를 변조시키는 등의 방법으로 웹 서버를 장악한다.
3) 부적절한 이용자 인가 여부
- 부적절한 이용자 인가 여부 취약점은 중요 정보를 다루는 페이지에 대한 인증 절차가 미흡할 경우 발생하는 취약점이다.
- 인증 기능(로그인, 중요 페이지에 대한 추가 인증)은 구형하였으나 추측 가능한 패스워드, 취약한 인증 프로세스로 구현되어 우회하거나 무력화하여 접근할 수 있다.
4) 이용자 인증정보 재사용
- OTP/SMS/계좌 인증의 사용되는 일회성 인증정보가 일회성으로 휘발되지 않고 재사용되고있는 취약점이다
- 중간자공격등에 의해 인증정보가 탈취되었을 경우 공격자가 인증정보를 재사용하여 공격할 수 있다.
5) 고정된 인증정보 이용
- SMS/ARS등 이용자 인증을 위해 사용되는 인증정보가 무작위로 계속 바뀌면서 생성되지않고 고정적으로 똑같은 인증정보가 생성되는 취약점이다
6) 유추가능한 인증정보 이용
- 비밀번호와 PIN번호 설정시 유추가능한 비밀번호로 설정하는 취약점이다
- 이용자의 생년월일, 핸드폰 번호등 신상정보나 1234같은 연속문자, 너무짧은 비밀번호 설정시 해당 취약점이 발생한다.
7) 유추가능한 초기화 비밀번호 이용
- 해당 취약점은 비밀번호를 잊어버려 초기화할 때 유추가능한 비밀번호로 초기화되는 취약점이다
- 이용자의 생년월일, 핸드폰 번호, 이름등으로 초기화할 시 해당 취약점이 발생한다
8) 파일 다운로드
- 파일 다운로드 기능 사용 시 임의의 문자나 주요 파일의 입력을 통해 웹 서버의 홈 디렉터리를 벗어나 임의의 위치에 있는 파일을 열람하거나 다운 가능한 취약점(passwd, 중요파일/백업, 데이터베이스, 소스코드 정보 등)
9) 유추가능한 세션ID
- 세션ID를 발급할 때 복잡하지 않고 단순하여 유추가 가능하거나 무차별 대입공격 시 취약한 취약점입니다.
10) 운영체제 명령 실행
- 운영체제 명령실행 이라는 취약점은, 웹에서 시스템 명령어를(system, exec) 실행 시킬 수 있는 환경을 제공한 대상에게 실행되는 취약점 입니다.
- 시스템 명령어 호출로 인한 백도어 설치 및 관리자 권한 탈취 등의 문제가 발생 할 수 있으므로 이에대한 대비가 가능 하여야 합니다.
'Web Hacking' 카테고리의 다른 글
E2E 암호화 (0) | 2023.03.01 |
---|---|
SSRF (0) | 2023.02.24 |
불충분한 인증/인가 취약점 (0) | 2023.01.17 |
파일 업로드 취약점 (0) | 2023.01.04 |
CSRF (0) | 2022.12.27 |