Infosec403

제목 없는 문서 (2) (1).docx

970.19 KB · application/vnd.openxmlformats-officedocument.wordprocessingml.document · 업로드 2026-07-07 18:18

1. 식별 및 인증 실패 (Identification and Authentication Failures)

broken access 파생
사용자의 신원을 확인(식별)하고 정당한 사용자인지 검증(인증)하는 과정이 허술할 때 발생하는 취약점입니다.
약한 비밀번호 정책: 짧거나 유추하기 쉬운 비밀번호(예: 123456, password)를 허용할 때.

다중 인증(MFA) 부재: 아이디와 비밀번호 외에 추가적인 인증 수단이 없을 때.
Multi-Factor Authentication
지식 (Something you know): 비밀번호, PIN 번호
소유 (Something you have): 스마트폰 OTP 앱(Google Authenticator 등), SMS/이메일 인증번호, 물리적 보안 키
생체 (Something you are): 지문, 안면 인식

capcha랑 다른 점

쿠키 패스키 차이
쿠키(Cookie): 웹사이트가 내 브라우저에 임시로 남겨두는 '출입증'입니다. 해커가 피싱 사이트 등을 통해 이 쿠키 값을 가로채면, 해커도 내 기기인 척하며 접속할 수 있습니다.
패스키(Passkey): 기기(아이폰) 내부의 가장 안전한 하드웨어 금고(Secure Enclave)에 보관되는 '암호 키(Private Key)'입니다. 이 키는 해커가 원격에서 빼갈 수 없으며, 기기 밖으로 절대 전송되지 않습니다.
무제한 로그인 시도 허용: 로그인 실패 횟수에 제한이 없어 공격자가 계속해서 비밀번호를 맞춰볼 수 있을 때.




1. HTTP 헤더 조작 (Header Spoofing)
2. 주거용 프록시 (Residential Proxy) 네트워크
3. 로우 앤 슬로우 (Low and Slow) & 패스워드 스프레잉
4. IPv6의 광활한 대역 활용

취약한 세션 관리: 로그인 성공 후 발급되는 '세션 ID'가 예측 가능하거나 탈취되기 쉬운 구조일 때.
개발자가 세션 ID를 안전한 난수(Random Number)로 만들지 않고 규칙성을 부여할 때 발생

예측 가능한 경우 - 단순 인코딩, 1씩 증가
해커가 남의 출입증을 훔치는 것이 아니라, 출입증 발급 규칙을 알아내서 스스로 가짜 출입증을 위조하는 공격입니다
탈취되기 쉬운 구조 (Session Hijacking)
보안 플래그(Flag) 누락 - 카페 와이어샤크
세션 고정 공격
세션 만료(Timeout) 기한 부재














2. 보안 오설정 (Security Misconfiguration)
💡 개념 파악하기
개발 단계나 서버 구축 과정에서 기본 설정(Default)을 그대로 방치하거나, 편의를 위해 열어둔 설정이 보안 구멍이 되는 현상을 말합니다. 아무리 강력한 자물쇠를 사도, 자물쇠를 채우지 않고 문에 걸어두기만 하면 소용없는 것과 같습니다. 가장 흔하게 발생하지만, 가장 치명적인 결과를 초래할 수 있습니다.
🔍 발생 원인
기본 계정 방치: 장비나 소프트웨어 설치 시 부여되는 기본 관리자 계정(admin/admin, root/1234 등)을 변경하지 않았을 때.
→ DVWA 기본 계정 (admin / password) : 사이트 자체에 표출 되지 않더라도 php 코드 내에 주석같은 곳에 표출 되는 것도 주의.
불필요한 기능 활성화: 사용하지 않는 포트, 서비스, 페이지, 디버깅 기능이 켜져 있을 때.
귀찮아서 백도어를 열어두는 경우에 많이 해당.
1차 프로젝트 사이트 같은 예시를 보면 유저에게 보일 화면에 관리자 탭으로 넘어가는 경로가 있는 경우.
디렉토리 리스팅(Directory Listing) 허용: 웹 서버에서 특정 경로의 파일 목록을 누구나 볼 수 있게 설정했을 때.
확장 개념에서 보면 URI에 해싱되지 않은 디렉토리 정보를 보는 것도 해당하나 더욱 원초적으로 APACHE나 NGINX의 기본 설정 파일에 디렉토리 리스팅을 할것인가?에 대해 ON으로 하는 경우가 속함.
APACHE의 경우
→ httpd.conf 또는 apache2.conf
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted </Directory> 
# 변경 후 (Indexes 앞에 - 를 붙이거나 빼버립니다) 
<Directory /var/www/html>
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
</Directory>




nginx의 경우
nginx.conf 또는 /etc/nginx/sites-available/default 
server {
listen 80; 
server_name example.com; 
root /var/www/html;
# 변경 전
location / { autoindex on; # 이 부분이 파일 목록을 보여주게 만듭니다. }
 # 변경 후
location / { autoindex off; # 기능을 확실하게 끕니다. }
}
장황한 에러 메시지: 시스템 오류 시 데이터베이스 구조나 서버 내부 경로가 적힌 에러 메시지가 화면에 노출될 때.
→ 주로 커맨드 인젝션보다는 DB의 SQL 인젝션 부서에서 일어나는데 신택스 에러 등이 표출 되는 경우 입력창의 파싱로직이나 동작 로직이 예상 가능하여 원격 조작이 가능해질 가능 성이 있음

미리보기가 맞지 않으면 다운로드해서 확인하세요.