Oauth CSRF 대응방안

2021. 8. 17. 15:35

https://taesun1114.tistory.com/entry/OAuth-20

 

OAuth 2.0

OAuth? OAuth는 제 3의 앱이 자원의 소유자인 서비스 이용자를 대신하여 서비스를 요청할 수 있도록 자원 접근 권한을 위임하는 방법을 말합니다. 쉽게 말하면, 특정 사이트에서 [카카오톡으로 로그

taesun1114.tistory.com

 

OAuth 2.0의 보안 취약점 (CSRF, Convert Redirect) 

 

1) CSRF를 통한 계정 탈취

OAuth를 통해 계정 연동을 진행할 경우 다음과 같은 다음과 유사한 프로세스를 거치게 됩니다.

 

1. 기존 계정과 SNS 계정 연동 요청
2. 요청 SNS 로그인 페이지 출력 (Client ID 값이 포함된 로그인 페이지)
3. ID/PW 를 통해 SNS 계정에 로그인
4. 로그인 성공 시 인증 서버로부터 Authorization code를 발급 받음 (Authentication Server -> 사용자)
5. 발급 받은 code 값과 state 값을 Client 서버로 전송 (사용자 -> Client Server) 6. code 값과 state 값 검증 후 Client 서버에 로그인 되어있는 계정과 SNS 계정이 연동됨

 

이 때 state값은 CSRF token과 같은 역할을 하기 때문에 검증이 미흡할 경우 CSRF 공격을 통해 공격자의 계정으로 연동하는 등의 악의적인 행위가 발생할 수 있습니다. (공격자 SNS 계정으로 접속할 경우 피해자의 계정으로 로그인)

 

대응 방안

state값은 CSRF token과 동일한 역할을 수행하므로, 요청받은 state에 대해 검증을 수행해야 하고 토큰의 유출 및 악용 방지를 위해 유효기간을 짧게 혹은 일회용으로 설정합니다. 



2) Convert Redirect

앞서 OAuth2.0 인증 프로세스 중, 6. Redirect URL을 통해 로그인 성공 후 리다이렉션 되는 URL을 명시합니다.

따라서 Redirect URL에 대한 검증이 누락되면 해당 값 변조를 통해 임의의 사이트로 리다이렉션되어 계정 탈취와 같은 피해가 발생할 수 있습니다.

 

대응 방안

redirect_uri 파라미터에 대해 full path검증을 수행하여 의도하지 않은 페이지로 리다이렉션 되지 않도록 조치함

 

OAuth관련 공부하다가 재미난 자료가 있어 링크 삽입합니다.

간략한 내용은

1. redirect_url에 대해 자사 도메인인 경우 허용(full path 검증 x)

2. 자사 도메인 중, logout 페이지에서 로그아웃 후 referer 헤더값을 참조해 리다이렉션

3. logout 페이지 요청 시 referer에 공격자의 사이트로 접근 유도

www.hahwul.com/2019/06/28/oauth-chained-bugs-to-leak-oauth-token/

 

OAuth 과정에서 발생할 수 있는 재미있는 인증토큰 탈취 취약점(Chained Bugs to Leak Oauth Token) Review

Security engineer, Developer and H4cker

www.hahwul.com

 

'' 카테고리의 다른 글

a-pentesters-guide-to-server-side-request-forgery-ssrf  (0) 2021.08.30
AWS API 호출하기 (1) – 개론편  (0) 2021.08.30
Line Notify  (0) 2021.08.16
oauth jwt 차이  (0) 2021.07.27
CORS 취약점 건  (0) 2021.06.15
블로그 이미지

wtdsoul

,

Line Notify

2021. 8. 16. 15:34

https://blog.tunalabs.io/archives/182721

 

LINE Notify를 이용한 시스템 장애 알림 시스템

[ LINE 메신저에서 시스템 상황보고 받기 ]   관리자는 시스템에 문제가 생겼을 경우 이에 대한 빠른 조치가 필요합니다. 이번에는 LINE Notify로 LINE으로 메시지 보내는 방법과 TunaLabs의 응용사례

blog.tunalabs.io

 

'' 카테고리의 다른 글

AWS API 호출하기 (1) – 개론편  (0) 2021.08.30
Oauth CSRF 대응방안  (0) 2021.08.17
oauth jwt 차이  (0) 2021.07.27
CORS 취약점 건  (0) 2021.06.15
[HTTP] REST API 란  (0) 2021.04.16
블로그 이미지

wtdsoul

,

oauth jwt 차이

2021. 7. 27. 14:39

https://dailyscat.gitbook.io/twis/network/jwt-oauth

 

 

'' 카테고리의 다른 글

Oauth CSRF 대응방안  (0) 2021.08.17
Line Notify  (0) 2021.08.16
CORS 취약점 건  (0) 2021.06.15
[HTTP] REST API 란  (0) 2021.04.16
[SSL 암호화 취약점] 디피 헬만 키(Diffie Hellman Key) 참고  (0) 2021.04.15
블로그 이미지

wtdsoul

,

CORS 취약점 건

2021. 6. 15. 15:38

https://eine.tistory.com/entry/%EC%8A%A4%ED%81%AC%EB%9E%A9-%EC%9E%98%EB%AA%BB%EB%90%9C-CORS-%EC%84%A4%EC%A0%95%EC%9C%BC%EB%A1%9C-%EC%9D%B8%ED%95%9C-%EB%AF%BC%EA%B0%90%EC%A0%95%EB%B3%B4%EB%85%B8%EC%B6%9C-%EC%B7%A8%EC%95%BD%EC%A0%90

 

