본문 바로가기

Hack/Web46

인증(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.
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.
Spring4Shell (Spring Core Java 0day RCE) Spring은 Java 애플리케이션을 빠르고 쉽게 개발할 수 있는 인기있는 애플리케이션 프레임워크로 Apache Tomcat과 같은 서버에서 독립 실행형 패키지(모든 종속성 포함)로 배포할 수 있습니다. 해당 취약점의 경우 QQ 채팅 서비스와 중국 사이버 보안 사이트에서 유포되었으며, 해당 제로데이에 대한 익스플로잇은 잠시후 제거되었지만 이미 많은 사람들이 다운로드를 받은 후 였습니다. 그 이후로 수많은 사이버 보안 전문가들이 해당 취약점이 유효하고 심각한 문제임을 확인했습니다. 현재 Spring4Shell이라고 불리는 이 취약점은 전달된 인수의 안전하지 않은 역직렬화로 인해 발생한다고 합니다. 처음에는 Java9 이상에서 실행되는 모든 Spring 앱에 영향을 미치는 것으로 판단되었지만, 충족되어야 하.. 2022. 4. 1.
Proxy Setting OnOff bat file .bat file Code @echo off @REM Get Proxy Setting for /f "tokens=3" %%d in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Setting" /v ProxyEnable') do set onOff=%%d if %OnOff% == 0x0 ( set ProxyServer=127.0.0.1 set ProxyPort=8080 goto proxyOnSetting ) ) else ( goto proxyOffSetting ) @REM Proxy On Setting :proxyOnSetting reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\.. 2021. 11. 19.