본문 바로가기

Hack133

CSP(Content-Security-Policy) Bypass CSP(Contnet-Security-Policy)란 CSP(Contnet-Security-Policy)는 웹에서 사용되는 콘텐츠(이미지 태그, 스크립트 등)에 대한 정책으로 XSS와 같은 특정 유형의 공격을 감지하고 완화하는데 도움이 되는 보안 정책 입니다. XSS 공격은 서버에서 받은 콘텐츠를 무조건적으로 신뢰하는 브라우저의 특성을 악용하여 악성 스크립트가 피해자의 브라우저에서 실행되도록 하는 공격입니다. 그런데 CSP를 사용하게 되면 브라우저가 신뢰할 수 있는 출처를 설정할 수 있어 신뢰되는 출처에서 수신받은 스크립트만을 실행하도록 하여 일부 XSS 공격을 방지할 수 있습니다. 또한, 모든 콘텐츠가 HTTPS를 이용하여 로드하도록 지정할 수도 있습니다. 과거에는 CSP로 사용되는 헤더들이 여러 개 .. 2022. 6. 15.
인증(Authentication)과 인가(Authorization)의 차이 전자금융기반시설 취약점 분석.평가 및 ISMS-P 인증을 위해 모의해킹 프로젝트를 나가다보면, 인증(불충분한 이용자 인증)과 인가(부적절한 인가 여부)가 헷갈리는 경우가 많아 이를 정리하기 위해 포스팅을 하게 되었습니다. 인증 (Authentication) 인증은 어떤 개체(사용자 또는 장치)의 신원을 확인하는 과정을 나타내며, 보통 특정 인증 요소(아이디, 패스워드, 핸드폰 인증)를 증거로 제시하여 자신을 인증합니다. 인가 (Authorization) 인가는 어떤 리소스에 접근하거나 동작을 수행할 수 있는지 검증하는 과정을 나타내며, 접근 권한을 확인하는 과정이라고 이해하시면 좋습니다. 상황 별 정답 (답이 틀릴 수 있음) 1. 원래 접근은 가능하나 인증이 필요한 페이지에 강제 접근 시 해당 페이지 접.. 2022. 6. 2.
Server Side XSS (Dynamic generated PDF) 개요 특정 페이지 내 코드가 HTML로 렌더링 되어 PDF로 반환되는 페이지가 있습니다. 만약 사용자 입력 값을 해당 페이지에 삽입할 수 있고 HTML 코드로 인식된다면 해당 취약점은 XSS이면서 SSRF(Sever Side Request Forgery)가 될 수 있습니다. 그리고 이러한 취약점을 Server Side XSS라고 부릅니다. ※ PDF로 반환되는 기능에서만 발생하는 건 아니지만 제일 많이 발생하는 유형이라 PDF를 기준으로 설명하겠습니다. Cheat Sheet Confirm Server Side XSS Code Confirm Server Side Blind XSS Code Leaked Server URL LFI(Local File Inclusion) - When the server url .. 2022. 5. 18.
[CVE-2017-5487] WordPress REST API 1-Day 취약점 취약 환경 Wordpress 4.4.0 ~ 4.7.1 조치 방법 Wordpress 4.7.2 이상 버전으로 업데이트 취약점 설명 CVE-2017-5487은 비로그인 상태에서 글을 작성한 작성자들의 리스트를 확인할 수 있는 취약점입니다. 위험도는 크지 않지만 로그인 가능한 아이디를 획득할 수 있어 Brute Force와 같은 공격에 활용될 수 있습니다. PoC 해당 취약점은 /wp-json/wp/v2/users 경로에 접근하면 발생하는 취약점으로 공격 방법이 매우 간단합니다. 취약 파일 위치 : /wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php import requests import json url = "http://localhost/.. 2022. 5. 17.
postman을 활용한 API 진단 시 유용한 스크립트.zip Response 내 Access Token 및 Refresh Token 저장 var jsonData = JSON.parse(responseBody); if(jsonData){ pm.environment.set("accessToken",jsonData.accessToken); pm.environment.set("refreshToken",jsonData.refreshToken); } 2022. 5. 11.
Cross Site Request Forgery(CSRF) payload XSS가 발생하는 환경에서 CSRF 보호 기법(csrf token)이 적용되어 있지 않으면 당연히 CSRF를 확인해야 합니다. CSRF Payload by multipart/form-data CSRF Paylod by json 요새는 많은 서버에서 Content-type을 applicaiton/json으로 보내는데, 이런 경우 가장 기본중의 기본인 form tag를 이용하여 CSRF를 확인하기는 어렵습니다. 이런 경우 XMLHttpRequest()를 이용하여 CSRF를 확인하면 쉽게 확인할 수 있습니다. var xhr = new XMLHttpRequest(); var url = "/admin/pwd_chg.do"; xhr.open("POST", url, true); xhr.setRequestHeader(.. 2022. 5. 6.
[Chrome] 시크릿 모드에서 확장 플러그인 사용 방법 크롬에서 시크릿 모드를 실행할 경우 아래 사진과 같이 확장 플러그인이 빠진 채로 켜지게 됩니다. 시크릿 모드 실행 시 확장 플러그인을 포함시키기 위해 먼저 "설정 > 도구 더보기 > 확장 프로그램"을 클릭합니다. 시크릿 모드 실행 시 포함시킬 확장 프로그램의 "세부정보" 버튼을 클릭합니다. 설정 화면에서 "시크릿 모드에서 허용"을 활성화 합니다. 기능 활성화 후 시크릿 모드를 키게 되면 확장 프로그램이 포함되어 있는 것을 확인할 수 있습니다. 2022. 4. 26.
[iOS] Frida에서 Fat Binary File Offset 잡기 먼저 Fat Binary란 하나의 실행 파일이 여러 아키텍처에서 적용될 수 있도록 구성된 파일이며, 아래의 그림과 같이 Fat Binary는 Fat Header와 Fat Architecture로 구성되어 있습니다. 각각의 Architecture는 각각의 실행 코드를 가르키고 있으며, OS에서 로드 시 해당 Architecture에 맞는 Mach-O Format이 로딩됩니다. IDA에서 Fat Binary인 IPA를 실행할 경우 아래 그림과 같이 어떤 Architecture를 이용할 것인지 묻는 알림 창이 뜹니다. 현재 실행되고 있는 Architecture를 클릭한 뒤, 분석이 마무리될 때까지 기다립니다. (여기선 ARM64) 아이폰에서 Frida를 이용하여 Hooking을 하기 위해서는 Offset을 구.. 2022. 4. 24.
Server Side Template Injection (SSTI) Web Template Engine이란? Web Template Engine이란 웹 템플릿과 웹 컨텐츠 정보를 처리하기 위해 설계된 소프트웨어로 웹 문서가 출력되는 템플릿 엔진을 의미합니다. 또한, Web Template Engine은 View Code(HTML)와 Data Logic Code(DB Connection)를 분리해주는 기능을 합니다. Server Side Template Injection(SSTI) Server Side Template Injection(이하 SSTI)은 공격자가 서버에서 사용 중인 Template 구문으로 페이로드를 구성하여 입력함으로써 Template 구문이 서버에서 해석되어 실행되도록 하는 공격입니다. Template 구문은 Teplate Engine마다 다른 형태를 .. 2022. 4. 12.