글 목록
-
Burp Academy-XSS 취약점: Reflected XSS with event handlers and href attributes blocked
개요
- 취약점 설명 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/
- 랩 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/lab-event-handlers-and-href-attributes-blocked
- 난이도: EXPERT (어려움)
-
Burp Academy-XSS 취약점: Reflected XSS into a template literal with angle brackets, single, double quotes, backslash and backticks Unicode-escaped
개요
- HTML 태그의 속성에서 발생하는 XSS 취약점 문제이다.
- 취약점 설명 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/
- 랩 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/lab-javascript-template-literal-angle-brackets-single-double-quotes-backslash-backticks-escaped
- 난이도: PRACTITIONER (보통)
-
Burp Academy-XSS 취약점: Stored XSS into onclick event with angle brackets and double quotes HTML-encoded and single quotes and backslash escaped
개요
- HTML 태그의 속성에서 발생하는 XSS 취약점 문제이다.
- 취약점 설명 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/
- 랩 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/lab-onclick-event-angle-brackets-double-quotes-html-encoded-single-quotes-backslash-escaped
- 난이도: PRACTITIONER (보통)
-
Zap 스캔을 CI/CD 파이프라인에 통합하기
개요
Zap을 통한 스캔을 CI/CD 파이프라인에 통합하는 방법을 정리해준다.
-
Burp Academy-XSS 취약점: Stored XSS into anchor href attribute with double quotes HTML-encoded
개요
- HTML 태그의 속성에서 발생하는 XSS 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/lab-href-attribute-double-quotes-html-encoded
- 난이도: APPRENTICE (쉬움)
-
Burp Academy-XSS 취약점: Reflected XSS in a JavaScript URL with some characters blocked
개요
- 취약점 설명 주소: https://portswigger.net/web-security/cross-site-scripting/contexts#xss-into-javascript
- 문제 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/lab-javascript-url-some-characters-blocked
- 난이도: EXPERT (어려움)
-
Python으로 Zap API실행하기
개요
Zap과 Burp Suite를 비교해봤을 때, 강점이라고 할 수 있는 부분이 API를 통한 조작기능을 무료로 사용할 수 있다는 점이다. Zap이 제공하는 API를 통해서 스캔을 실시하거나 결과를 얻어내거나 하는 과정을 자동화할 수 있는 것이다. 따라서 진단 엔지니어가 자신의 작업을 자동화하는 목적으로 사용하기에 좋다. 또한 DevSecOps와도 궁합도 좋다. 이 문서에서는 API를 수행하기 위한 과정을 정리해둔다.
-
Burp Academy-XSS 취약점: Reflected XSS into a JavaScript string with angle brackets and double quotes HTML-encoded and single quotes escaped
개요
- 취약점 설명 주소: https://portswigger.net/web-security/cross-site-scripting/contexts#xss-into-javascript
- 문제 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/lab-javascript-string-angle-brackets-double-quotes-encoded-single-quotes-escaped
- 난이도: PRACTITIONER (보통)
-
Burp Academy-XSS 취약점: Reflected XSS into a JavaScript string with angle brackets HTML encoded
개요
- 취약점 설명 주소: https://portswigger.net/web-security/cross-site-scripting/contexts#xss-into-javascript
- 문제 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/lab-javascript-string-angle-brackets-html-encoded
- 난이도: APPRENTICE (쉬움)
-
Burp Academy-XSS 취약점: Reflected XSS into a JavaScript string with single quote and backslash escaped
개요
- 취약점 설명 주소: https://portswigger.net/web-security/cross-site-scripting/contexts#xss-into-javascript
- 문제 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/lab-javascript-string-single-quote-backslash-escaped
- 난이도: PRACTITIONER (보통)
-
탭내빙(tabnabbing)기법
-
S3 보안 베스트 프랙티스 조사
개요
S3를 안전한 상태로 운용하기 위한 베스트 프랙티스를 조사해둔다.
-
Burp Academy-Access control관련 취약점: Unprotected admin functionality
개요
- 문제 주소: https://portswigger.net/web-security/access-control/lab-unprotected-admin-functionality
- 취약점 설명페이지: https://portswigger.net/web-security/access-control
- 난이도: APPRENTICE (쉬움)
-
Site Isolation
-
Piloting Edge Copilot
-
COOP(Cross-Origin-Opener-Policy) 개요
개요
CORS 이외에 웹 보안을 강화하는 메커니즘으로 COOP(Cross-Origin-Opener-Policy) 이 있다. COOP에 대해서 정리해둔다.
-
커맨드라인에서 Java 프로그램 실행 방법
개요
Eclipse 외에 커맨드 라인이나 셸에서 Java프로그램을 실행하는 방법을 정리해둔다.
-
Burp Academy-API Testing 관련 취약점: Exploiting an API endpoint using documentation
개요
- 문제 주소: https://portswigger.net/web-security/api-testing/lab-exploiting-api-endpoint-using-documentation
- 취약점 설명페이지: https://portswigger.net/web-security/api-testing
- 난이도: APPRENTICE (쉬움)
-
Burp Academy-Path traversal 관련 취약점: File path traversal, simple case
개요
- 문제 주소: https://portswigger.net/web-security/file-path-traversal/lab-simple
- 취약점 설명페이지: https://portswigger.net/web-security/file-path-traversal
- 난이도: APPRENTICE (쉬움)
-
블록암호 운용모드 및 운용모드를 이해하는데 필요한 기초 지식
개요
블록암호 운용모드 및 운용모드를 이해하는데 필요한 기초 지식을 정리한다.
-
Burp Academy-DOM 관련 취약점: Discovering vulnerabilities quickly with targeted scanning
개요
- 랩을 푸는데 있어서 필수적인 스킬을 배운다.
- 문제 주소: https://portswigger.net/web-security/essential-skills/using-burp-scanner-during-manual-testing/lab-discovering-vulnerabilities-quickly-with-targeted-scanning
- 취약점 설명페이지: https://portswigger.net/web-security/essential-skills
- 난이도: PRACTITIONER (보통)
-
Nginx 서버에 favicon 설정하는 법
개요
Nginx 서버에 favicon을 설정하는 방법을 정리해둔다.
-
DOM이란?
개요
DOM 관련 취약점을 이해하기 위해서는 먼저 DOM에 대해 정리해둘 필요가 있으므로 정리해둔다.
-
Burp Academy-DOM 관련 취약점: Clobbering DOM attributes to bypass HTML filters
개요
- DOM based 타입의 XSS 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/dom-based/dom-clobbering/lab-dom-clobbering-attributes-to-bypass-html-filters
- 취약점 설명페이지: https://portswigger.net/web-security/dom-based/dom-clobbering
- 난이도: EXPERT (어려움)
-
루비 관련 이것저것 메모
개요
오래간만에 루비관련 코드를 분석할 일이 있었다. 몇 가지 메모해둔다.
-
서버교체후 MySQL Workbench 접속이 안되는 트러블 슈팅
개요
- MySQL Workbench 를 사용하면서 리모트에 위치한 MySQL 서버에 접속이 안되는 트러블이 있었기 때문에 해결방법을 정리해둔다.
- 리모트 서버는 도커로 MySQL을 구동하고 있다. 포트는 호스트의 3306포트와 연결되어 있다.
- 리모트 서버는 최근에 OS마이그레이션 작업을 실시해서 서버의 공개키에 변동이 있었다.
-
파이썬에서 자주 쓰이는 코드 모음
개요
파이썬에서 자주 쓰이는 코드를 정리해둔다.
-
Burp Academy-DOM 관련 취약점: Exploiting DOM clobbering to enable XSS
개요
- DOM based 타입의 XSS 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/dom-based/dom-clobbering/lab-dom-xss-exploiting-dom-clobbering
- 취약점 설명페이지: https://portswigger.net/web-security/dom-based/dom-clobbering
- 난이도: EXPERT (어려움)
-
Aws키관리서비스비교
-
파이썬 pywebcopy 라이브러리로 이미지 파일 XMP 메타데이터 분석하기
개요
pywebcopy
라이브러리를 사용해서 웹 사이트를 로컬 PC에 저장(스크래핑)하는 방법을 정리한다. -
Burp Academy-Dom 관련 취약점: DOM-based open redirection
개요
- Dom based 타입의 XSS 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/dom-based/cookie-manipulation/lab-dom-cookie-manipulation
- 취약점 설명페이지: https://portswigger.net/web-security/dom-based/cookie-manipulation
- 난이도: PRACTITIONER (보통)
-
파이썬 Pillow 라이브러리로 이미지 파일 XMP 메타데이터 분석하기
개요
조사를 통해 이미지 파일의 xmp 메타데이터를 분석하는 방법은
XMP Toolkit
을 사용하는 방법 이외에도 있다는 것을 알게 되었다. -
파이썬 XMP Toolkit 라이브러리로 이미지 파일 XMP 메타데이터 분석하기
개요
- 이미지 파일등에 XMP 메타데이터가 포함되어 있는 경우가 있다.
- 파이썬을 라이브러리인
XMP Toolkit
을 사용해서 이미지 파일로부터 XMP 메타데이터를 읽는 방법을 정리해둔다.
-
WPScan 사용법 정리
개요
- 오픈소스 워드프레스 취약점 스캔 툴인
WPScan
의 사용법을 정리해둔다. - WPScan은 루비로 작성되었다.
- 오픈소스 워드프레스 취약점 스캔 툴인
-
Burp Academy-Dom 관련 취약점: DOM-based open redirection
개요
- Dom based 타입의 XSS 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/dom-based/open-redirection/lab-dom-open-redirection
- 취약점 설명페이지: https://portswigger.net/web-security/dom-based/open-redirection
- 난이도: PRACTITIONER (보통)
-
Burp Academy-Dom 관련 취약점: DOM XSS using web messages and JSON.parse
개요
- Dom based 타입의 XSS 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/dom-based/controlling-the-web-message-source/lab-dom-xss-using-web-messages-and-json-parse
- Dom 취약점 중에서 웹메세지 설명페이지: https://portswigger.net/web-security/dom-based/controlling-the-web-message-source
- 난이도: PRACTITIONER (보통)
-
Burp Academy-Dom 관련 취약점: DOM XSS using web messages
개요
- Dom based 타입의 XSS 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/dom-based/controlling-the-web-message-source/lab-dom-xss-using-web-messages-and-a-javascript-url
- Dom 취약점 중에서 웹메세지 설명페이지: https://portswigger.net/web-security/dom-based/controlling-the-web-message-source
- 난이도: PRACTITIONER (보통)
-
Dom Invader 사용방법 정리
개요
Dom Invader의 사용방법을 정리해둔다. Dom Invader를 사용하면 Dom 관련 취약점을 찾는 작업에 듣는 수고를 꽤 줄여준다.
Dom-XSS
나Prototype Pollusion
,Dom Clobbering
등의 취약점을 찾아준다. -
Javascript 역난독화툴
-
Burp Academy-LLM 취약점: Exploiting insecure output handling in LLMs
개요
- 취약점 설명 주소: https://portswigger.net/web-security/llm-attacks#indirect-prompt-injection
- 문제 주소: https://portswigger.net/web-security/llm-attacks/lab-exploiting-insecure-output-handling-in-llms
- 난이도: EXPERT (어려움)
-
OWASP LLM Top 10 개요
개요
- LLM (Large Language Model) 의 Top 10 취약점을 정리한다.
-
Burp Academy-XSS 취약점: Reflected XSS in canonical link tag
개요
- 취약점 설명 주소: https://portswigger.net/web-security/cross-site-scripting/contexts
- 문제 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/lab-canonical-link-tag
- 난이도: PRACTITIONER (보통)
-
Burp Academy-XSS 취약점: Reflected XSS with some SVG markup allowed
개요
- 취약점 설명 주소: https://portswigger.net/web-security/cross-site-scripting/contexts
- 문제 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/lab-some-svg-markup-allowed
- 난이도: PRACTITIONER (보통)
-
Burp Academy-XSS 취약점: Reflected XSS into HTML context with all tags blocked except custom ones
개요
- 취약점 설명 주소: https://portswigger.net/web-security/cross-site-scripting/contexts
- 문제 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/lab-html-context-with-all-standard-tags-blocked
- 난이도: PRACTITIONER (보통)
-
Burp Academy-XSS 취약점: Exploiting cross-site scripting to capture passwords
개요
- 취약점 설명 주소: https://portswigger.net/web-security/cross-site-scripting/contexts
- 문제 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/lab-html-context-with-most-tags-and-attributes-blocked
- 난이도: PRACTITIONER (보통)
-
ReDos 공격
개요
정규표현식을 이용한 Dos 공격인 “ReDos 공격” 에 대해 조사해본다.
-
CERT Top 10 Secure Coding Practices 정리
개요
- 보안 프로그래밍의 원칙으로 유명한 “CERT Top 10 Secure Coding Practices”(미국 카네기멜론대학교(CMU) 소프트웨어공학연구소(SEI)의 보안 코딩 원칙)이 있다. 이 것을 정리해본다.
- 설계 및 구현 단계에서 적용할 수 있는 원칙이다.
-
Burp Academy-XSS 취약점: Exploiting cross-site scripting to capture passwords
개요
- XSS를 이용하여 CSRF 공격을 하는 문제이다.
- 취약점 설명 주소: https://portswigger.net/web-security/cross-site-scripting/exploiting
- 문제 주소: https://portswigger.net/web-security/cross-site-scripting/exploiting/lab-perform-csrf
- 난이도: PRACTITIONER (보통)
-
CSP 헤더 검토할 때 브라우저 확장프로그램의 도메인도 추가해야 하는가
개요
- CSP 헤더 적용을 검토할 때 어디까지 CSP헤더를 추가해야하는가 하는 문제가 있다.
- 예를들면 유저 경험을 위해서 Chrome등의 확장프로그램에서 사용하는 도메인도 추가해야하는가? 하는 문제다.
- 어느정도 조사해보고 정리해둔다.
-
Cookie Prefix
-
Burp Academy-XSS 취약점: Exploiting cross-site scripting to capture passwords
개요
- Reflected 타입의 XSS 취약점 문제이다.
- 취약점 설명 주소: https://portswigger.net/web-security/cross-site-scripting/exploiting
- 문제 주소: https://portswigger.net/web-security/cross-site-scripting/exploiting/lab-capturing-passwords
- 난이도: PRACTITIONER (보통)
-
Burp Academy-XXE 취약점: Exploiting XXE to retrieve data by repurposing a local DTD
개요
- 문제 주소: https://portswigger.net/web-security/xxe/blind/lab-xxe-trigger-error-message-by-repurposing-local-dtd
- 취약점 설명: https://portswigger.net/web-security/xxe/blind#exploiting-blind-xxe-by-repurposing-a-local-dtd
- 난이도: EXPERT (어려움)
-
Burp Academy-XXE 취약점: Exploiting XXE via image file upload
개요
- 문제 주소: https://portswigger.net/web-security/xxe/lab-xxe-via-file-upload
- 취약점 설명: https://portswigger.net/web-security/xxe#finding-hidden-attack-surface-for-xxe-injection
- 난이도: PRACTITIONER (중간)
-
Web Timing Attack
-
Burp Academy-XXE 취약점: Exploiting XInclude to retrieve files
개요
- 문제 주소: https://portswigger.net/web-security/xxe/lab-xinclude-attack
- 취약점 설명: https://portswigger.net/web-security/xxe#finding-hidden-attack-surface-for-xxe-injection
- 난이도: PRACTITIONER (중간)
-
Burp Academy-XXE 취약점: Exploiting blind XXE to retrieve data via error messages
개요
- 문제 주소: https://portswigger.net/web-security/xxe/blind/lab-xxe-with-data-retrieval-via-error-messages
- 취약점 설명: https://portswigger.net/web-security/xxe/blind#exploiting-blind-xxe-to-retrieve-data-via-error-messages
- 난이도: PRACTITIONER (중간)
-
XXE 취약점 기본개념 정리
개요
XXE 취약점의 기본적인 내용을 정리해둔다. 2017년경에 정리했던 내용을 업데이트했다.
-
리눅스 서버 하드디스크 정리 팁
개요
- 리눅스 서버에서 하드디스크를 정리하기 위한 팁을 정리해둔다.
-
Docker 설치방법
개요
아마존 리눅스 EC2에 도커를 설치하는 방법을 정리한다.
-
Burp Academy-안전하지 않은 역직렬화(Insecure Deserialization) 관련 취약점: Using PHAR deserialization to deploy a custom gadget chain
개요
- 안전하지 않은 역직렬화(Insecure Deserialization) 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-using-phar-deserialization-to-deploy-a-custom-gadget-chain
- 취약점 설명페이지: https://portswigger.net/web-security/deserialization/exploiting#phar-deserialization
- 난이도: EXPERT (어려움)
-
구글 Cloud SDK 사용법 정리
개요
- 구글 Cloud SDK 사용법을 정리해둔다.
- 구글 Cloud SDK 에는 CLI(glcoud커맨드)와 클라이언트 라이브러리(SDK)가 포함된다.
- 참고로 gcloud 는 파이썬으로 작성되었다 한다.
- 참고로 GCP(Google Cloud Platform)은 옛날 이름이고 2022년부터는 Google Cloud가 정식 명칭이라고 한다.
-
Burp Academy-안전하지 않은 역직렬화(Insecure Deserialization) 관련 취약점: Developing a custom gadget chain for PHP deserialization
개요
- 안전하지 않은 역직렬화(Insecure Deserialization) 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-developing-a-custom-gadget-chain-for-php-deserialization
- 취약점 설명페이지: https://portswigger.net/web-security/deserialization/exploiting
- 난이도: EXPERT (어려움)
-
WebRTC 보안 관련 정보 조사
개요
WebRTC 보안 관련 정보를 조사한다.
-
칼리리눅스에서dns서버변경하기
-
Virtualbox Ubuntu 설치
-
Java역직렬화취약점쉽게
-
Blackhat Defcon
-
Burp Academy-안전하지 않은 역직렬화(Insecure Deserialization) 관련 취약점: Developing a custom gadget chain for Java deserialization
개요
- 안전하지 않은 역직렬화(Insecure Deserialization) 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-developing-a-custom-gadget-chain-for-java-deserialization
- 취약점 설명페이지: https://portswigger.net/web-security/deserialization/exploiting
- 난이도: EXPERT (어려움)
-
Java 역직렬화 개념 정리
개요
- 2017년에 정리했었던 문서를 다시 한번 정리해둔다.
- 직렬화 : 메모리 상에 존재하는 객체를 어떤 데이터 포맷으로 변환하는 것 (나중에 쓰기위해)
- 직렬화 개념은 Java에만 있는가? 아니다. 직렬화는 대부분의 언어에서 지원한다.
- 역직렬화는 반대과정이다. 데이터를 입력받아서 객체를 다시 만들어내는 것이다.
-
Threat Modeling
개요
위협모델링(Threat Modeling)에 대해 정리한다.
-
Ruby2.0 역직렬화취약점
-
Burp Academy-안전하지 않은 역직렬화(Insecure Deserialization) 관련 취약점: Exploiting Ruby deserialization using a documented gadget chain
개요
- 안전하지 않은 역직렬화(Insecure Deserialization) 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-exploiting-ruby-deserialization-using-a-documented-gadget-chain
- 취약점 설명페이지: https://portswigger.net/web-security/deserialization/exploiting
- 난이도: PRACTITIONER (보통)
-
개요
AWS 사용시 EC2의 IMDS(Instance Metadata Service) v1을 무효화하는게 좋다는 보안권고가 있다는 것을 알게 되었다. 왜 그런 것인지 조사한다.
-
MAC 관련 개념 정리
개요
MAC 개념에 대해 정리해둔다.
-
Burp Academy-안전하지 않은 역직렬화(Insecure Deserialization) 관련 취약점: Exploiting PHP deserialization with a pre-built gadget chain
개요
- 안전하지 않은 역직렬화(Insecure Deserialization) 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-exploiting-php-deserialization-with-a-pre-built-gadget-chain
- 취약점 설명페이지: https://portswigger.net/web-security/deserialization/exploiting
- 난이도: PRACTITIONER (보통)
-
일본 DX정책 현황
개요
- 일본은 정부가 나서서 DX(디지털 트랜스포에이션)을 추진하고 있다. 2021년 신설한 “디지털 청”도 그 일환이다.
- 향후 수조엔(수십조원) 규모의 큰 시장이 열릴 것으로 예상되며 이는 한국 기업들에게도 진출의 기회가 될 것으로 보인다.
-
MITRE-ATT&CK 프레임워크 정리
개요
- ATT&CK 는 Adversarial Tactics, Techniques, and Common Knowledge (적의 전술, 테크닉, 공통지식)의 약자이다.
- 간단하게 말하자면 적이 사용하는 전술과 테크닉을 파악하는 것을 도와주는 프레임워크이다.
- 즉, 방어측에게 공격자에 대한 인사이트(공격자가 어디를 노릴 것이고, 어떤 행동을 할 것인지 등에 대한)를 준다고 할 수 있다.
- 손자왈: 적을 알고, 나를 알면, 백번 싸워도 위태롭지 않다. (敵を知り己を知れば百戦危うからず / If you know the enemy and know yourself, you need not fear the result of a hundred battles.)
- 데이비드 비아코가 제창한 “고통의 피라미드”에서 가장 공격억제에 효과적이라고 설명하는(정점에 위치하는) TTPs(전술,테크닉,기술)중에서 전술과 테크닉을 알려준다.
- 종류는 네 가지가 있다.
- PRE-ATT&CK: 적이 공격하기 전에 사용하는 전술과 테크닉을 다룬다.
- Mobile ATT&CK: iOS와 안드로이드를 사용하는 모바일 환경에서의 적의 전술과 테크닉을 다룬다.
- Enterprise ATT&CK: 기업 환경(시스템과 네트워크)에서의 적의 전술과 테크닉을 다룬다.
- ICS ATT&CK: 산업 컨트롤 시스템 (Industrial Control Systems (ICS))에서의 적의 전술과 테크닉을 다룬다.
- 이 중에서
Enterprise ATT&CK
에 중점을 두고 조사한다. Enterprise ATT&CK
에서는 적의 목표(why)를 14개의 전술(Tactics) 카테고리로 나누어, 각 카테고리별로 해당되는 테크닉을 소개하고 있다. 테크닉은 150개 이상이 존재한다.- 최근에는 테크닉이 더욱 세분화되어, 서브 테크닉도 소개해주고 있다. 서브테크닉은 270개 이상이 존재한다.
- ATT&CK는 록히드마틴이 개발한
Cyber Kill Chain
을 대신할 수 있다고 한다.
-
Burp Academy-안전하지 않은 역직렬화(Insecure Deserialization) 관련 취약점: Exploiting Java deserialization with Apache Commons
개요
- 안전하지 않은 역직렬화(Insecure Deserialization) 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-exploiting-java-deserialization-with-apache-commons
- 취약점 설명페이지: https://portswigger.net/web-security/deserialization/exploiting
- 난이도: PRACTITIONER (보통)
-
Burp Academy-안전하지 않은 역직렬화(Insecure Deserialization) 관련 취약점: Arbitrary object injection in PHP
개요
- 안전하지 않은 역직렬화(Insecure Deserialization) 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-arbitrary-object-injection-in-php
- 취약점 설명페이지: https://portswigger.net/web-security/deserialization/exploiting
- 난이도: PRACTITIONER (보통)
-
DNSSEC 취약점 CVE-2023-50387 정리
개요
- DNSSEC에도 취약점이 발생했다는 정보를 입수했기 때문에 정리해준다.
- 이 취약점은
CVE-2023-50387
로 발표되었고 별칭KeyTrap
으로 명명된 것으로 보인다. - 2024년 2월13일 프랑스 국립연구기관 ATHENE이 발표했다.
- 하나의 DNS 패킷으로도 DNS 프로바이더를 DOS상태로 만들수 있다.
-
Burp Academy-안전하지 않은 역직렬화(Insecure Deserialization) 관련 취약점: Using application functionality to exploit insecure deserialization
개요
- 안전하지 않은 역직렬화(Insecure Deserialization) 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-using-application-functionality-to-exploit-insecure-deserialization
- 취약점 설명페이지: https://portswigger.net/web-security/deserialization/exploiting
- 난이도: PRACTITIONER (보통)
-
Windows에서 로컬 통신을 캡쳐하는 법
개요
- Windows에서 로컬 통신을 캡쳐하는 법을 정리한다.
- 디폴트로는 안되고
npcap
을 설치해야 한다. - Wireshark 설치할 때
npcap
을 설치할 것인지 물어보는데 이때 설치했다면 가능하다. npcap
은 추후에 설치하는 것도 가능하다.
-
Burp Academy-안전하지 않은 역직렬화(Insecure Deserialization) 관련 취약점: Modifying serialized data types
개요
- 안전하지 않은 역직렬화(Insecure Deserialization) 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-modifying-serialized-data-types
- 취약점 설명페이지: https://portswigger.net/web-security/deserialization/exploiting
- 난이도: PRACTITIONER (보통)
-
Go 언어 메모
개요
Go 언어(Golang)에 대해 메모를 정리해둔다.
-
Golang Modules 정리
개요
Go에서 생소하게 느껴지는 모듈관리에 대해 정리해둔다.
-
Burp Academy-안전하지 않은 역직렬화(Insecure Deserialization) 관련 취약점: Modifying serialized objects
개요
- 안전하지 않은 역직렬화(Insecure Deserialization) 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-modifying-serialized-objects
- 취약점 설명페이지: https://portswigger.net/web-security/deserialization
- 취약점 설명페이지2: https://portswigger.net/web-security/deserialization/exploiting#how-to-identify-insecure-deserialization
- 난이도: APPRENTICE (쉬움)
-
grpc 리플렉션 개념
개요
- gRPC의 리플렉션(reflection) 개념을 정리한다.
-
grpc-go에서 발생하는 use of closed network connection에러
배경
- PacketProxy를 사용해서 gRPC 통신을 MITM하려고 하는데, go로 만든 evans 클라이언트에서 다음과 같은 에러를 발생시켰다.
-
파이썬 패킹 및 언패킹 개념 정리
개요
- 파이썬에는 패킹과 언패킹을 담당하는 struct 모듈이 있다.
- 이 모듈은 Python과 C 구조체 사이의 값을 변환해준다.
- 네트워크 해킹을 하다보면 자주 마주치게 된다.
- 이 기회에 패킹과 언패킹 개념에 대해 정리해둔다.
-
Burp Academy-LLM 관련 취약점: Indirect prompt injection
개요
- LLM(Large Language Model) 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/llm-attacks/lab-indirect-prompt-injection
- 취약점 설명페이지: https://portswigger.net/web-security/llm-attacks
- 난이도: PRACTITIONER (보통)
-
각종 인증서(Certificate) 포맷 변환방법
개요
crt, pem 등 인증서 관련 포맷이 여러개 있다. 각 포맷을 간단히 정리하고 포맷변환 방법을 정리해둔다.
-
Burp Academy-LLM 관련 취약점: Exploiting vulnerabilities in LLM APIs
개요
- LLM(Large Language Model) 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/llm-attacks/lab-exploiting-vulnerabilities-in-llm-apis
- 취약점 설명페이지: https://portswigger.net/web-security/llm-attacks
- 난이도: PRACTITIONER (보통)
-
Nginx http2 설정 켜는 방법
개요
Nginx에서 http2 기능을 켜는 방법을 정리한다.
-
Burp Academy-LLM 관련 취약점: Exploiting LLM APIs with excessive agency
개요
- LLM(Large Language Model) 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/llm-attacks/lab-exploiting-llm-apis-with-excessive-agency
- 취약점 설명페이지: https://portswigger.net/web-security/llm-attacks
- 난이도: APPRENTICE (쉬움)
-
Burp Academy-HTTP Request Smuggling 관련 취약점: Exploiting HTTP request smuggling to perform web cache deception
개요
- HTTP Request Smuggling 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/exploiting/lab-perform-web-cache-deception
- 취약점 설명페이지1: https://portswigger.net/web-security/request-smuggling
- 취약점 설명페이지2: https://portswigger.net/web-security/request-smuggling/exploiting
- 난이도: EXPERT (어려움)
-
Burp Academy-HTTP Request Smuggling 관련 취약점: Exploiting HTTP request smuggling to perform web cache poisoning
개요
- HTTP Request Smuggling 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/exploiting/lab-perform-web-cache-poisoning
- 취약점 설명페이지1: https://portswigger.net/web-security/request-smuggling
- 취약점 설명페이지2: https://portswigger.net/web-security/request-smuggling/exploiting
- 난이도: EXPERT (어려움)
-
Wireshark 팁
개요
네트워크 패킷 캡쳐툴인 와이어 샤크(Wireshark) 팁을 정리해둔다.
-
Burp Academy-HTTP Request Smuggling 관련 취약점: Server-side pause-based request smuggling
개요
- HTTP Request Smuggling 취약점 문제이다. 여기서부터는 웹 브라우저로 공격가능한 요청 스머글링 패턴을 다룬다.
- 이는 2022년 8월에 발표된 James Kettle의 Browser-Powered Desync Attacks: A New Frontier in HTTP Request Smuggling에 기초한 내용이다.
- HTTP Request Smuggling 취약점 문제 19번부터 21번까지 네 개 문제는 이와 관련된 내용이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/browser/pause-based-desync/lab-server-side-pause-based-request-smuggling
- 취약점 설명페이지(개요): https://portswigger.net/web-security/request-smuggling/browser
- 취약점 설명페이지(Pause-based desync 상세): https://portswigger.net/web-security/request-smuggling/browser/pause-based-desync
- 난이도: EXPERT (어려움)
-
DNS 레코드 정리
개요
DNS의 리소스 레코드를 정리해둔다.
-
Censys 사용방법 정리
검색
- https://search.censys.io/
- 검색창에서 다양한 검색어를 적을 수 있다. 마우스 커서를 갖다대면 사용할 수 있는 검색어를 보여준다.
-
Burp Academy-HTTP Request Smuggling 관련 취약점: Client-side desync
개요
- HTTP Request Smuggling 취약점 문제이다. 여기서부터는 웹 브라우저로 공격가능한 요청 스머글링 패턴을 다룬다.
- 이는 2022년 8월에 발표된 James Kettle의 Browser-Powered Desync Attacks: A New Frontier in HTTP Request Smuggling에 기초한 내용이다.
- HTTP Request Smuggling 취약점 문제 19번부터 22번까지 네 개 문제는 이와 관련된 내용이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/browser/client-side-desync/lab-client-side-desync
- 취약점 설명페이지(개요): https://portswigger.net/web-security/request-smuggling/browser
- 취약점 설명페이지(Client-side desync 상세): https://portswigger.net/web-security/request-smuggling/browser/client-side-desync
- 난이도: EXPERT (어려움)
-
톰캣 HTTP Request Smuggling 취약점을 동적 디버깅을 통해 분석하기
개요
- Pre-Hijack 공격에 대해 조사한다.
- 이 공격이 성립하려면 공격자가 공격대상자(피해자)의 이메일주소를 알고 있고, 이 메일 주소로 로그인을 하지 않더라도 계정을 만들 수 있다는 전제 조건이 있다.
-
톰캣 HTTP Request Smuggling 취약점을 동적 디버깅을 통해 분석하기
개요
이전 글에서 톰캣에 존재했던 HTTP Request Smuggling 취약점(
CVE-2022-42252
)의 취약한 소스 코드를 분석했다. 이번에는 동적 디버깅을 통해 취약점의 존재를 확인해본다. 패치 전의 소스코드로 구동되는 상태에서 스캔 툴을 돌려서 취약점의 존재를 확인하고, 패치 후의 소스코드로 구동해서 스캔 툴을 돌렸을 때 취약점이 없어졌는지 확인하는 것이 목표다. -
Browser-Powered Desync Attacks: A New Frontier in HTTP Request Smuggling 메모
개요
- 2022년 8월에 발표된 James Kettle의 Browser-Powered Desync Attacks: A New Frontier in HTTP Request Smuggling를 읽고 메모한 페이지이다.
- 이 문서는 HTTP handling anomalies, Client-side desync, Pause-based desync, Conclusion 총 네 개의 챕터로 이루어져 있다.
-
유니코드 개념, 변환 코드 정리
유니코드 개요
- 4바이트로 세상의 모든 글자를 할당한 코드 체계이다.
- 4바이트(32비트)이기 때문에 2의 32승개의 코드를 표현할 수 있다. 즉 약 42억자를 표현할 수 있는 것이다.
- 16진수로 표현하면
0x0000 0000
부터0xFFFF FFFF
까지의 숫자로 표현된다. - 17개의 플레인(문자 평면)으로 나뉘어져 있다. 기본 다국어 평면(BMP), 보조 다국어 평면(SMP)와 같은 식이다.
- 대부분의 문자체계가 기본 다국어 평면(BMP, 0번 평면)에 들어가 있다. 이 평면의 범위는
0x0000
부터0xFFFF
까지이다. (10진수로는 0부터65535까지) - 이모지등은 보조 다국어 평면(SMP, 1번 평면)에 들어가 있다. 이 평면의 범위는
0x10000
부터0x1FFFF
까지이다. (10진수로는 65536부터 131071까지) - 전체적으로 보면 아직도 60%이상 공간이 남아있다. 널널하다.
- 현재도 계속 추가가 되고 있다. 2024년 3월 기준 최신버전은 현재 최신 버전은 2023년 9월 12일에 발표된 15.1이다.
-
Burp Academy-HTTP Request Smuggling 관련 취약점: CL.0 request smuggling
개요
- HTTP Request Smuggling 취약점 문제이다. 여기서부터는 웹 브라우저로 공격가능한 요청 스머글링 패턴을 다룬다.
- 이는 2022년 8월에 발표된 James Kettle의 Browser-Powered Desync Attacks: A New Frontier in HTTP Request Smuggling에 기초한 내용이다.
- HTTP Request Smuggling 취약점 문제 19번부터 22번까지 네 개 문제는 이와 관련된 내용이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/browser/cl-0/lab-cl-0-request-smuggling
- 취약점 설명페이지(개요): https://portswigger.net/web-security/request-smuggling/browser
- 취약점 설명페이지(CL.0 상세): https://portswigger.net/web-security/request-smuggling/browser/cl-0
- 난이도: PRACTITIONER (보통)
-
Burp Academy-HTTP Request Smuggling 관련 취약점: Bypassing access controls via HTTP/2 request tunnelling
개요
- HTTP Request Smuggling 취약점 문제이다. HTTP 프로토콜2를 사용하는 서버에 대한 스머글링을 사용한다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/advanced/request-tunnelling/lab-request-smuggling-h2-web-cache-poisoning-via-request-tunnelling
- 취약점 설명페이지: https://portswigger.net/web-security/request-smuggling/advanced/request-tunnelling
- 난이도: EXPERT (어려움)
-
httponly 속성이 XSS를 어느정도 방어하는 알아보기
개요
- 쿠키에
httponly
속성이 있으면 XSS 공격에 대해서 어떻게 보험적인 방어책이 되나 정리한다. - 이 속성이 있으면 Javascript로는 쿠키에 접근할 수 없기 때문에 어느정도 XSS방어가 될 것 같지만 구체적으로 어떤 시나리오에 대해서 방어가 되고, 어떤 시나리에서는 방어가 안되는지를 정리해둔다.
- 쿠키에
-
Burp Academy-HTTP Request Smuggling 관련 취약점: Bypassing access controls via HTTP/2 request tunnelling
개요
- HTTP Request Smuggling 취약점 문제이다. HTTP 프로토콜2를 사용하는 서버에 대한 스머글링을 사용한다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/advanced/request-tunnelling/lab-request-smuggling-h2-bypass-access-controls-via-request-tunnelling
- 취약점 설명페이지: https://portswigger.net/web-security/request-smuggling/advanced/request-tunnelling
- 난이도: EXPERT (어려움)
-
CWE 개념 정리
개요
- CWE는 Common Weakness Enumeration의 약자다.
- 한국어로는 “공통 취약점 목록”이라고 하는 것 같다. 내가 번역한다면 “공통 취약점 분류 체계”라고 번역하겠다.
- SW에 존재하는 보안상 약점(취약점)의 종류를 식별하기 위한 공통 기준이다.
-
톰캣 HTTP Request Smuggling 취약점 소스코드 분석하기
개요
톰캣에 존재했던 HTTP Request Smuggling 취약점(
CVE-2022-42252
)을 분석한다. 취약했던 시점의 소스 코드를 분석하고 그 소스 코드가 어떻게 수정되엇는지를 확인한다. -
Mysql 80 33060 Port Problem
개요
- PC에 설치해서 사용하고 있던 로컬 환경 MySQL 서버가 어느날부터인가 MySQL Workbench 로 접속이 안되었다.
- netstat 을 사용해서 열린포트를 확인해봤더니 원래사용하고 있던 3306 포트는 닫혀있고, 대신에 33060포트가 열려있었다.
- 서버 버전은 MySQL 8.0이다.
-
Eclipse에서 톰캣 디버깅 환경 구축
개요
- 톰캣을 동적으로 디버깅하는 환경을 구축하는 방법을 정리해둔다.
- 이전에 정리했던 “Eclipse에서 빌드 및 구동하기”에서 한단계 더 나아간 방법이다.
- 톰캣에서 특정 HTTP 요청이 어떻게 처리되는지 (처리 시점의 변수나 메모리 값 등) 알 수 있다.
- 자연히 톰캣에 존재하는 취약점을 검증하는데도 매우 강력한 힘이 되어 줄 것이다.
-
Burp Academy-HTTP Request Smuggling 관련 취약점: HTTP/2 request splitting via CRLF injection
개요
- HTTP Request Smuggling 취약점 문제이다. HTTP 프로토콜2를 사용하는 서버에 대한 스머글링을 사용한다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/advanced/lab-request-smuggling-h2-request-splitting-via-crlf-injection
- 취약점 설명페이지: https://portswigger.net/web-security/request-smuggling/advanced#http-2-request-splitting
- 난이도: PRACTITIONER (보통)
-
TLSX 사용법
개요
- TLSX 툴을 조사한다.
- 이 툴은 IP주소를 지정해주면 해당 주소의 TLS증명서 정보를 추출해주는 툴인 것 같다.
-
Burp Academy-HTTP Request Smuggling 관련 취약점: HTTP/2 request splitting via CRLF injection
개요
- HTTP Request Smuggling 취약점 문제이다. HTTP 프로토콜2를 사용하는 서버에 대한 스머글링을 사용한다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/advanced/lab-request-smuggling-h2-request-smuggling-via-crlf-injection
- 취약점 설명페이지1: https://portswigger.net/web-security/request-smuggling/advanced#http-2-request-splitting
- 취약점 설명페이지2: https://portswigger.net/web-security/request-smuggling/advanced/http2-exclusive-vectors
- 난이도: PRACTITIONER (보통)
-
Burp Intruder Resource Pool설정 정리
개요
Burp Intruder의 Resource pool설정에 대해 정리한다.
-
Burp Academy-HTTP Request Smuggling 관련 취약점: Response queue poisoning via H2.TE request smuggling
개요
- HTTP Request Smuggling 취약점 문제이다. HTTP 프로토콜2를 사용하는 서버에 대한 스머글링을 사용한다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/advanced/response-queue-poisoning/lab-request-smuggling-h2-response-queue-poisoning-via-te-request-smuggling
- 취약점 설명페이지: https://portswigger.net/web-security/request-smuggling/advanced/response-queue-poisoning
- 난이도: PRACTITIONER (보통)
-
HTTP 프로토콜2 특징 정리
개요
HTTP 프로토콜2의 특징을 정리해둔다.
-
Eclipse에서 톰캣 빌드 및 구동환경 구축
개요
- 톰캣을 빌드할 수 있는 환경을 구축하는 방법을 정리해둔다.
- 톰캣의 소스코드를 분석하거나 변경하면서 동작을 확인해본더가 할 때 활용할 수 있다.
-
Burp Academy-HTTP Request Smuggling 관련 취약점: H2.CL request smuggling
개요
- HTTP Request Smuggling 취약점 문제이다.
- 여기서부터는 HTTP 프로토콜2를 사용하는 서버에 대한 스머글링을 사용한다. Advanced 토픽이다.
- 이는 2021년 8월에 발표한 James Kettle의 HTTP/2: The Sequel is Always Worse에 기초한 내용이다.
- HTTP Request Smuggling 취약점 문제 13번부터 18까지 6개 문제는 이와 관련된 문제이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/advanced/lab-request-smuggling-h2-cl-request-smuggling
- 취약점 설명페이지: https://portswigger.net/web-security/request-smuggling/advanced
- 난이도: PRACTITIONER (보통)
-
자본금
개요
자본금에 대해 공부한다.
-
Burp Academy-HTTP Request Smuggling 관련 취약점: Exploiting HTTP request smuggling to deliver reflected XSS
개요
- HTTP Request Smuggling 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/exploiting/lab-deliver-reflected-xss
- 취약점 설명페이지1: https://portswigger.net/web-security/request-smuggling
- 취약점 설명페이지2: https://portswigger.net/web-security/request-smuggling/exploiting
- 난이도: PRACTITIONER (보통)
-
파이썬으로 Amazon SES를 통해 메일보내기
개요
Amazon Simple Email Service (SES)를 사용해보고 메일 송신을 위한 설정 과정을 정리해둔다.
-
Burp Academy-HTTP Request Smuggling 관련 취약점: Exploiting HTTP request smuggling to capture other users' requests
개요
- HTTP Request Smuggling 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/exploiting/lab-capture-other-users-requests
- 취약점 설명페이지1: https://portswigger.net/web-security/request-smuggling
- 취약점 설명페이지2: https://portswigger.net/web-security/request-smuggling/exploiting
- 난이도: PRACTITIONER (보통)
-
Burp Academy-HTTP Request Smuggling 관련 취약점: Exploiting HTTP request smuggling to reveal front-end request rewriting
개요
- HTTP Request Smuggling 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/exploiting/lab-reveal-front-end-request-rewriting
- 취약점 설명페이지1: https://portswigger.net/web-security/request-smuggling
- 취약점 설명페이지2: https://portswigger.net/web-security/request-smuggling/exploiting
- 난이도: PRACTITIONER (보통)
-
Burp Academy-HTTP Request Smuggling 관련 취약점: Exploiting HTTP request smuggling to bypass front-end security controls, TE.CL vulnerability
개요
- HTTP Request Smuggling 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/exploiting/lab-bypass-front-end-controls-te-cl
- 취약점 설명페이지1: https://portswigger.net/web-security/request-smuggling
- 취약점 설명페이지2: https://portswigger.net/web-security/request-smuggling/exploiting
- 난이도: PRACTITIONER (보통)
-
Burp Academy-HTTP Request Smuggling 관련 취약점: Exploiting HTTP request smuggling to bypass front-end security controls, CL.TE vulnerability
개요
- HTTP Request Smuggling 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/exploiting/lab-bypass-front-end-controls-cl-te
- 취약점 설명페이지1: https://portswigger.net/web-security/request-smuggling
- 취약점 설명페이지2: https://portswigger.net/web-security/request-smuggling/exploiting
- 난이도: PRACTITIONER (보통)
-
Burp Academy-HTTP Request Smuggling 관련 취약점: Confirming TE.CL vulnerabilities using differential responses
개요
- HTTP Request Smuggling 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/finding/lab-confirming-te-cl-via-differential-responses
- 취약점 설명페이지1: https://portswigger.net/web-security/request-smuggling
- 취약점 설명페이지2: https://portswigger.net/web-security/request-smuggling/finding
- 난이도: PRACTITIONER (보통)
-
Burp Academy-HTTP Request Smuggling 관련 취약점: Confirming CL.TE vulnerabilities using differential responses
개요
- HTTP Request Smuggling 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/finding/lab-confirming-cl-te-via-differential-responses
- 취약점 설명페이지1: https://portswigger.net/web-security/request-smuggling
- 취약점 설명페이지2: https://portswigger.net/web-security/request-smuggling/finding
- 난이도: PRACTITIONER (보통)
-
Burp Academy-HTTP Request Smuggling 관련 취약점: HTTP request smuggling, obfuscating the TE header
개요
- HTTP Request Smuggling 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/lab-obfuscating-te-header
- 취약점 설명페이지: https://portswigger.net/web-security/request-smuggling
- 난이도: PRACTITIONER (보통)
-
Burp Academy-HTTP Request Smuggling 관련 취약점: HTTP request smuggling, basic TE.CL vulnerability
개요
- HTTP Request Smuggling 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/lab-basic-te-cl
- 취약점 설명페이지: https://portswigger.net/web-security/request-smuggling
- 난이도: PRACTITIONER (보통)
-
주식은 어떻게 발행하는가
개요
- 갑자기 궁금해졌다. 주식 회사가 주식 발행은 어떻게 하는걸까?
-
Burp Academy-HTTP Request Smuggling 관련 취약점: HTTP request smuggling, basic CL.TE vulnerability
개요
- HTTP Request Smuggling 취약점 문제이다.
- 이는 2019년 8월에 발표된 James Kettle의 HTTP Desync Attacks: Request Smuggling Reborn에 기초한 내용이다.
- HTTP Request Smuggling 취약점 문제 1번부터 12번까지는 이 연구에 기초한 내용이다. HTTP/1.1에서 프론트엔드 서버와 백엔드 서버가 CL헤더와 TE헤더를 사용하는 패턴이다.
- 문제 주소: https://portswigger.net/web-security/request-smuggling/lab-basic-cl-te
- 취약점 설명페이지: https://portswigger.net/web-security/request-smuggling
- 난이도: PRACTITIONER (보통)
-
Burp Academy-웹 캐시 포이즈닝 관련 취약점: Web cache poisoning with multiple headers
개요
- 웹 캐시 포이즈닝 취약점을 이용한 문제이다.
- 문제 주소: https://portswigger.net/web-security/web-cache-poisoning/exploiting-design-flaws/lab-web-cache-poisoning-with-multiple-headers
- 취약점 설명페이지1: https://portswigger.net/web-security/web-cache-poisoning
- 취약점 설명페이지2: https://portswigger.net/web-security/web-cache-poisoning/exploiting-design-flaws
- 난이도: PRACTITIONER (보통)
-
Burp Academy-웹 캐시 포이즈닝 관련 취약점: Web cache poisoning with an unkeyed cookie
개요
- 웹 캐시 포이즈닝 취약점을 이용한 문제이다.
- 문제 주소: https://portswigger.net/web-security/web-cache-poisoning/exploiting-design-flaws/lab-web-cache-poisoning-with-an-unkeyed-cookie
- 취약점 설명페이지: https://portswigger.net/web-security/web-cache-poisoning
- 난이도: PRACTITIONER (보통)
-
FFUF (Fuzz Faster You Fool) 사용법
개요
- 최근에 인기가 많은 퍼징툴이다.
- Go로 개발되어서 빠르다고 한다.
-
Burp Academy-웹 캐시 포이즈닝 관련 취약점: Web cache poisoning with an unkeyed header
개요
- 웹 캐시 포이즈닝 취약점을 이용한 문제이다.
- 문제 주소: https://portswigger.net/web-security/web-cache-poisoning/exploiting-design-flaws/lab-web-cache-poisoning-with-an-unkeyed-header
- 취약점 설명페이지: https://portswigger.net/web-security/web-cache-poisoning
- 난이도: PRACTITIONER (보통)
-
Burp Academy-Host 헤더 관련 취약점: Password reset poisoning via dangling markup
개요
- HTTP Host 헤더 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/host-header/exploiting/password-reset-poisoning/lab-host-header-password-reset-poisoning-via-dangling-markup
- 취약점 설명페이지: https://portswigger.net/web-security/host-header
- 난이도: EXPERT (어려움)
-
Burp Academy-Host 헤더 관련 취약점: Host validation bypass via connection state attack
개요
- HTTP Host 헤더 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/host-header/exploiting/lab-host-header-host-validation-bypass-via-connection-state-attack
- 취약점 설명페이지 1: https://portswigger.net/web-security/host-header
- 취약점 설명페이지 2: https://portswigger.net/web-security/host-header/exploiting#connection-state-attacks
- 난이도: PRACTITIONER (보통)
-
Burp Suite - Turbo Intruder정리
개요
- Burp Suite의 확장 프로그램인 Turbo Intruder에 대해 정리해둔다.
- BApp Store에서 간단히 설치가 가능하다.
- Turbo Intruder는 하나의 호스트에 대해 대량의 HTTP 요청을 보내서 테스트하고 싶을 때 사용하면 좋다.
- 대량의 HTTP요청을 보내서 테스트하고 싶을 때란 주로
HTTP Request Smuggling
이나Race Condition
, 워드 리스트에 있는 값을 하나씩 모두 시도와 같은 것을 테스트하고 싶을 때다. - 개발언어는 메인으로 코틀린을, 서브로 파이썬을 사용한 것으로 보인다.
-
Burp Academy-Host 헤더 관련 취약점: SSRF via flawed request parsing
개요
- HTTP Host 헤더 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/host-header/exploiting/lab-host-header-ssrf-via-flawed-request-parsing
- 취약점 설명페이지 1: https://portswigger.net/web-security/host-header
- 취약점 설명페이지 2: https://portswigger.net/web-security/host-header/exploiting#routing-based-ssrf
- 난이도: PRACTITIONER (보통)
-
네거티브 grep 사용법
개요
- 웹 서버 로그등을 확인할 때, 특정 문자열은 제외한 부분을 확인하고 싶을 때가 있다. (Negative Grep)
- 보통은 특정 문자열이 포함되어 있는 부분을 확인하는 경우가 많다.
cat logfile.txt | grep xxxxx
- 이 와는 반대로 동작하는 grep은 어떻게 할 수 있을까?
-
Burp Academy-Host 헤더 관련 취약점: Routing-based SSRF
개요
- HTTP Host 헤더 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/host-header/exploiting/lab-host-header-routing-based-ssrf
- 취약점 설명페이지 1: https://portswigger.net/web-security/host-header
- 취약점 설명페이지 2: https://portswigger.net/web-security/host-header/exploiting#routing-based-ssrf
- 난이도: PRACTITIONER (보통)
-
DNS Bind서버 Dos취약점
개요
- DNS 서버 소프트웨어인 Bind 에 대해 Dos 공격을 할 수 있는 취약점을 정리해둔다.
- Dos공격을 통해 DNS 서버가 다운되면 해당 DNS서버에서 관리하고 있는 도메인은 쿼리가 안되므로 해당 도메인에 접속하는데 아주 큰 지장이 생긴다.
- 이 중에서 exploit코드가 알려진 취약점이 있는지도 알아본다.
-
Metasploit DB 사용법
개요
metasploit에서 DB에 접속하거나 DB관련 트러블 슈팅하는 방법을 정리해둔다.
-
Web Cache Poisoning 실습
개요
- 2018년에 실시했던 웹 캐시 포이즈닝 실습결과를 재정리한 문서이다.
- Web Cache Poisoning 이란 프록시/리버스 프록시를 사용하는 환경에서 프록시 서버의 웹 캐시를 오염시키는 공격이다.
- 오염된 캐시로 인해 일반 유저가 악의적인 사이트로 유도되어 피싱이나 드라이브 바이 다운로드 공격등을 당할 위험이 있다.
- 가장 잘 알려진 공격 방법은 X-Forwarded-Host (XFH) 헤더를 이용하는 것이다.
- 본래 XFH 헤더는 리버스 프록시 등을 사용하는 환경에서 유저가 어떤 서버에 대해 요청을 보냈는지 구분하기 위해 사용된다.
- 웹 캐시가 사용되는 환경에서 악용되면 Web Cache Poisoning 공격이 성공한다.
-
Burp Academy-Host 헤더 관련 취약점: Web cache poisoning via ambiguous requests
개요
- HTTP Host 헤더 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/host-header/exploiting/lab-host-header-web-cache-poisoning-via-ambiguous-requests
- 취약점 설명페이지 1: https://portswigger.net/web-security/host-header
- 취약점 설명페이지 2: https://portswigger.net/web-security/host-header/exploiting#accessing-restricted-functionality
- 난이도: PRACTITIONER (보통)
-
회사설립 종류 조사
개요
- 회사설립의 종류에는 어떤 것들이 있는지 정리한다.
- 우리나라 상법상의 회사 종류 합명회사, 합자회사, 유한회사, 유한책임회사, 주식회사의 5종류가 있다.
-
보안에서 전략, 전술, 작전등의 개념정리
개요
- 전략, 전술, 작전등의 개념을 정리해둔다.
- 어떤 일을 진행함에 있어서 이 개념들을 알고 있으면 일을 구조화하는데 도움이 된다.
- 19세기까지는 전략 > 전술 > 작전 순으로 세분화하였다.
- 그러나 왜인지(이유를 알고싶다) 최근 서방에서는 전략 > 작전 > 전술 순으로 세분화해서 가르친다고 한다.
- 따라서 MITRE ATT&CK 프레임워크 등에서 전술(Tactical)이라고 기술하는 것은 가장 세분화된 개념을 가리키는 것으로 이해하면 된다.
-
Web Cache Poisoning 과 Web Cache Deception 의 차이
Web Cache Poisoning 과 Web Cache Deception 의 차이
- Web Cache Poisoning은 Web Cache를 속여서 어떤 공격을 하기위한 웹 페이지를 캐싱시켜 여기에 다른 사용자를 유도하는 방식의 공격이다.
- Web Cache Deception은 Web Cache를 속여서 사용자의 개인정보와 같은 민감한 정보가 캐싱되도록 만들어, 공격자는 캐싱된 페이지에 접근해 민감한 정보를 수집하는 방식의 공격이다.
-
Burp Academy-Host 헤더 관련 취약점: Performing CSRF exploits over GraphQL
개요
- HTTP Host 헤더 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/host-header/exploiting/lab-host-header-authentication-bypass
- 취약점 설명페이지 1: https://portswigger.net/web-security/host-header
- 취약점 설명페이지 2: https://portswigger.net/web-security/host-header/exploiting#accessing-restricted-functionality
- 난이도: APPRENTICE (쉬움)
-
C# 개발에서 DLL파일 사용하기
개요
- C# 개발에서 DLL파일을 사용하는 방법을 정리한다.
- Visual Studio와 같은 툴에서 임포트(import)해서 사용할 수 있을 것 같다.
-
Burp Academy-Host 헤더 관련 취약점: Performing CSRF exploits over GraphQL
개요
- HTTP Host 헤더 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/host-header/exploiting/password-reset-poisoning/lab-host-header-basic-password-reset-poisoning
- 취약점 설명페이지 1: https://portswigger.net/web-security/host-header
- 취약점 설명페이지 2: https://portswigger.net/web-security/host-header/exploiting/password-reset-poisoning
- 난이도: APPRENTICE (쉬움)
-
XHR (Xml Http Request)의 보안제약사항, 할 수 있는 것
개요
- XHR (Xml Http Request, 이하 xhr)은 Ajax를 통한 비동기통신에서 자주 사용된다.
- 다른 사이트(혹은 자기 자신의 사이트)로 요청을 보내고 받는 일을 주로 수행한다.
- xhr 로 할 수 있는 것과 할 수 없는 것이 있다. (할 수 없는 것은 주로 보안과 관련된 제약사항이다.)
- 이 페이지에서는 xhr로 할 수 있는 것, 할 수 없는 것을 정리한다.
-
메일서버 보안 개념 정리
개념
- 컨트롤 그룹(Control Group)의 약자
- Cgroup은 프로세스 그룹이 사용할 수 있는 메모리, CPU, 네트워크 입출력 등의 리소스를 제한한다.
- 컨테이너를 작성하기 위한 기본적인 구성 요소
- 여러가지의 cgroup이 존재한다.
- 예를들면 cgroup내에서 허용된 프로세스의 총수를 제한하는 pid라는 cgroup이 존재한다.
- cgroup은 파일로 존재하며 일반적으로는 리눅스의
/sys/fs/cgroup
에 존재한다.
-
Burp Academy-GraphQL API 관련 취약점: Performing CSRF exploits over GraphQL
개요
- GraphQL 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/graphql/lab-graphql-csrf-via-graphql-api
- 취약점 설명페이지: https://portswigger.net/web-security/graphql
- 난이도: PRACTITIONER (보통)
-
Burp Academy-GraphQL API 관련 취약점: Bypassing GraphQL brute force protections
개요
- GraphQL 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/graphql/lab-graphql-brute-force-protection-bypass
- 취약점 설명페이지: https://portswigger.net/web-security/graphql
- 난이도: PRACTITIONER (보통)
-
셸 스크립트가 윈도우즈에서 실행이 안 될 때(리눅스, 윈도우즈 사이의 EOL문자 차이에 대해서)
개요
- 리눅스용으로 만들어진 셸 스크립트를 윈도우즈의 Cygwin 등 리눅스 에뮬레이터를 통해서 실행할 필요가 있을 때가 있다.
- 이 때, 특히 셸 스크립트가 결과물로서 어떤 파일을 만들어내는 녀석일 경우, Cygwin에서 실행한 결과물이 제대로된 것이 아닌 경우가 있다. (결과물 파일을 윈도우즈에서 열어보면 개행이 이상한 곳에 들어가 있거나 한다. )
- 이는 주로 리눅스, 윈도우즈 사이의 EOL(End Of Line)문자 (혹은 개행문자) 차이가 원인이다.
- 두 시스템 사이에 EOL은 어떻게 다른지, 어떻게 대처할 수 있는 지를 정리한다.
-
Burp Academy-GraphQL API 관련 취약점: Finding a hidden GraphQL endpoint
개요
- GraphQL 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/graphql/lab-graphql-find-the-endpoint
- 취약점 설명페이지: https://portswigger.net/web-security/graphql
- 난이도: PRACTITIONER (보통)
-
메일서버 보안 개념 정리
개요
- 메일 서버 보안에 대한 전반적인 내용을 정리한다.
- 메일보안은 아주 중요한데 대부분의 사이버 공격이 이메일로부터 시작되기 때문이다.
- 여기를 보면 2023년에는 75%이상의 사이버 공격이 이메일로부터 시작되었다고 적혀있다.
- 또한 전 세계 전자메일의 80%는 스팸 메일이라는 보고도 있다. (여기에는 스푸핑이나 피싱메일도 포함된 것으로 보여진다.)
- 따라서 메일 서버 보안은 보안엔지니어로서 잘 알아두면 좋다.
-
Burp Academy-GraphQL API 관련 취약점: Accidental exposure of private GraphQL fields
개요
- GraphQL 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/graphql/lab-graphql-accidental-field-exposure
- 취약점 설명페이지: https://portswigger.net/web-security/graphql
- 난이도: PRACTITIONER (보통)
-
위협 리스크, 각 보안 이론에서정의의 미묘한 차이에 대해
개요
- 위협(Threat)과 리스크(Risk)은 어떻게 정의할 수 있는가를 정리해본다.
-
Burp Academy-GraphQL API 관련 취약점: Accessing private GraphQL posts
개요
- GraphQL 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/graphql/lab-graphql-reading-private-posts
- 취약점 설명페이지: https://portswigger.net/web-security/graphql
- 난이도: APPRENTICE (쉬움)
-
Docker 네트워크 정리
배경
- 취약점을 POC할 때 로컬PC에 Docker 컨테이너를 여러개 구동할 필요가 있다.
- 공격측 컨테이너와 타겟측 컨테이너등을 별도로 구축하는 경우 등이다.
- 이 때 컨테이너들 사이에 통신(주로 HTTP통신)을 할 필요가 있다.
- 타겟서버는 호스트는와 포트를 공유하므로 호스트 입장에서 봤을 때 localhost:포트번호로 접속할 수 있다.
- 문제는 공격측에서 타겟 컨테이너에 접속할 때이다.
-
Docker 멀티 스테이지 빌드
개요
- 도커 멀티 스테이지 빌드
- 나중에 실습해보자.
-
TeamCity CVE-2023-42793 취약점 메모
개요
- 다이아몬드슬릿(Diamond Sleet)과 오닉스슬릿(Onyx Sleet)이라는 이름으로 모니터링 되고 있는 북한 APT 조직들이 현재 CVE-2023-42793이라는 취약점을 활발히 익스플로잇 하고 있는 것으로 조사됐다. CVE-2023-42793은 젯브레인즈 팀시티(JetBrains TeamCity)라는 솔루션의 온프레미스 버전 서버에서 발견된 원격 코드 실행 취약점이다. (보안뉴스 발췌)
-
Mongodb Container
-
Mongo Shell Cmd
-
Burp Crawling 사양 정리
개요
- 2023년 10월 25일 기준, Burp Suite의 기본 스캐너로는 NoSQL 인젝션을 탐지하지 못한다.
- Burp Suite 확장 프로그램인 NoSQL 인젝션 스캐너 “Burp NoSQLi Scanner”를 사용해보고 사용법과 결과등을 정리해둔다.
- 스캔대상은 여기에서 구축했던 서버를 대상으로 한다.
-
NoSQL 인젝션이 가능한 Node.js 앱 만들어보기
개요, 목적
- NoSQL인젝션이 가능한 Node.js 앱을 만들어본다.
- 어떤 코드가 취약한지 어떻게 하면 방어할 수 있는지 알아본다.
-
파이썬으로 IP주소를 물리적 위치로 표시하기
개요
- VIOLENT PYTHON 서적의 내용을 참고해서 정리한 페이지이다.
- 책의 내용이 오래되어서 현재 동작하지 않는 부분이 있기 때문에 해당 부분은 업데이트했다.
- 파이썬으로 IP주소를 지구상의 물리적 위치로 표시하는 방법을 정리한다.
-
Burp Academy-NoSQLi 관련 취약점: Exploiting NoSQL operator injection to extract unknown fields
개요
- 새로 추가된 NoSQL인젝션 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/nosql-injection/lab-nosql-injection-extract-unknown-fields
- 취약점 설명페이지: https://portswigger.net/web-security/nosql-injection
- 난이도: PRACTITIONER (보통)
-
Metasploit for Beginners 메모
개요
- Metasploit for Beginners(저자 Sagar Rahalkar) 책을 보고 일부 메모한 파일이다.
- https://www.amazon.com/Metasploit-Beginners-threat-free-best-class/dp/1788295978
- Metasploit 입문서로서는 아주 좋다. 쉽게 쓰여져 있고 알아야할 기본적인 내용은 다 써있다.
-
Burp Academy-NoSQLi 관련 취약점: Exploiting NoSQL injection to extract data
개요
- 새로 추가된 NoSQL인젝션 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/nosql-injection/lab-nosql-injection-extract-data
- 취약점 설명페이지: https://portswigger.net/web-security/nosql-injection
- 난이도: PRACTITIONER (보통)
-
Burp Academy-NoSQLi 관련 취약점: Exploiting NoSQL operator injection to bypass authentication
개요
- 새로 추가된 NoSQL인젝션 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/nosql-injection/lab-nosql-injection-bypass-authentication
- 취약점 설명페이지: https://portswigger.net/web-security/nosql-injection
- 난이도: APPRENTICE (쉬움)
-
Burp Academy-NoSQLi 관련 취약점: Detecting NoSQL injection
개요
- 새로 추가된 NoSQL인젝션 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/nosql-injection/lab-nosql-injection-detection
- 취약점 설명페이지: https://portswigger.net/web-security/nosql-injection
- 난이도: APPRENTICE (쉬움)
-
파이썬으로 벤다이어그램 그리기
개요
파이썬에서 여러개의 데이터셋을 벤 다이어그램을 사용해서 표현하는 방법을 정리해둔다.
-
Burp Academy-레이스컨디션 관련 취약점: Exploiting time-sensitive vulnerabilities
개요
- 새로 추가된 레이스 컨디션 관련 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/race-conditions/lab-race-conditions-exploiting-time-sensitive-vulnerabilities
- 취약점 설명페이지: https://portswigger.net/web-security/race-conditions#time-sensitive-attacks
- 난이도: PRACTITIONER (보통)
-
Metasploit 개발 환경 구축하기
개요
- Metasploit에서 자기 자신의 모듈을 개발하는 방법을 알아본다.
- 예전에 검증했던 Apache OptionsBleed 취약점을 테스트하는 스캐너를 조금 개조해서 자신의 스캐너를 만들어보자.
-
Burp Academy-레이스컨디션 관련 취약점: Partial construction race conditions
개요
- 새로 추가된 레이스 컨디션 관련 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/race-conditions/lab-race-conditions-partial-construction
- 취약점 설명페이지: https://portswigger.net/web-security/race-conditions#partial-construction-race-conditions
- 난이도: EXPERT (어려움)
-
파이썬으로 PDF 파일 메타데이터 분석하기
개요
- VIOLENT PYTHON 서적의 내용을 참고해서 정리한 페이지이다.
- PDF 파일의 메타데이터를 파이썬을 사용해서 분석해본다.
- 유명한 해커 그룹 어나니머스가 2010년에 발표한 성명을 저장하고 있는 PDF 파일을 타겟으로 삼아서 조사해본다.
- https://www.wired.com/images_blogs/threatlevel/2010/12/ANONOPS_The_Press_Release.pdf 에서 ANONOPS_The_Press_Release.pdf를 다운로드 받을 수 있다.
-
Burp Academy-레이스컨디션 관련 취약점: Single-endpoint race conditions
개요
- 새로 추가된 레이스 컨디션 관련 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/race-conditions/lab-race-conditions-single-endpoint
- 취약점 설명페이지: https://portswigger.net/web-security/race-conditions#single-endpoint-race-conditions
- 난이도: PRACTITIONER (보통)
-
개인정보관리소홀벌칙
개요
- 웹 서비스를 제공하는 사업자가 서버에서 개인정보를 소홀하게 관리하면 어떤 벌을 받는걸까?
- 개인정보란 단독 혹은 복수개를 사용해서 개인을 특정할 수 있는 정보를 말한다.
- 나라마다 법이 다르기 때문에 나라별로 조사해두면 좋을 것 같다. 특히 한국과 일본에 대해서 조사해둔다.
-
Burp Academy-레이스컨디션 관련 취약점: Multi-endpoint race conditions
개요
- 2023년 새로 추가된 레이스 컨디션 관련 취약점 문제이다.
- 이 문제는 여러개의 엔드포인트에 동시에 요청을 보내는 방식의 레이스 컨디션(Multi-endpoint race conditions) 문제이다.
- 예를 들면, 장바구니에 상품을 넣고 구매를 진행하는데, 구매가 완료되기 전에 상품을 하나 더 넣으면 어떻게 될까? 레이스 컨디션에 취약한 EC사이트라면 여러개의 상품이 구매되는 결과가 될 것이다.
- 문제 주소: https://portswigger.net/web-security/race-conditions/lab-race-conditions-multi-endpoint
- 취약점 설명페이지: https://portswigger.net/web-security/race-conditions#limit-overrun-race-conditions
- 난이도: PRACTITIONER (보통)
-
파이썬으로 이미지 메타데이터 분석하기
개요
- VIOLENT PYTHON 서적의 내용을 참고해서 정리한 페이지이다.
- 디지털 포렌식에서는 이미지를 분석할 때 교환 이미지 파일형식(Exchange Image File Format, exif)이라고 알려진 이미지의 메타데이터를 조사한다.
- 파이썬을 사용해서 exif 메터데이터를 확인할 수 있는 라이브러리를 조사하고 간단한 사용방법을 정리해둔다.
- 참고로 대부분의 이미지 파일 형식은 exif 를 포함할 수 있다고 한다. png파일 형식도 원래는 exif를 포함할 수 없었으나 2017년부터는 가능해졌다고 한다. (출처: https://stackoverflow.com/questions/9542359/does-png-contain-exif-data-like-jpg)
- 대부분의 SNS에 사진을 업로드하게 되면 exif데이터를 삭제된 상태로 업로드되게 된다.
-
Burp Academy-레이스컨디션 관련 취약점: Bypassing rate limits via race conditions
개요
- 새로 추가된 레이스 컨디션 관련 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/race-conditions/lab-race-conditions-bypassing-rate-limits
- 취약점 설명페이지: https://portswigger.net/web-security/race-conditions#limit-overrun-race-conditions
- 난이도: PRACTITIONER (보통)
-
Burp Academy-레이스컨디션 관련 취약점: Limit overrun race conditions
개요
- 새로 추가된 레이스 컨디션 관련 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/race-conditions/lab-race-conditions-limit-overrun
- 취약점 설명페이지: https://portswigger.net/web-security/race-conditions#limit-overrun-race-conditions
- 난이도: APPRENTICE (쉬움)
-
히든(hidden) 필드와 Meta태그에서 XSS가 가능한지 확인하기
개요
- 2023년 7월에 적힌 Gareth Heyes씨의 기술 블로그를 보고 정리한 글이다.
- 해당 블로그에 의하면 HTML의 히든필드와 메타태그에서도 XSS가 가능하다고 한다.
- 본래 히든 필드는 웹 이벤트가 거의 발생하지 않기 때문에 XSS가 어렵다고 알려져 있다.
- 이 배경에는 Chrome이 발표한 신기술(popover API)가 있다고 한다.
- 이 API를 사용하면 기존의 HTML 모달창 대신에 다음과 같은 창이 표시된다고 한다.
-
jQuery의 wrap함수로 XSS가 가능한지 확인하기
개요
- 오래된 jquery (버전1.6.3이전)에 존재했던 Dom-XSS 취약점을 POC해본다.
- 이 취약점은 CVE-2011-4969로 알려져 있다.
- 이 취약점에서 주목할만한 것은 jquery 셀렉터(
$()
) 자체가 sink가 될 수 있다는 것이다.
-
Metasploit 개발 환경 구축하기
개요
- Metasploit 에서 exploit 소스 코드를 분석 또는 개발하기 위한 환경을 구축하는 방법을 정리해둔다.
- Metasploit은 거의 Ruby로 개발되어 있다. 따라서 Metasploit 개발환경을 구축하는 것은 Ruby 개발환경을 구축하는 것과 거의 동일하다.
- 소스코드 에디터는 Visual Studio Code 를 사용한다.
-
Virtualbox에 Windows XP 설치하기
개요
- Virtualbox를 사용해서 Windows XP 를 구동하는 방법을 정리한다.
- 취약점 연구가 목적이다.
- Windows XP에는 다양한 취약점이 존재하고 있으므로 이 환경을 하나 구축해두면 두고두고 써먹을 수 있을 것이다.
- Virtualbox는 7.0.0 r153978 (2022년 버전)을 사용했다.
-
SMB 취약점(MS08-067) exploit POC
개요
- 유명한 SMB취약점(MS08-067)을 POC해본다.
- 이 취약점은 이름이 “Microsoft Server Service Relative Path Stack Corruption” 로 되어 있다.
- 컨피커 웜이 악용한 것으로도 유명한 취약점이다.
- CVE번호는
CVE-2008-4250
이다.
-
윈도우즈 리눅스 개행문자변환
-
도커이미지에서 Dockerfile 추출하기
개요
도커이미지에서 Dockerfile 추출하기
-
Apache OptionsBleed 취약점(CVE-2017-9798)을 검증
개요
- Apache OptionsBleed 취약점(CVE-2017-9798)을 검증해본다.
- 이 취약점은 use-after-free (해제된 메모리를 사용) 때문에 발생하는 취약점이다.
- 취약한 환경을 구성해보고 스캐너를 돌려서 탐지되는지 확인해본다.
-
Docker 이미지만들기
개요
- 취약점을 재현하기 위해서 특정 버전의 웹 서버가 필요할 경우가 있다.
- 그런데 해당 웹 서버는 공식 Docker 이미지를 제공하고 있지 않다.
- 이런 경우에 직접 이미지를 만드는 방법을 정리해두자.
-
Metasploit 취약점 체크 자동화하는 방법
개요
- Metasploit 의 기본CLI에서 제공하는 기능을 프로그래밍할 수 있는지(CLI커맨드 입력작업을 자동화할 수 있는지) 확인한다.
- Metasploit을 사용한 체크를 자동화 (여러개의 타겟에 대해 일괄적으로 체크하는 작업)하기 위해서는 Resource Script가 필요하다는 것을 알게 되었다.
- Resource Script를 사용하는 방법을 정리해둔다.
- 스크립트 내에서 Metasploit 콘솔 커맨드를 조합해서 사용할 수도 있고, API 를 호출해서 사용할 수도 있다.
-
Metasploit-Meterpreter 스크립팅 조사
개요
- Meterpreter 스크립팅에 대해 조사한다.
- Meterpreter는 Metasploit 프레임워크를 구성하는 한 컴포넌트(페이로드)이다.
- Metasploit 의 기본CLI보다 더 다양한 기능을 제공한다.
- 그리고 기능을 확장할 수도 있는 것 같다.
- Meterpreter 스크립트는 루비로 개발한다.
-
jQuery의 wrap함수로 XSS가 가능한지 확인하기
개요
jquery 의 wrap함수에서 XSS가 발생하는지 검증해본다.
-
Burp Academy-Dom 관련 취약점: DOM XSS using web messages
개요
- Dom based 타입의 XSS 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/dom-based/controlling-the-web-message-source/lab-dom-xss-using-web-messages
- Dom 취약점 중에서 웹메세지 설명페이지: https://portswigger.net/web-security/dom-based/controlling-the-web-message-source
- 난이도: PRACTITIONER (보통)
-
Burp Academy-Dom 관련 취약점 설명
개요
- Burp Academy의 Dom-based 취약점 설명을 읽고 이해한 것을 정리하는 페이지다.
- https://portswigger.net/web-security/dom-based
- https://portswigger.net/web-security/dom-based/controlling-the-web-message-source
-
Burp Academy-XSS 취약점: Reflected XSS into attribute with angle brackets HTML-encoded
개요
- Reflected 타입의 XSS 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/cross-site-scripting/contexts/lab-attribute-angle-brackets-html-encoded
- 난이도: APPRENTICE (쉬움)
-
Burp Academy-XSS 취약점: Exploiting cross-site scripting to steal cookies
개요
- Stored 타입의 XSS 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/cross-site-scripting/exploiting/lab-stealing-cookies
- 난이도: PRACTITIONER (보통)
-
정규표현식 정리
개요
- 정규표현식을 정리한다.
- 각 프로그래밍언어마다 공통적인 부분도 있지만 조금씩 문법이 다르기 때문에 다른 부분은 언어별로 정리해야 한다.
- 펄, 자바스크립트, 루비처럼 언어의 문법에 정규표현식이 내장되어 있는 경우도 있고, 자바나 파이썬, 닷넷처럼 표준 라이브러리를 사용해서 지원하는 경우도 있다.
-
패딩 오라클(Padding Oracle) 취약점정리
개요
- 패딩 오라클 취약점의 원리를 이해한 부분을 정리해둔다.
- padding oracle은 2002년에 Serge Vaudenay가 처음 발표하였고, 이후 이 공격을 응용한 다양한 취약점들이 발표되고 있다. 그 중 유명한 것으로 2014년에 구글 엔지니어팀이 발표한 POODLE (Padding Oracle On Downgraded Legacy Encryption)취약점이 있다.
- 이 취약점을 악용하면 CBC모드를 사용하는 블록암호에 있어서 특정 조건하에서 암호키 없이도 평문을 얻어내는 것이 가능하다.
- 내가 패딩 오라클 취약점을 처음 알게된 것은 2017년이다. 이 시점에 CVE 데이터베이스에서 padding oracle로 검색해보면 24건이 조회되었다.
- 2023년 7월에 다시한번 padding oracle로 검색해보니 50건이 조회되었다. 6년 사이에 26건이 추가된 것이다. 의외로 끊이지 않고 계속 발견되는 취약점이라는 것을 알 수 있다.
- 2024년 12월에는 53건 이었다.
-
Nikto 사용법
개요
Nikto 스캐너에 대해 기본 정보를 정리해둔다. 정식명칭은 Nikto Web Scanner 이다. 웹 사이트의 취약점을 스캔해준다.
-
Apache Padding Oracle 취약점 (CVE-2016-0736) 분석
개요
- Apache 의 Padding Oracle 취약점에 대해 분석해본다.
- https://exploit-db.com/exploits/40961
-
Burp Academy-CORS 취약점: CORS vulnerability with internal network pivot attack
개요
-
Dom-based XSS 정리
개요
- Dom-based XSS 를 검사하는 방법을 정리한다.
- 특히 특정 jquery 라이브러리를 사용하고 있는 경우에 검사하는 방법을 정리한다.
-
Burp Academy-CORS 취약점: CORS vulnerability with trusted insecure protocols
개요
-
Windows 환경에서 nginx와 php연동하기
배경
- 웹 취약점 테스트를 위해 로컬PC환경에서 간단하게 수정 및 실행이 가능한 서버가 필요했다.
- HTML뿐이면 Node.js의 http-server모듈이 가장 간단하지만 이 걸로는 .php, .jsp와 같은 서버측 페이지를 개발할 수 없기 때문에 한계가 있었다.
- 빠르게 테스트하기 위해서는 역시 php가 간단하고, 이를 위해서 Windows PC에 nginx와 php를 설치하기로 결정했다.
-
Access-Control-Allow-Origin 헤더가 null인 경우 악용가능한지 확인해봤다.
개요
CORS의 Access-Control-Allow-Origin 헤더가 null을 회신해줄 때 크로스도메인을 접근이 가능한 경우가 있는지 확인해본다. 구체적으로는 Burp Academy CORS 취약점페이지에 있는
Whitelisted null origin value
취약점을 검증해보았다. -
Burp Academy-CORS 취약점: CORS vulnerability with trusted null origin
개요
-
Burp Academy-CORS 취약점: CORS vulnerability with basic origin reflection
개요
-
동일출처정책(Same Origin Policy, SOP) 개념 정리
동일출처 정책 개요
- 동일출처정책(Same Origin Policy, 줄여서 SOP) 이란 한 출처(origin)에서 로드된 스크립트(주로 자바스크립트)가 다른 출처의 자원과 상호작용하지 못하도록 제약하는 정책이다.
- 웹 페이지는 기본적으로 다른 출처(크로스오리진)의 이미지, 스타일시트, 스크립트, iframe, 동영상을 자유로이 임베드할 수 있다.3
- 동일출처정책이 막는 것은 자바스크립트가 다른 출처의 HTTP응답에 접근하는 것이다. 자바스크립트가 다른 출처로 HTTP 요청을 하는 것 자체는 가능하다.
-
CORS 기본 정리
개요/배경
- CORS는 Cross-Origin Resource Sharing의 약자이다.
- Javascript 활용이 활발해지면서 동일 출처 정책(SOP)의 제한을 넘어서 사이트 간에 데이터를 교환(크로스 도메인)하려는 요구가 강해졌다.
- Javascript는 동일 출처 정책에 제한받기 때문에 크로스 사이트간 데이터교환(Ajax요청 등)이 불가능하다. (정확히는 요청은 가능해도 응답에 접근못한다.)
- 이 제한을 극복하고자 제안된 것이 CORS 이다.
- 조건이 갖추어진 환경(헤더에 접근 허용 도메인 지정 등) 하에서 데이터 교환을 할 수 있다.
- 중요한 것은 리소스를 가진 서버측에서 권한을 설정 해준다는 점이다.
- 클라이언트 측 요청은 여러 구현 방법이 있지만 주로 XMLHttpRequest를 사용한다.
-
Burp Academy-CORS 설명
CORS (cross-origin resource sharing)란?
- 웹 사이트의 리소스에 대한 접근을 컨트롤하는 브라우저 메커니즘이다.
- 이는 동일출처정책(SOP)을 일부분 완화함으로써 가능하다. 이런 특성 때문에 잘못 구현하면 취약점을 만들어 내게 되므로 주의가 필요하다.
- CORS는 CSRF공격에 대한 방어메커니즘이 아니다.
- 참고로 동일출처 정책은 크로스 도메인간에 HTTP요청을 막는 것이 아니다. 대신에 HTTP 응답에 접근하는 것을 막는다.
-
쿠키사용동의에 대해서 조사해봤다.
개요
- 쿠키사용동의를 하는 배경과 쿠키 동의하지 않으면 어떻게 되는지 등을 알아본다.
-
로컬 스토리지 vs 쿠키
로컬 스토리지 vs 쿠키
- 보안관점에서 봤을 때 어느 쪽이 안전할까?
- 기본적으로 쿠키가 훨씬 안전하다.
- 로컬 스토리지와 쿠키 모두 Same Origin Policy 에 의해 보호된다.
- 그러나 쿠키에는 쿠키사용을 특정 패스(path)로 제한하는 기능이 있다.
- 또한 쿠키는 httponly 속성을 붙여서 Javascript에서 접근하는 것을 막을 수 있다. XSS에 대한 꽤 유효한 방어책이 된다.
- 로컬 스토리지에는 민감한 정보(sensitive info)는 저장하지 않는 것이 좋다.
- 쿠키는 저장용량이 최대 4KB까지지만 로컬 스토리지는 최소 5MB공간을 제공한다.
- 또한, 로컬스토리지에 접근하는 과정은 동기적(syncronous)으로 동작한다. 브라우저가 로컬스토리지에 접근하는 동안은 해당 사이트의 다른 모든 처리가 멈춘다는 뜻이다. 다라서 로컬 스토리지 접근이 많으면 퍼포먼스 저하가 발생할 수 있다.
- 로컬 스토리지는 민감하지 않은 데이터를 캐시하는 용도에 적합하다.
-
쿠버네티스 Goat: 세번째 시나리오 SSRF in the Kubernetes (K8S) world
개요
- 쿠버네티스 환경에서 발생할 수 있는 취약점 시나리오 세번째 SSRF 에 대한 문제이다.
- 영어 설명은 구글 번역을 사용해 번역했다.
-
Burp Academy-인증(Authentication) 취약점: Broken brute-force protection, IP block
개요
- 인증(Authentication)에 관련된 취약점이다.
- 취약점 설명 주소: https://portswigger.net/web-security/authentication/password-based
- 문제 주소: : https://portswigger.net/web-security/authentication/password-based/lab-broken-bruteforce-protection-ip-block
- 난이도: PRACTITIONER (보통)
-
Jekyll 서버 SEO 준비하기
개요
- Jekyll 서버에서 검색엔진에 노출되록 하기 위한 설정 방법을 정리해둔다.
-
Burp Intruder Attack Types 정리
개요
- Burp Intruder에서 설정가능한 attack type 을 정리해둔다.
- 이해해두면 두고두고 써먹을 수 있을 것이다.
-
Burp Academy-인증(Authentication) 취약점: Username enumeration via response timing
개요
- 인증(Authentication)에 관련된 취약점이다.
- 취약점 설명 주소: https://portswigger.net/web-security/authentication/password-based
- 문제 주소: : https://portswigger.net/web-security/authentication/password-based/lab-username-enumeration-via-response-timing
- 난이도: PRACTITIONER (보통)
-
일본온천정리
-
Burp Academy-인증(Authentication) 취약점: Username enumeration via subtly different responses
개요
- 인증(Authentication)에 관련된 취약점이다.
- 취약점 설명 주소: https://portswigger.net/web-security/authentication/password-based
- 문제 주소: : https://portswigger.net/web-security/authentication/password-based/lab-username-enumeration-via-subtly-different-responses
- 난이도: PRACTITIONER (보통)
-
쿠버네티스 Indexed Job 사용법
개요
- kubernetes에서 병렬처리를 하기 위한 방법중에 작업큐를 사용하지 않는 방법을 검토한다.
- 이유는 작업큐를 준비하는데도 시간이 들고, 각 Pod와 작업큐간에 통신비용도 꽤나 발생하는 것처럼 보이기 때문이다.
- 작업리스트는 각 Pod에 미리 저장해두고, 각 Pod가 알아서 다른 Pod와 겹치지 않게(이거 중요하다!) 작업을 진행해주면 매우 편리할 것이다.
- 이를 위해서 Indexed Job이라는 것을 사용할 수 있을 것 같다.
-
Burp Academy-인증(Authentication) 취약점: Password reset broken logic
개요
- 인증(Authentication)에 관련된 취약점이다.
- 취약점 설명 주소: https://portswigger.net/web-security/authentication/other-mechanisms
- 문제 주소: : https://portswigger.net/web-security/authentication/other-mechanisms/lab-password-reset-broken-logic
- 난이도: APPRENTICE (쉬움)
-
Burp Academy-인증(Authentication) 취약점: Username enumeration via different responses
개요
- 인증(Authentication)에 관련된 취약점이다.
- 취약점 설명 주소: https://portswigger.net/web-security/authentication/multi-factor
- 문제 주소: : https://portswigger.net/web-security/authentication/multi-factor/lab-2fa-simple-bypass
- 난이도: APPRENTICE (쉬움)
-
Burp Academy-인증(Authentication) 취약점: Username enumeration via different responses
개요
- 인증(Authentication)에 관련된 취약점이다.
- 취약점 설명 주소: https://portswigger.net/web-security/authentication/password-based
- 문제 주소: : https://portswigger.net/web-security/authentication/password-based/lab-username-enumeration-via-different-responses
- 난이도: APPRENTICE (쉬움)
-
셸스크립트를 Powershell스크립트로 변환하기 팁 모음
개요
- 셸스크립트에서 자주 보이는 특정 패턴을 파워셸에서 동일하게 하려고 하면 어떻게 작성해야 할까?
-
Gobuster 사용법
Gobuster란?
dirb와 같은 디렉토리 탐색 툴이다.
-
Burp Academy-OAuth 여섯번째 문제: Stealing OAuth access tokens via a proxy page
개요
- OAuth 2.0 인증에 관련된 취약점이다.
- 취약점 설명 주소: https://portswigger.net/web-security/oauth
- 문제 주소: https://portswigger.net/web-security/oauth/lab-oauth-stealing-oauth-access-tokens-via-a-proxy-page
- 난이도: EXPERT (어려움)
-
OWASP Application Security Verification Standard 분석
개요
- OWASP에서 개발한 Application Security Verification Standard (ASVS)라는 프로젝트가 있다.
-
Burp Academy-OAuth 다섯번째 문제: SSRF via OpenID dynamic client registration
개요
- OAuth 2.0 인증에 관련된 취약점이다.
- 취약점 설명 주소: https://portswigger.net/web-security/oauth/openid
- 문제 주소: https://portswigger.net/web-security/oauth/openid/lab-oauth-ssrf-via-openid-dynamic-client-registration
- 난이도: PRACTITIONER (보통)
-
Burp Academy-OpenID Connect
개요
- Burp Academy의 Open ID Connect의 내용을 대략 번역한 페이지이다.
-
일본 재무3표 개념 정리
개요
- 회계에서 등장하는 재무3표(財務三表)의 개념를 정리 한다.
- 재무3표는 제무제표, 결산서라고도 불린다.
- 일본을 기준으로 정리했지만 한국도 거의 대동소이 하지 않을까.
- 한국의 상장기업은 매분기마다 이 재무3표를 공개해야 한다고 한다.
-
Burp Academy-OAuth 네번째 문제: Stealing OAuth access tokens via an open redirect
개요
- OAuth 2.0 인증에 관련된 취약점 랩이다.
- 취약점 설명 주소: https://portswigger.net/web-security/oauth
- 문제 주소: https://portswigger.net/web-security/oauth/lab-oauth-stealing-oauth-access-tokens-via-an-open-redirect
- 난이도: PRACTITIONER (보통)
-
일본 자격증 합격률 비교
개요
심심해서 조사해보는 일본의 각종 자격증 합격률.
-
Burp Academy-OAuth 세번째 문제: OAuth account hijacking via redirect_uri
개요
- OAuth 2.0 인증에 관련된 취약점이다.
- 취약점 설명 주소: https://portswigger.net/web-security/oauth
- 문제 주소: https://portswigger.net/web-security/oauth/lab-oauth-account-hijacking-via-redirect-uri
- 난이도: PRACTITIONER (보통)
-
Burp Academy-OAuth 두번째 문제: Forced OAuth profile linking
개요
- OAuth 2.0 관련된 취약점이다.
- 취약점 설명 주소: https://portswigger.net/web-security/oauth
- 문제 주소: https://portswigger.net/web-security/oauth/lab-oauth-forced-oauth-profile-linking
- 난이도: PRACTITIONER (보통)
-
PKCE 개념 정리
개요
PKCE
(픽시)의 개념에 대해 정리한다.PKCE
를 사용하면 뭐가 좋아지는지 정리한다.- 실제 HTTP 요청응답에서는 어떤 모양인지도 정리한다.
-
쿠버네티스 보안
참고 링크
- 쿠버네티스 노린 공격 증가…보안 취약점은 (2023년): https://zdnet.co.kr/view/?no=20230110100651
- 2022년 쿠버네티스 보안 현황 리포트 (2022년): https://www.redhat.com/ko/resources/state-kubernetes-security-report
- 쿠버네티스 도커 환경에서 악성코드 첫번째 사례 (2021년): https://blog.naver.com/chogar/222390865697
- ‘대세’ 쿠버네티스, 문제는 ‘보안’··· 베스트 보안 프랙티스 5가지 (2020년): https://www.ciokorea.com/news/163115
-
Boto3 S3
-
리눅스 패킷 캡처하기
개요
- 리눅스에서 패킷캡처하는 방법을 정리한다.
- 리눅스 서버로 들어오는 통신 내용을 직접 체크하고 싶을 때 사용한다.
- 예를들면 어떤 스캐너의 페이로드가 중간에 변조되지 않고 제대로 타겟 서버에 전달되었는지 등을 체크하고 싶을 때 사용한다.
-
EKS 간단 사용법
개요
- Fargate를 사용하는 EKS 사용법을 정리해둔다.
- EKS 간단사용법 에서 컴퓨팅 엔진이 EC2가 아니라 Fargate를 사용하는 부분만 바뀐 것이다.
-
Log4shell 검증
개요
- 2022년 1월 화제가 되었던 Log4shell 취약점을 다시 한번 정리해둔다.
- 취약한 환경을 만들고 테스트하는 부분까지 진행한다.
- 취약한 환경은 재사용을 쉽게하기 위해 도커 이미지로 만들어 둔다.
-
EKS 간단 사용법
개요
- AWS의 EKS를 사용하는 방법을 정리해둔다.
- 컴퓨팅 엔진은 EC2를 사용한다.
-
도커 이미지를 ECR에 푸시하기, ECR에서 이미지 pull하기
개요
- 도커 이미지를 ECR에 푸시하고 접근하는 방법을 정리한다.
- 쿠버네티스에서의 ECR 사용방법도 정리한다.
-
쿠버네티스 Pod에 도메인 설정하기
개요
- 쿠버네티스는 서비스와 파드를 위해서 DNS 레코드를 생성한다. 사용자는 IP 주소 대신에 일관된 DNS 네임을 통해서 서비스에 접속할 수 있다.
- 여기에서는 유저가 직접 도메인을 설정하는 방법을 알아본다.
-
쿠버네티스 프라이빗 Dockerhub 리포지토리 사용하기
개요
- 쿠버네티스에서 프라이빗 도커 리포지토리의 이미지를 가져오는 방법을 조사한다.
- 여기에 의하면 프라이빗 레지스트리를 사용하는 몇 가지 방법이 설명되어 있다. 도커 허브의 프라이빗 리포지토리를 사용하는데는 주로 파드에
ImagePullSecrets
을 명시하는 방법이 사용되는 것 같다.
-
Burp Academy-OAuth grant types
개요
- Burp Academy의 OAuth grant type 페이지의 내용을 대략 번역한 페이지이다.
- OAuth의 대략적인 흐름을 간단히 이해하기에는 매우 좋은 자료라고 생각된다.
-
Node.js 크롤러 라이브러리- simplecrwaler 사용법
개요
- node.js를 사용한 크롤러는 simplecrwaler, crawler, puppeteer-extra-plugin-stealth등이 유명한 것 같다.
- 이중에서 simplecrwaler를 사용해본 결과를 정리해둔다.
-
Emacs 환경설정 정리
개요
- 하고 싶은 것: Windows에서 clojure를 개발할 수 있는 Emacs환경을 구축하고 싶다.
- 목표: https://github.com/flyingmachine/emacs-for-clojure/ 의 설정파일을 제대로 구동할 수 있는 Windows Emacs버전을 찾는다.
- 환경설저파일(init.el)은 Clojure Brave and True의 소스를 기본으로 했다.
-
Burp Academy-OAuth 첫번째 문제: Authentication bypass via OAuth implicit flow
개요
- OAuth 2.0 인증에 관련된 취약점이다.
- 취약점 설명 주소: https://portswigger.net/web-security/oauth
- 문제 주소: https://portswigger.net/web-security/oauth/lab-oauth-authentication-bypass-via-oauth-implicit-flow
- 난이도: APPRENTICE (쉬움)
-
Burp Academy-WebSocket 세번째 문제: Cross-site WebSocket hijacking
개요
- WebSocket 취약점 설명 주소: https://portswigger.net/web-security/websockets
- Cross-site WebSocket hijacking 설명주소: https://portswigger.net/web-security/websockets/cross-site-websocket-hijacking
- 문제 주소: https://portswigger.net/web-security/websockets/cross-site-websocket-hijacking/lab
- 난이도: PRACTITIONER (중간)
-
Burp Academy-WebSocket 두번째 문제: Manipulating the WebSocket handshake to exploit vulnerabilities
개요
- Manipulating the WebSocket handshake to exploit vulnerabilities
- WebSocket 취약점 설명 주소: https://portswigger.net/web-security/websockets
- 문제 주소: https://portswigger.net/web-security/websockets/lab-manipulating-handshake-to-exploit-vulnerabilities
- 난이도: PRACTITIONER (중간)
-
Nginx ModSecurity와 App Protect 비교
개요
- Nginx 에서 WAF를 사용하는 방법을 알아보려고 검색해보면 ModSecurity와 App Protect 두가지가 검색된다.
- 어떻게 다른가를 정리해둔다.
-
리눅스 하드 디스크 용량 확보하기
개요
- 리눅스 서버에서 저장공간 용량이 없어서 웹 서버 로그파일이 더이상 저장되지 않는다던가 하는 경우가 있다.
- 이런 경우에 불필요한 파일을 제거하는 방법을 정리해둔다.
-
Burp Academy-WebSocket 첫번째 문제: Manipulating WebSocket messages to exploit vulnerabilities
개요
- Manipulating WebSocket messages to exploit vulnerabilities
- WebSocket 취약점 설명 주소: https://portswigger.net/web-security/websockets
- 문제 주소: https://portswigger.net/web-security/websockets/lab-manipulating-messages-to-exploit-vulnerabilities
- 난이도: APPRENTICE (쉬움)
-
Burp Academy-JWT 여덞번째 문제: 알고리즘 컨퓨전을 통한 JWT 인증우회
개요
- JWT(JSON Web Token) 취약점 여덞번째 문제이다.
- JWT authentication bypass via algorithm confusion with no exposed key
- JWT 취약점 설명 주소: https://portswigger.net/web-security/jwt/algorithm-confusion
- 문제 주소: https://portswigger.net/web-security/jwt/algorithm-confusion/lab-jwt-authentication-bypass-via-algorithm-confusion-with-no-exposed-key
- 난이도: EXPERT (높음)
-
nginx 동접자 확인 방법
개요
nginx로 웹서버를 운영할 때 동접자수를 간단히 확인하는 방법이다.
-
RFC 9207 - OAuth 2.0 Authorization Server Issuer Identification 메모
개요
- RFC 9207 에 기술되어 잇는
OAuth 2.0 Authorization Server Issuer Identification
는mix-up attacks
라는 공격에 대한 대책이라고 한다. - 간단히 말하자면, 복수의 IdP를 통해 OAuth를 수행하는 환경에서, 인가서버가 인가 응답에
iss
라는 파라메터로 인증서버의 DNS 도메인 값(Authorization Server의 issuer값)을 회신해주는 방법인 것 같다. - 유저입장에서는 정당한 인증서버에서 리다이렉트 된 것인지 iss값을 확인하면 알 수 있다.
- RFC 9207 에 기술되어 잇는
-
CSP 헤더
개요
- CSP 헤더는 기본적으로 화이트리스트 방식으로 동작한다. 즉, CSP헤더가 설정되어 있으면 허용된 것 이외는 전부 거부한다.
- CSP 헤더중에서 일부 헤더는 해당 헤더와 관련된 부분만 제어한다. 예를 들면, frame-src 헤더는 프레임관련된 부분만 제어한다. frame-src 헤더가 존재한다고 자바스크립트나 css의 사용이 제한되는 것은 아니다.
-
ChatGPT 코드리뷰하기 메모
개요
ChatGPT에게 코드리뷰 시키기라는 글을 보고 이런 것도 되는 구나싶었다.
- https://velog.io/@jeonbyeongmin/Chat-GPT%ED%95%9C%ED%85%8C-%EC%BD%94%EB%93%9C%EB%A6%AC%EB%B7%B0-%EC%8B%9C%EC%BC%B0%EC%8A%B5%EB%8B%88%EB%8B%A4..-feat.-Github-Action
-
curl 사용법 정리
개요
curl은 웹 어플리케이션에 HTTP요청을 보낼 수 있는 커맨드라인 툴이다. 웹 어플리케이션 동작확인에 자주 쓰인다.
자주 사용하는 curl 옵션을 정리해둔다. -
Burp Academy-JWT 일곱번째 문제: 알고리즘 컨퓨전을 통한 JWT 인증우회
개요
- JWT(JSON Web Token) 취약점 일곱번째 문제이다.
- JWT authentication bypass via algorithm confusion
- JWT 취약점 설명 주소: https://portswigger.net/web-security/jwt/algorithm-confusion
- 문제 주소: https://portswigger.net/web-security/jwt/algorithm-confusion/lab-jwt-authentication-bypass-via-algorithm-confusion
- 난이도: EXPERT (높음)
-
파이썬 자잘한 팁 정리
개요
자주 쓰이는 자잘한 파이썬 코드를 정리해둔다.
-
Burp Suite를 사용해서 Referer변조하는 법
개요
- Burp Suite를 사용해서 임의의 referer 헤더를 붙이는 방법에 대해 조사한다.
-
Burp Academy-JWT 여섯번째 문제:Injecting self-signed JWTs via the kid parameter
개요
- JWT(JSON Web Token) 취약점 여섯번째 문제이다.
kid
파라메터를 통해 자신이 서명한 JWT를 사용해서 인증을 우회하는 문제이다.- JWT 취약점 설명 주소: https://portswigger.net/web-security/jwt
- 문제 주소: https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-kid-header-path-traversal
- 난이도: PRACTITIONER (중간)
-
Socket.io 사용법 정리
Socket.IO개요
- 웹소켓과 비슷하게 양방향 통신을 지원하나 웹소켓과는 다른 기술이라고 한다.
- 웹소켓이 1:1통신에 적합하다면 socket.IO는 1:N으로 다른 클라이언트들에 브로드캐스팅을 하는 용도에 적합하다고 하는 것 같다.
- Node.js로 개발되어 있으므로 socket.IO를 구동하려면 Node.js실행환경이 필요하다.
-
Dom Clobbering 정리
개요
Dom clobbering(돔 클로버링)
취약점이 뭔지 정리하면서 이해해본다.- Dom clobbering이라는 이름은 Burp Suite 의 웹 브라우저 확장 프로그램인 Dom Invader에서 처음 봤다.
- Dom clobbering도 XSS와 마찬가지로 취약점(또는 공격테크닉)의 한 종류라고 볼 수 있다.
- clobbering(클로버링)이란 영단어 자체는 “(사람을)두들겨 패다”, “(특히 경제적으로) 호된 처벌(손실)을 가하다”라는 뜻이 있다고 한다.
- Dom을 두들겨 패는(?) 공격인가했는데, 위키피디아에 의하면 컴퓨터 쪽에서 클로버링이라고 하면 “덮어쓰기”를 의미한다고 한다.
- 따라서 Dom클로버링은 Dom의 동작을 덮어쓰기 하는 공격이라고 대충 예상할 수 있겠다.
-
모던 자바스크립트(비동기 처리 관련) 문법 정리
개요
- 모던 자바스크립트 문법을 정리해두는 문서이다.
- 주로 비동기 처리관련 문법등을 정리해둔다.
-
Wappalyzer(와팔라이저) 설치 및 사용법
Wappalyzer란?
- Wappalyzer(와팔라이저)는 웹 페이지를 분석해서 웹 사이트가 어떤 기술스택을 사용해서 만들어졌는지를 알려주는 오픈 소스 툴이다.
- 웹 서버 종류나 버전, 사용중인 웹 프레임워크나 자바 스크립트 라이브러리 버전 등을 알려준다.
- 크롬 확장 프로그램으로 설치하는 방법과 PC에 설치해서 쓰는 방법이 있다.
- 크롬 확장 프로그램이 사용하기는 쉽지만 매번 웹 사이트를 방문해서 확장 프로그램을 실시해야 하는 번거로움이 있다.
- 설치형은 설치 과정이 번거롭지만 스크립트와 연동해서 많은 수의 사이트를 한번에 돌릴 수 있는 장점이 있다.
- 이 포스트에서는 설치형을 정리한다.
- Wappalyzer는 Node.js로 개발되었다. npm이나 yarn을 통해 설치가 가능하다.
-
CSP 헤더 - 해시 계산하는 방법
개요
- CSP 헤더 적용시
unsafe-inline
설정을 하지 않고 인라인 스크립트를 사용하려면 해시를 사용해야 한다. - 이 때 적절한 해시를 계산하는 방법을 조사한다.
- 동일한 sha256 알고리즘인데, 크롬이 제안하는 해시 값과, 기타 openssl 등으로 계산한 해시 값이 다른 경우가 있는 것 같기 때문에 조사해보기로 했다.
- CSP 헤더 적용시
-
CSP 헤더 적용 패턴정리 - 인라인 스크립트 해시, 별도 스크립트 파일
개요
- CSP 헤더를 적용하는 패턴을 몇 개 정리해둔다.
- 인라인 스크립트를 사용하는 경우와 별도 스크립트 파일로 분리하는 경우를 테스트해본다.
- 테스트도구: html페이지, js파일, nginx웹서버
- 테스트일자: 2023년 2월 21일
- 테스트 브라우저: 크롬 Version 110.0.5481.104 (Official Build) (64-bit)
-
Burp Academy-서버사이드 프로토타입 오염(Server-side prototype pollution) 개념
개요
- PortSwigger사의 서버사이드 프로토타입 오염(Server-side prototype pollution) 을 보고 정리한 문서입니다.
-
Burp Academy-JWT 다섯번째 문제:JWT authentication bypass via jku header injection
개요
- JWT(JSON Web Token) 취약점 다섯번째 문제이다.
jku 헤더 인젝션
에 대한 문제이다. (이전 문제는 jwk 헤더 인젝션이었다.)- JWT 취약점 설명 주소: https://portswigger.net/web-security/jwt
- 문제 주소: https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-jku-header-injection
- 난이도: PRACTITIONER (중간)
-
SQLMap 사용법
개요
- SQL Injection 취약점을 찾아주는 툴이다. SQL Injection 탐지에 대해서는 아마도 가장 뛰어날 툴일 것이다.
- 탐지 뿐만 아니라 실제 공격까지 수행할 수 있으므로 해킹툴로도 사용될 수 있다.
-
Burp Academy-JWT 네번째 문제:JWT authentication bypass via jwk header injection
개요
- JWT(JSON Web Token) 취약점 네번째 문제이다.
jwk 헤더 인젝션
에 대한 문제이다.- JWT 취약점 설명 주소: https://portswigger.net/web-security/jwt
- 문제 주소: https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-jwk-header-injection
- 난이도: PRACTITIONER (중간)
-
전세계 정보보안시장, 인력 규모
개요
- 심심해서 정리해보는 전세계 정보보안시장 규모
- 물리보안은 제외한다.
-
hashcat 사용법
hashcat 개요
- 해시를 크래킹해주는 툴이다.
- JWT의 서명용 시크릿 키를 찾아주는 용도로도 사용할 수 있다.
- 알려진 시크릿 키 리스트를 사용해서 브루트포싱할 수 있다. 예를 들면, JWT 시크릿 키 리스트를 사용해서 브루트포싱할 수 있다.
- 서명값이 일치하는 것이 있으면 출력해준다.
-
Burp Academy-JWT 세번째 문제:JWT authentication bypass via weak signing key
개요
- JWT(JSON Web Token) 취약점 세번째 문제이다.
- JWT 취약점 설명 주소: https://portswigger.net/web-security/jwt
- 문제 주소: https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-weak-signing-key
- 난이도: PRACTITIONER (중간)
-
동일출처정책(Same Origin Policy, SOP) 과 XSS이해하기
동일출처정책(SOP) 개요
- 동일출처정책은 웹 보안에서 아주 중요한 개념이다.
- 중요한 개념인데 헷갈릴 때도 많기 때문제 정리해둔다.
- 일반적으로 말해, 어떤 사이트의 자바스크립트는 동일출처인 컨텐츠에만 접근할 수 있다는 제약이다.
- 동일출처가 아닌 다른 출처(origin)의 컨텐츠를 읽을 수 없다.
- 동일출처란 스킴(http, https등), 호스트(example.com 과 같은 것), 포트번호(80,443등)가 동일할 때를 말한다.
- 구체적인 예와 함께하면 이해하기 좋을 것 같다.
-
Burp Academy-JWT 두번째 문제:JWT authentication bypass via flawed signature verification
개요
- JWT(JSON Web Token) 취약점 두번째 문제이다.
- JWT 취약점 설명 주소: https://portswigger.net/web-security/jwt
- 문제 주소: https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-flawed-signature-verification
- 난이도: APPRENTICE (쉬움)
-
일본에서 청부계약과 준위임 계약 차이점
개요
- 일본에서 다른 회사에 일을 의뢰할 때 대략 두가지 패턴이 있다.
- 청부(請負)계약(또는 도급계약)과 준위임 계약이 그 것이다.
- 청부계약은 일본어로 우케오이(請負, うけおい)라고 부른다.
-
파이썬 대량 HTTP요청 라이브러리 - grequests 사용법
개요
파이썬에서 대량의 HTTP요청을 보내고 싶을 경우에 사용하는 grequests 라이브러리의 사용법을 정리해둔다.
-
Burp Academy-JWT 첫번째 문제:JWT authentication bypass via unverified signature
개요
- JWT(JSON Web Token) 취약점 첫번째 문제이다.
- JWT 취약점 설명 주소: https://portswigger.net/web-security/jwt
- 문제 주소: https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-unverified-signature
- 난이도: APPRENTICE (쉬움)
-
파이썬에서 리눅스 명령어 호출하기
개요
- 파이썬에서 리눅스 프로그램을 연동하고 싶을 때가 있다.
- 예를들어, curl 프로그램을 여러번 시도하고 싶을 때 컨트롤 부분은 파이썬으로 작성하고 HTTP 요청은 curl로 처리하는 등이다.
- 이럴 때, 파이썬의
subprocess
모듈을 사용한다.
-
Referer 헤더를 보내고 싶지 않을 때
개요
- HTML 페이지에 타 사이트의 리소스(스타일시트, 자바스크립트, 이미지 등)를 포함시키는 경우가 있다.
- 이 HTML 페이지를 로딩하면 브라우저는 타 사이트의 리소스를 요청하게 되는데 이 때 Referer헤더에 내 사이트의 도메인 정보가 전달된다.
- 예를 들면 다음과 같은 식이다.
Referer: https://developer.mozilla.org/en-US/docs/Web/JavaScript Referer: https://example.com/page?q=123 Referer: https://example.com/
- 리소스를 제공하는 사이트측에서는 Referer 헤더 정보를 보고 어느 사이트에서 내 리소스를 요청했구나라고 파악할 수 있다.
- 그런데 비밀리에 개발중인 사이트거나 하는 경우에는 도메인 정보를 노출시키고 싶지 않을 수도 있다.
- 이럴 때 사용할 수 있는 방법을 조사해보았다.
-
Burp Academy-Prototype Pollution 다섯번째 문제:Client-side prototype pollution via flawed sanitization
개요
- 프로토타입 폴루션(Prototype Pollution, 프로토타입 오염) 취약점 다섯번째 문제이다.
- 문제 주소: https://portswigger.net/web-security/prototype-pollution/preventing/lab-prototype-pollution-client-side-prototype-pollution-via-flawed-sanitization
- 프로토타입 폴루션 설명 주소
- https://portswigger.net/web-security/prototype-pollution
- https://portswigger.net/web-security/prototype-pollution/preventing
- 난이도: PRACTITIONER (중간)
-
Burp Academy-Prototype Pollution 네번째 문제:Client-side prototype pollution via browser APIs
개요
- 프로토타입 폴루션(Prototype Pollution, 프로토타입 오염) 취약점 네번째 문제이다.
- 문제 주소: https://portswigger.net/web-security/prototype-pollution/browser-apis/lab-prototype-pollution-client-side-prototype-pollution-via-browser-apis
- 프로토타입 폴루션 설명 주소
- https://portswigger.net/web-security/prototype-pollution
- https://portswigger.net/web-security/prototype-pollution/browser-apis
- 난이도: PRACTITIONER (중간)
-
DB정보로부터erd만들어내기
개요
- 이미 만들어진 DB에서 erd를 만들어내는 방법이다.
- erd파일을 찾을 수 없을 때 사용하면 편리하다.
- MySQL Workbench의 기능을 이용한다.
-
Burp Crawling 사양 정리
개요
- https://portswigger.net/burp/documentation/scanner/crawling 의 크롤링 사양을 보고 정리한다.
-
Burp Academy-Prototype Pollution 세번째 문제:Client-side prototype pollution in third-party libraries
개요
- 프로토타입 폴루션(Prototype Pollution, 프로토타입 오염) 취약점 문제이다.
- 문제 주소: https://portswigger.net/web-security/prototype-pollution/finding/lab-prototype-pollution-client-side-prototype-pollution-in-third-party-libraries
- 프로토타입 폴루션 설명 주소
- https://portswigger.net/web-security/prototype-pollution
- https://portswigger.net/web-security/prototype-pollution/finding
- 난이도: PRACTITIONER (중간)
-
각 언어에서 HTTP 요청필터기능
개요
Java Servlet API에는 Filter 오브젝트가 있다. 이 것을 사용하면 HTTP 요청이나 응답을 유저와 웹 어플리케이션 중간에서 처리해주는 객체가 다른 언어에도 있는지 궁금하다. 한번 찾아보자.
-
Burp Academy-Prototype Pollution 두번째 문제:DOM XSS via an alternative prototype pollution vector
개요
- 프로토타입 폴루션(Prototype Pollution, 프로토타입 오염) 취약점으로 인한 XSS 에 대한 추가 문제이다.
- 문제 주소: https://portswigger.net/web-security/prototype-pollution/finding/lab-prototype-pollution-dom-xss-via-an-alternative-prototype-pollution-vector
- 프로토타입 폴루션 설명 주소
- https://portswigger.net/web-security/prototype-pollution
- https://portswigger.net/web-security/prototype-pollution/finding
- 난이도: PRACTITIONER (중간)
-
일본에서 인감등록하기
개요
일본에서 외국인이 인감등록하려면 경우데 따라서는 절차가 조금 복잡해질 수도 있다. 내 경우에는 이것저것 많이 복잡했기 때문에 정리해둔다.
-
일본에서 사용하는 도장 종류
개요
일본에서는 개인이 사용하는 도장이 적어도 중요도에 따라 적어도 세 종류 있다.
- 미토메인(認印) : 우리나라로 치면 막도장이다. 내가 이거 확인했다 라는 용도다. 주로 회사에서 자주 사용한다. 내가 이 문서 확인했다는 용도 등. 중요도는 가장 낮다.
- 깅코우인(銀行印, 은행인): 은행업무에 사용한다. 미토메인보다는 더 중요하다.
- 지츠인(実印, 실인): 우리나라로 따지면 인감 도장이다. 관청에 인감등록해서 사용한다. 매우 중요한 부동산업무, 사업상업무 등에 사용한다고 한다.) 가장 중요한 도장이다. 절대로 아무한테나 넘겨주어는 안된다.
-
Burp Academy-Prototype Pollution 첫번째 문제:DOM XSS via client-side prototype pollution
개요
- 프로토타입 폴루션(Prototype Pollution, 프로토타입 오염) 취약점에 대한 문제이다.
- 문제 주소: https://portswigger.net/web-security/prototype-pollution/finding/lab-prototype-pollution-dom-xss-via-client-side-prototype-pollution
- 프로토타입 폴루션 설명 주소: https://portswigger.net/web-security/prototype-pollutionwhat-is-prototype-pollution
- 난이도: PRACTITIONER (중간)
-
Nginx 프록시 관련 헤더 정리
개요
Nginx에서
X-
가 포함된 프록시 관련 헤더는 뭐하는 헤더인지 정리해본다. 주로 자주 보이는 헤더는 다음과 같은 헤더이다. -
테슬라 CORS 취약점
개요
- 테슬라 CORS 취약점 보고 을 읽어본 메모이다.
- 조직 내부 네트워크에 있는 서버의 HTTP 응답 CORS설정이 와일드 카드 (
Access-Control-Allow-Origin: *
)로 되어 있어, 데이터가 유출될 가능성이 있다는 것을 보고한 것 같다. of-CORS
라는 CORS 취약점을 찾아주는 툴이 있는 것 같다.- Python Django 로 만든 웹 어플리케이션이다.
- 정확한 구동원리는 아직 모르겠지만, 대략 이런 것 같다.
- 이 웹 어플리케이션을 조직 내부의 유저가 방문했을 경우 자바스크립트가 실행되어, 해당 조직의 내부 네트워크에 있는 것으로 생각되는 서버에 접속하게 하여 그 때의 응답을 저장한다. 이 응답에 CORS 설정 오류가 있다면 화면에 표시한다.
- 내부 네트워크 서버의 도메인 조사는 OSS툴인
Amass
를 이용한 것으로 보인다.
-
Burp Academy 문제풀이 - SQL injection UNION attack, determining the number of columns returned by the query
개요
- SQL 인젝션 문제이다.
- 문제 주소: https://portswigger.net/web-security/sql-injection/union-attacks/lab-determine-number-of-columns
- SQL 인젝션 설명 주소: https://portswigger.net/web-security/sql-injection
- 난이도: PRACTITIONER (중간)
-
Windows에서 Perl 실행 환경 구축
개요
- Windows PC에서 Perl 실행환경이 필요해서 설치 과정을 메모해둔다.
- 여기를 참고했다.
- ActiveState 페이지에서 다운로드 받는다.
- 2023년 1월 19일 기준으로 Perl 5.36가 다운로드 가능하다.
-
Redis를 이용한 쿠버네티스 병렬처리
개요
- https://kubernetes.io/ko/docs/tasks/job/fine-parallel-processing-work-queue/ 를 참고해서 실습해본다.
-
쿠버네티스 Job 사용법
쿠버네티스 Job 개요
- 쿠버네티스 Job은 쿠버네티스에게 특정 일을 시키고 싶을 때 사용한다.
- Job에 대해 공식 페이지 를 읽어보면서 정리한다.
-
Dirb 사용법
Dirb 개요
- Dirb 웹 사이트에 존재하는 경로(패스)를 찾아내주는 Fuzzing 툴이다.
- 사전 파일(Dictionary File)을 이용해 경로를 체크하고 결과를 알려준다.
- 빠르고 사용법도 간단한다.
- 칼리 리눅스라면 기본적으로 설치되어 있다.
-
Burp Academy 문제풀이 - Exploiting blind XXE to exfiltrate data using a malicious external DTD
개요
- Blind XXE 문제인데 XML의 파라메터 엔터티(Parameter Entity)를 통해 out-of-band 통신을 발생시키는 예제로 보인다.
- 문제 주소: https://portswigger.net/web-security/xxe/blind/lab-xxe-with-out-of-band-exfiltration
- 블라인드 XXE 설명 주소: https://portswigger.net/web-security/xxe/blind
- 난이도: PRACTITIONER (중간)
-
Burp Academy 문제풀이 - Blind XXE with out-of-band interaction via XML parameter entities
개요
- Blind XXE 문제인데 XML의 파라메터 엔터티(Parameter Entity)를 통해 out-of-band 통신을 발생시키는 예제로 보인다.
- 문제 주소: https://portswigger.net/web-security/xxe/blind/lab-xxe-with-out-of-band-interaction-using-parameter-entities
- 블라인드 XXE 설명 주소: https://portswigger.net/web-security/xxe/blind
- 난이도: PRACTITIONER (중간)
-
Burp Academy 문제풀이 - Blind XXE with out-of-band interaction
개요
- 블라인드 XXE 로 out-of-band 통신을 발생시키는 것을 실습하는 문제이다.
- 문제 주소: https://portswigger.net/web-security/xxe/blind/lab-xxe-with-out-of-band-interaction
- 블라인드 XXE 설명 주소: https://portswigger.net/web-security/xxe/blind
- 난이도: PRACTITIONER (중간)
-
Burp Academy 문제풀이 - Exploiting XXE to perform SSRF attacks
개요
- XXE를 응용해서 SSRF 공격을 하는 예제이다.
- 문제 주소: https://portswigger.net/web-security/xxe/lab-exploiting-xxe-to-perform-ssrf
- XXE 설명 주소: https://portswigger.net/web-security/xxe
- 난이도: APPRENTICE (쉬움)
-
Burp Academy 문제풀이 - Exploiting XXE using external entities to retrieve files
개요
- 문제명: Exploiting XXE using external entities to retrieve files
- XXE (XML external entity) 공격에 대한 실습 문제이다.
- XXE의 기본적인 패턴 중 하나의 시스템 파일 읽기를 실습할 수 있다.
- 주소: https://portswigger.net/web-security/xxe/lab-exploiting-xxe-to-retrieve-files
- 난이도: APPRENTICE (쉬움)
- XXE에 대한 기본적인 내용은 여기 에서 확인가능하다.
-
저작권과 특허권은 어떻게 다른가
저작권과 특허권은 어떻게 다른가?
예를들어 소프트웨어를 저작권 등록하고, 그 소프트웨어 내부에서 특허 출원이 가능한 부분은 특허를 등록하는 식으로 진행된다고 한다.
-
일본 IPA의 정보 시스템 등의 취약점 정보 취급법률면 조사 보고서 개정판 번역
일본 IPA의 정보 시스템 등의 취약점 정보 취급법률면 조사 보고서 개정판 을 구글 번역의 도움을 받아 번역하고 있는 문서입니다.
-
파이썬 라이브러리 만드는 방법
개요
- 파이썬으로 라이브러리 만들기 예제를 실행해본다.
- 내 환경은 Windows, Python 3.10 이다.
- 여기 를 참고했다.
-
Node.js 패키지 만들기
Node.js 패키지 만들기
-
Dependency Confusion 조사
Dependency Confusion 이란?
Dependency confusion (also known as dependency repository hijacking, substitution attack, or repo jacking for short) is a software supply chain attack that substitutes malicious third-party code for a legitimate internal software dependency.
-
Protocol Buffer 정리
개요
- 구글이 개발한 데이터 구조화 방식이다.
- gRPC 등의 프로토콜에서도 프로토콜 버퍼를 사용하므로 알아두면 좋다.
- 공식 사이트는 여기
-
Windows 녹화방법
개요
- Windows 10부터는 기본 녹화 기능이 들어가 있다.
- Windows + G를 누르면 녹화 윈도우가 나타난다.
- 동그라미가 그려져 있는 녹화버튼을 누르면 녹화가 시작된다. (Windows + Alt + R 을 눌러도 된다)
- 녹화가 끝나면 동그라미 버튼을 한번 더 누른다.
- C:\Users{유저명}\Videos\Captures 에 녹화된 비디오가 저장된다.
- 다만 한개의 윈도우만 녹화가능하다. 전체화면을 녹화하려면 다른 소프트웨어가 필요하다.
-
ITF 태권도
ITF 태권도 개요, 역사
- ITF는 International Taekwon-Do Federation 의 약자이다.
- ITF (조직)는
1966년 3월 22일
에 대한민국 군인 출신인 최홍희 총재에 의해 조선호텔에서 설립되었다. - 태권도라는 명칭은 최홍희 장군과 남태희 원로에 의해 1955년에 만들어졌다고 한다. (출처: http://www.tkdbox.com/2542-2/?ckattempt=1)
- 그 이전에는 다양한 명칭이 사용되었지만 1955년 4월1일에 명칭제정위원회에서 결과적으로 만장일치로 가결되어
태권도
로 결정되었다고 한다. - ITF 태권도는 한국보다는 외국에서 주로 수련하는 것 같다.
- ITF 태권도는 전 세계적으로 4000만명 정도가 수련중이라고 한다. WTF는 6000만명정도로 합치면 전세계에서 약 1억명정도가 태권도를 수련하고 있다고 한다. 참고로 가라데도 전 세계적으로 1억명정도가 수련중으로 태권도와 비슷한 수련생수를 가지고 있는 것 같다.
-
취약점 조사 관련 법률
개요
- 보안 관련 법률에서 서버의 소유자의 허가 없이 취약점 조사를 하는 것은 금지된다라고 이해하고 있다.
- 그런데 실제로는 어떨까? 지금도 수많은 취약점 분석가나 버그 헌터들은 취약점 보상 제도를 운영하고 있지 않은 회사의 서버에 대해서도 취약점 스캔을 수행하고 있다.
- 이런 조사는 모두 불법일까?
-
웹 동영상 강의 개선점
개요
- Udemy 와 같은 웹을 통한 동영상 강의를 듣는데 듣기가 어려운 강의가 있다.
- 왜 듣기가 어려울까 생각해보니 원인이 있었다.
-
Emacs
처음 설정 방법
Windows 인 경우
- 내 이맥스 설정을 처음 산 PC에 설정하는 방법이다.
- Windows 버전 emacs 를 설치한 후에 아래 커맨드를 실행한다.
-
Bootstrap 모달창 띄우기
개요
- bootstrap 의 모달(modal)창을 띄우는 방법을 정리한다.
- 공식문서 를 참고했다.
-
Burp Suite 팁 모음
Recorded Login
- 테스트하는 방법 https://portswigger.net/burp/documentation/desktop/scanning/recorded-logins
-
일본, 한국 세금 관련 비교
궁금한 것
- 일본에 살고 있으면 한국에는 세금을 안내도 될까?
- 답변: 외국에 살고 있어도 한국에 사업자 등록을 했거나, 소득의 원천이 한국에 있으면 한국에 세금을 신고하고 납부할 의무가 있다. (http://guide.taxmedicenter.com/32/?idx=11766413&bmode=view)
-
jekyll서버 사용법
여기 github 블로그에서 사용하는 jekyll (제킬) 서버에 대해 사용해보고 이것저것 시행착오해본 결과를 정리해둔다.
-
git 정리
초기작업
사용자 정보 생성하기
git config --global user.name "Firstname Lastname" git config --global user.email "your_email@example.com" vi ~/.gitconfig
-
Python Mongodb 사용법
개요
- Python을 사용해서 Mongodb를 다루는 법을 정리해둔다.
- OS에 MongoDB가 설치되어 기본포트인 27017번 포트로 MongoDB가 서비스중인 상태이다.
- MongoDB는 JSON 타입의 데이터를 다루는데 아주 궁합이 좋다.
-
NIST Cyber Security Framework (CSF) Version 1.1
배경/개요
- 사이버 세큐리티 프레임워크 (Cyber Security Framework, CSF)는 미국 국립 표준기술 연구소(NIST) 에서 만든 보안 대책 프레임워크이다.
- 2014년에 버전 1.0이, 2018년에 버전 1.1이 발표되었다.
- 상세한 기술적 내용보다는 사이버 공격에 대한 조직 및 관리쪽 대책에 특화된 내용이다. 참고로 사이버 공격에 대한 기술쪽에 특화된 내용은 CIS Controls 를 참고하면 된다.
- 버전1.1에는 최근 핫한 서플라인 체인 보안에 관한 내용이 있다고 하여 관심을 가지게 되었다.
- 따라서 일단 서플라이 체인 보안에 대한 부분만 집중적으로 보려고 한다.
- IPA의 번역본을 많이 참고하였다.
-
Docker Desktop
개요
Docker Desktop 사용시의 유용한 팁을 정리해둔다.
-
Unity 사용법
Unity
-
Splunk
-
Metasploit 프레임워크 설치 및 사용법
Metasploit 설치 및 셋업
- 터미널을 통한 설치를 진행한다. 아래 커맨드를 실행하면 설치된다.
-
유용한 Markdown 정리
개요
- 블로그 글을 쓰는 데 있어서 유용한 마크다운을 정리해둔다.
- 여기저기 찾아도 되지 않도록
-
ZMap 프로젝트 조사
ZMap 프로젝트
- https://zmap.io/
- 퍼블릭 IP 주소 공간에 대한 빠른 테스트를 하기 위한 툴 모음이다.
- 여러가지 서브 프로젝트들이 있다.
- ZMap, ZGrab, ZDNS, ZTee 등이다.
-
하트블리드(heartbleed) 취약점 조사
하트블리드 개요
- 2014년 4월에 발견된 openssl 구현 버그
CVE-2014-0160
로 지정되어 있다.- TLS 연결을 유지하는 heartbeat 통신 신호의 구현에 버그가 있어 발생한다.
- 공격자는 실제로 보내는 heartbeat의 크기보다 큰 크기를 보냈다고 거짓으로 요청하면 서버는 큰 크기를 맞추기 위해 메모리에 있는 다른 정보까지 끌어와 응답해준다. 여기서 데이터 유출이 발생된다.
-
Nmap 사용법
Nmap 개요
- 네트워크 스캐닝 도구이다.
- 내경우에는 주로 포트스캔을 위해서 사용한다.
-
Lua 개발환경 구축하기
개요
- 가볍고 빠르며 C/C++로 만들어진 프로그램 내부에 포함(embeded)시키기 쉬운 것을 목표로 만들어진 언어라고 한다.
- 게임개발에서 많이 사용된다고 한다.
- 네트워크 스캐너 Nmap의 확장 스크립트(NSE 스크립트)를 lua로 개발한다.
-
kubernetes 기본 정리
Kubernetes 개요
- 컨테이너화된 애플리케이션의 자동 디플로이, 스케일링 등을 제공하는 오픈소스 관리시스템 (위키피디아)
- 즉, 오케스트레이션 개념이다.
- 관리해야할 컨테이너가 많아지면, 자연스럽게 컨테이너를 관리해야 할 필요가 생긴다.
- 컨테이너를 관리해주는 SW는 쿠버네티스 외에도 도커 스웜등도 있다.
- 그러나 최근에는 쿠버네티스가 가장 인기가 있는 것 같다.
- 구글에서 만들어졌고, 15년이상 구글 내부에서 개선된 후, 2014년에 오픈소스화 되었다.
-
Docker 관련 정리
설치
sudo apt-get update curl -fsSL get.docker.com -o get-docker.sh sudo sh get-docker.sh curl -fsSL https://get.docker.com/ | sudo sh sudo docker version
-
Commercial National Security Algorithm Suite 2.0 조사
개요
- 2022년9월7일에 NSA가 Commercial National Security Algorithm Suite 2.0 (상용 국가보안알고리즘스위트 2.0) 라는 문서(권고안)를 발표했다. (https://media.defense.gov/2022/Sep/07/2003071834/-1/-1/0/CSA_CNSA_2.0ALGORITHMS.PDF)
- 2022년10월12일에 일본의 IPA에서 이 문서의 일본어 번역본을 발표했다. (https://www.ipa.go.jp/files/000103027.pdf)
- 2022년12월13일 현재, 구글검색해본 결과 한국어 번역본은 없는 것 같다.
- 영어원본과 IPA의 번역본을 읽어보고 대략적인 내용이나마 정리해두고자 한다.
- 주로 양자컴퓨터 등장을 대비하여 양자컴퓨터 시대에도 안전하게 사용할 수 있는 암호 알고리즘을 알려주는 내용으로 보인다.
- Commercial National Security Algorithm 를 줄여서 CNSA 라고 표현한다.
-
ZGrab 사용법
ZGrab 개요
- ZGrab은 고속의, 모듈러방식의 어플리케이션 레이어 취약점 스캐너이다.
- ZMap 프로젝트의 일부이다.
- 아이콘이 카메라이고, 설명이 A Banner Grabber 였던 것을 보아, 원래는 웹 어플리케이션의 톱 페이지 등을 간단하게 확인하는 용도였던 것 같다.
- ZGrab과 ZGrab2가 있다. ZGrab2가 기존의 ZGrab을 대체하므로 ZGrab2 사용이 추천된다(Zgrab은 DEPRECATED 상태이다).
- Turbo Intruder 연구중에 하나의 취약점 체크 페이로드를 대량의 서버를 대상으로 체크하고 싶을 때는 ZGrab 사용을 추천한다는 내용을 보았다.
- (반대로 하나의 서버를 대상으로 대량의 페이로드를 체크하고 싶을 때는 Burp Suite 의 확장 프로그램인 Turbo Intruder를 추천한다고 한다)
- 실제로 사용해보면 속도가 무지하게 빠르다. 수만개 정도의 요청이라면 수분내에 끝난다.
-
Flask 기본 정리
Flask 설치
pip을 이용해서 설치한다. 난 다음과 같이 Pycharm의 패키지매니저(Ctrl+Alt+s)를 사용해서 설치했다.
-
기업목록 크롤링
기업목록 크롤링
각 나라의 주식시장에서 찾는 것도 방법중 하나이겠다.
-
새 블로그 시작!
github 블로그를 만들었다! 앞으로 일하면서 알게된 보안 취약점, 취약점 스캔 툴, 게임 해킹 등에 대한 정보를 정리하려고 한다.