글 목록

  • 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-XSSPrototype 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 메모

    개요

  • 유니코드 개념, 변환 코드 정리

    유니코드 개요

    • 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

    개요

    • CORS에 관련된 취약점이다.
    • CORS 취약점에 대한 설명은 여기
    • 문제 주소: : https://portswigger.net/web-security/cors/lab-internal-network-pivot-attack
    • 난이도: EXPERT (어려움)

  • Dom-based XSS 정리

    개요

    • Dom-based XSS 를 검사하는 방법을 정리한다.
    • 특히 특정 jquery 라이브러리를 사용하고 있는 경우에 검사하는 방법을 정리한다.

  • Burp Academy-CORS 취약점: CORS vulnerability with trusted insecure protocols

    개요

    • CORS에 관련된 취약점이다.
    • CORS 취약점에 대한 설명은 여기
    • 문제 주소: : https://portswigger.net/web-security/cors/lab-breaking-https-attack
    • 난이도: PRACTITIONER (보통)

  • 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

    개요

    • CORS에 관련된 취약점이다.
    • CORS 취약점에 대한 설명은 여기
    • 문제 주소: : https://portswigger.net/web-security/cors/lab-null-origin-whitelisted-attack
    • 난이도: APPRENTICE (쉬움)

  • Burp Academy-CORS 취약점: CORS vulnerability with basic origin reflection

    개요

    • CORS에 관련된 취약점이다.
    • CORS 취약점에 대한 설명은 여기
    • 문제 주소: : https://portswigger.net/web-security/cors/lab-basic-origin-reflection-attack
    • 난이도: APPRENTICE (쉬움)

  • 동일출처정책(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 분석

    개요

  • 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 Identificationmix-up attacks라는 공격에 대한 대책이라고 한다.
    • 간단히 말하자면, 복수의 IdP를 통해 OAuth를 수행하는 환경에서, 인가서버가 인가 응답에 iss라는 파라메터로 인증서버의 DNS 도메인 값(Authorization Server의 issuer값)을 회신해주는 방법인 것 같다.
    • 유저입장에서는 정당한 인증서버에서 리다이렉트 된 것인지 iss값을 확인하면 알 수 있다.

  • 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 헤더를 적용하는 패턴을 몇 개 정리해둔다.
    • 인라인 스크립트를 사용하는 경우와 별도 스크립트 파일로 분리하는 경우를 테스트해본다.
    • 테스트도구: html페이지, js파일, nginx웹서버
    • 테스트일자: 2023년 2월 21일
    • 테스트 브라우저: 크롬 Version 110.0.5481.104 (Official Build) (64-bit)

  • Burp Academy-서버사이드 프로토타입 오염(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
    • 프로토타입 폴루션 설명 주소
      1. https://portswigger.net/web-security/prototype-pollution
      2. 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
    • 프로토타입 폴루션 설명 주소
      1. https://portswigger.net/web-security/prototype-pollution
      2. https://portswigger.net/web-security/prototype-pollution/browser-apis
    • 난이도: PRACTITIONER (중간)

  • DB정보로부터erd만들어내기

    개요

    • 이미 만들어진 DB에서 erd를 만들어내는 방법이다.
    • erd파일을 찾을 수 없을 때 사용하면 편리하다.
    • MySQL Workbench의 기능을 이용한다.

  • Burp 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
    • 프로토타입 폴루션 설명 주소
      1. https://portswigger.net/web-security/prototype-pollution
      2. 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
    • 프로토타입 폴루션 설명 주소
      1. https://portswigger.net/web-security/prototype-pollution
      2. https://portswigger.net/web-security/prototype-pollution/finding
    • 난이도: PRACTITIONER (중간)

  • 일본에서 인감등록하기

    개요

    일본에서 외국인이 인감등록하려면 경우데 따라서는 절차가 조금 복잡해질 수도 있다. 내 경우에는 이것저것 많이 복잡했기 때문에 정리해둔다.

  • 일본에서 사용하는 도장 종류

    개요

    일본에서는 개인이 사용하는 도장이 적어도 중요도에 따라 적어도 세 종류 있다.

    1. 미토메인(認印) : 우리나라로 치면 막도장이다. 내가 이거 확인했다 라는 용도다. 주로 회사에서 자주 사용한다. 내가 이 문서 확인했다는 용도 등. 중요도는 가장 낮다.
    2. 깅코우인(銀行印, 은행인): 은행업무에 사용한다. 미토메인보다는 더 중요하다.
    3. 지츠인(実印, 실인): 우리나라로 따지면 인감 도장이다. 관청에 인감등록해서 사용한다. 매우 중요한 부동산업무, 사업상업무 등에 사용한다고 한다.) 가장 중요한 도장이다. 절대로 아무한테나 넘겨주어는 안된다.

  • 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 블로그를 만들었다! 앞으로 일하면서 알게된 보안 취약점, 취약점 스캔 툴, 게임 해킹 등에 대한 정보를 정리하려고 한다.