일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- php 파일 업로드하기
- sql injection
- FTZ
- php file upload
- Cookie
- privilege escalation
- Server Side Request Forgery
- php
- file upload
- OS Command Injection
- Reconnaissance
- Authentication
- php To Do List
- active recon
- Leviathan
- php login page
- ssrf
- THM
- access control
- over the wire
- overthewire
- War Game
- 파일 업로드 취약점
- Cryptography
- BANDiT
- php 로그인 페이지 만들기
- SQLi
- Recon
- active reconnaissance
- tryhackme
- Today
- Total
R's Hacking Daily Log
Authentication (1) 본문
개념적으로 authentication vulerabilities는 이해하기 간단한 이슈 중 하나지만,
보안과 인증의 관계성이 뚜렷하기 때문에 굉장히 중요한 이슈에 속한다고 할 수 있다.
Authentication vulnerability는
잠재적으로 공격자가 민감한 데이터나 기능에 바로 접근할 수 있도록 허용하기 때문에
추가적인 공격 측면을 제공하게 될 수 있다.
그렇기 때문에 인증 취약점이 어떻게 악용되는지, 인증 취약점을 어떻게 식별하는지
그 과정에서 보호 체제가 어떻게 우회되는 지 아는 것은 필수적인 스킬이라 할 수 있다!!
What is authentication
Authentication이란,
주어진 사용자 또는 클라이언트의 신원 or 정체를 확인하는 과정을 얘기한다.
다른 말로 하자면 사용자가 주장하는 사람이 정말 사용자 본인임을 증명하는 과정이라 할 수 있다.
이 부분에서는 적어도 설계 상 인터넷으로 연결한 누군가에게 웹 사이트가 노출되기 때문에
견고한 인증 체제는 효과적인 웹 보안에 있어서 필수적인 요소이다!!
인증 체제에서 사용하는 authentication factor는 크게 3가지로 분류할 수 있다.
1. Knowledge factor : password와 같이 내가 알고 있는 지식 기반
2. Possession factor : phone과 같이 물리적인 물체를 이용한 소지 기반
3. Inherence factor : biometrix or 행동 패턴과 같은 생체 기반 (지문, 공동 인식 등)
(인증 체제는 위와 같은 하나 또는 그 이상의 factor를 증명하는 기술력에 의존하게 된다)
What is diffenerce between authentication and authorization?
Authentication은 그가 주장하는 사람이 정말 그 인지 확인하는 과정이라면
Authorization은 그가 무엇을 하도록 허락되었는 지, 즉 어느 수준의 권한이 있는 지를 확인하는 과정이다.
:) 어떤 web application에서 carlos123이라는 계정으로 사이트에 접근을 시도한 사람이 있다고 생각해 보자.
carlos123 계정을 입력해 접근을 시도한 사람이 이 계정을 만든 동인 인물인지 확인하는 과정이 authentication이라면,
한 번 인증이 되고 난 후 carlos123 계정이 다른 사용자의 정보를 조회할 수 있는 지, 다른 사용자의 계정을 삭제할 수 있는지 등 Carlos의 권한을 결정하는 과정을 authorization이라 하는 것!
*사용자가 일반 사용자이냐 관리자이냐에 따라
실행할 수 있는 기능과 접근할 수 있는 데이터의 범위가 달라지게 된다
How do authentication vulnerabilities arise?
폭 넓게 정리하자면 인증 체제에서 발생하는 대부분의 취약점 발생 원인은 다음 두 가지 중 한 가지에 속한다 할 수 있다.
1. Pool coding & logic flaw
:) Broken authentication이라고도 불리는.
:) 공격자에 의해 전체적인 인증 체제가 우회될 수 있게 하는 코드나 결함이 존재하는 경우
2. Fail to protect Brute force attack
:) Brute force 공격에 대한 적절한 방어를 하지 못해 인증 체제가 약할 경우
다양한 웹 개발 영역에서 논리적 결함은 웹 사이트가 예기치 않은 동작 수행을 야기시킬 수 있고
이는 보안적 이슈를 포함할 수도, 아닐 수도 있다.
다만, 인증은 보안적인 측면에서 굉장히 중요하기 때문에
논리적 결함이 있는 인증 체제가 웹사이트를 보안적 이슈에 노출시킬 가능성은 명료하게 높아진다고 할 수 있다!!
'Port Swigger > Authentication' 카테고리의 다른 글
Authentication - 2FA.Lab(1) (0) | 2023.05.21 |
---|---|
Authentication - Lab(2) (0) | 2023.05.11 |
Authentication - Lab(1) (0) | 2023.05.07 |
Authenticaiton (2) (0) | 2023.05.07 |
Authentication (0) | 2022.11.11 |