[스크랩] 잘못된 CORS 설정으로 인한 민감정보노출 취약점

https://medium.com/@sasaxxx777/cors-misconfiguration-leading-to-private-information-disclosure-9ebcbd4740d9 CORS Misconfiguration leading to Private Information Disclosure Hi hackers, today i will t..

eine.tistory.com

 

'' 카테고리의 다른 글

Line Notify  (0) 2021.08.16
oauth jwt 차이  (0) 2021.07.27
[HTTP] REST API 란  (0) 2021.04.16
[SSL 암호화 취약점] 디피 헬만 키(Diffie Hellman Key) 참고  (0) 2021.04.15
burp suite json 패킷  (0) 2021.02.18
블로그 이미지

wtdsoul

,

[HTTP] REST API 란

2021. 4. 16. 10:26

velog.io/@wlsdud2194/HTTP-REST-API-%EB%9E%80

 

[HTTP] REST API 란

과거에는 브라우저가 웹서버에 웹페이지를 요청하여 클라이언트를 제공하여 웹페이지가 작동하였습니다. 하지만 최근에는 SPA(Signle-Page-Application)를 이용하여 클라이언트(대표적으로 React, Vue, An

velog.io

 

 

'' 카테고리의 다른 글

oauth jwt 차이  (0) 2021.07.27
CORS 취약점 건  (0) 2021.06.15
[SSL 암호화 취약점] 디피 헬만 키(Diffie Hellman Key) 참고  (0) 2021.04.15
burp suite json 패킷  (0) 2021.02.18
jsp html 엔티티 디코딩 건  (0) 2021.01.14
블로그 이미지

wtdsoul

,

waspro.tistory.com/479

 

[SSL 암호화 취약점] 디피 헬만 키(Diffie Hellman Key)

이번 포스팅에서는 Web Server SSL 취약점으로 분석되는 디피 헬만 키에 대해 살펴보겠습니다. 1. 디피 헬만 키 취약점 분석 디피 헬만(Diffie-Hellman) 키 교환 프로토콜을 사용하는 TLS 연결에 취약점이

waspro.tistory.com

 

'' 카테고리의 다른 글

CORS 취약점 건  (0) 2021.06.15
[HTTP] REST API 란  (0) 2021.04.16
burp suite json 패킷  (0) 2021.02.18
jsp html 엔티티 디코딩 건  (0) 2021.01.14
IIS cipher suite 암호 알고리즘 설정  (0) 2020.12.28
블로그 이미지

wtdsoul

,

burp suite json 패킷

2021. 2. 18. 11:20

xzio.tistory.com/65

 

burp suite Response 설정(AJAX 인터셉트)

Intercept Server Responses에서 디폴트는 체크안되어 있는데 체크하고, ajax와 같은 response를 확인하려면 Was intercepted 를 체크해야 intercept 할 수 있다.

xzio.tistory.com

참고

 

블로그 이미지

wtdsoul

,

zelkun.tistory.com/entry/jQuery-HTML-Character-Entity-%ED%8A%B9%EC%88%98%EB%AC%B8%EC%9E%90-%EC%B9%98%ED%99%98-amp

 

jQuery HTML Character Entity 특수문자 치환 &

form에서 '<', '>', '(', ')' 등등 특수문자를 servlet으로 전달받는데 이상하게 화면에서 ( 으로 변경되서 보이는게 아닌가 아마도 파라미터 전달과정에서 encode 된것 같은데 문제는 2중으로... 되서 브

zelkun.tistory.com

 

 

블로그 이미지

wtdsoul

,

blog.yeon.me/goto/1090

 

IIS에서 cipher 보안 개선하여 SSLLabs 고득점 노리기 - yeonme

IIS 의 SSL은 안전하지 않다? Windows 10 1607, 그것도 Server 2016 1607이라는 나름대로 최신 버전을 사용중이면서 IIS 를 지난 게시물에서 세팅한 바 있습니다. 그러나 그런 과정을 거쳐서 Let’s encrypt를 설

blog.yeon.me

 

 

'' 카테고리의 다른 글

burp suite json 패킷  (0) 2021.02.18
jsp html 엔티티 디코딩 건  (0) 2021.01.14
Aliexpress Captcha Reuse  (0) 2020.12.06
주요 Editor 샘플 페이지 및 경로  (0) 2020.11.05
디피 헬만 키(Diffie Hellman Key) SSL 취약점  (0) 2020.10.30
블로그 이미지

wtdsoul

,

Aliexpress Captcha Reuse

2020. 12. 6. 16:24

therealunicornsecurity.github.io/Aliexpress/

 

AliExpress Captcha Reuse

Captcha reuse in Aliexpress login form

therealunicornsecurity.github.io

 

'' 카테고리의 다른 글

jsp html 엔티티 디코딩 건  (0) 2021.01.14
IIS cipher suite 암호 알고리즘 설정  (0) 2020.12.28
주요 Editor 샘플 페이지 및 경로  (0) 2020.11.05
디피 헬만 키(Diffie Hellman Key) SSL 취약점  (0) 2020.10.30
subdomain finder  (0) 2020.10.21
블로그 이미지

wtdsoul

,