Almon Dev

인증 / 인가 취약점 정리 본문

모의해킹/모의해킹

인증 / 인가 취약점 정리

Almon 2025. 2. 18. 02:37

 인증 / 인가 취약점

 

인증 / 인가 정의

인증 : 사용자 본인이 맞는지 확인하는 것

ex) 로그인(ID/PW), 본인인증(이메일, 지문, OTP  등)

 

인가 : 사용자에게 권한을 부여하는 것

ex) 관리자만 공지사항 작성 가능, 회원만 파일 다운로드 가능

 

인증 취약점 사례

 

 클라이언트 측 정보로 인증

클라이언트 측 정보로 인증을 하는 경우 악의적인 사용자가 쉽게 변조할 수 있습니다.

ex) Cookie 변조, JS 인증

 

 직접 접근

인증절차를 거쳐서 접근해야 하는 페이지에 직접 접근이 가능한 경우가 있습니다.

ex)

회원가입 시 본인인증 페이지(/auth.php)를 뛰어넘어 /signup.php에 직접 접근

 

 응답갑 변조

서버에서 응답으로 인증 결과를 받은 뒤, 클라이언트에서 성공 여부를 판단할 때 응답값을 성공으로 변조할 수 있습니다.

ex) result : fail을 result: ok로 변조

 

 무차별 대입

인증 횟수에 제한을 두지 않는 경우 무차별 대입 공격이 가능합니다.

ex) 0000 - 9999까지 대입해 보기

 

인가 취약점 사례

 

 파라미터 변조

서버에서 권한 검증을 제대로 하지 않는 경우 파라미터를 변조하여 권한이 없는 정보에 접근할 수 있습니다.

ex)

/profile_page.php?user=test를 변조하여 user=admin으로 변경

/download.php?file_id=1 파일의 idx를 변조하여 권한이 없는 파일에 접근

 

 직접 접근

권한이 없는 기능 직접 접근하여 사용이 가능한 경우가 있습니다.

ex)

관리자 일 때만 관리자 페이지로 이동하는 버튼이 생기고 평소에는 display:none 상태

=> display:none이라 눈에는 안 보이지만 HTML 코드 안에는 버튼이 있기 때문에 url을 알아낼 수 있습니다.

주석으로 옛날 기능을 남겨둔 경우

ex) 파일에 직접 접근하는 a태그를 남겨둔 경우 => 파일 경로 노출, 파일에 집접 접근 가능

 

 클라이언트 측에서 인가 체크

인가체크를 클라이언트 측에서 하는 경우 사용자가 쉽게 우회할 수 있습니다.

ex) JS로 확장자 검사, JS로 비밀번호 검사

 

 찍기 추측 공격

이름을 추측해서 접근하는 공격입니다.

ex) /admin, /upload, download.php?id=1 idx 추측

 

 과제

1. 웹개발 마무리
2. 인증/인가 취약점 정리
3. 주통기반 취약점 분석 상세 가이드 읽기 (웹 부분만)
4. 공격자 입장에서 시나리오 생각해 보기

'모의해킹 > 모의해킹' 카테고리의 다른 글

ctf 풀이 (Get Flag File 2)  (0) 2025.02.17
ctf 풀이 (Get Flag File)  (0) 2025.02.17
ctf 풀이 (WebShell 3)  (0) 2025.02.17
파일 업로드 / 다운로드 취약점 (feat. LFI)  (2) 2025.02.15
CSRF 정리 (feat. SOP/CORS)  (0) 2025.01.16