전체 글 (28) 썸네일형 리스트형 [Malware] BPFDoor 유사 구현 BPFDoorBerkeley Packet Filter (BPF)를 활용한 백도어 악성코드Classic BPF의 패킷 필터링 기능을 사용BPFDoor에서 사용하는 BPF 필터는 공격자가 단일 네트워크 패킷으로 백도어를 활성화할 수 있도록 함대상 운영 체제에서 BPF가 구현된 방식으로 인해 방화벽에 의해 차단된 경우에도 매직 패킷이 백도어를 활성화 BPFDoor 유사 기능 구현 1. 환경victim : Kali linux - 20.20.20.20attacker : Windows - 10.10.10.10 2. 기본 동작패킷 캡처 + BPF 필터링 + 트리거 감지 + 리버스쉘 오픈 구조의 BPFDoor 작성 미니 BPFDoor패킷 수집 방법socket(AF_PACKET, SOCK_RAW, htons(ETH_P.. [Android] frida-server 에러 해결방법 frida-server 동작 시 아래와 같은 에러 출력됨 {"type":"error","description":"Error: Unable to perform state transition; please file a bug","stack":"Error: Unable to perform state transition; please file a bug\n at bt (frida/node_modules/frida-java-bridge/lib/android.js:578:1)\n at frida/node_modules/frida-java-bridge/lib/class-model.js:112:1\n at Function.build (frida/node_modules/frida-java-bridge/l.. [Cookie Setting] 쿠키 보안 설정 Cookiestateless한 HTTP protocol 에서 stateful 하게 함 Cookie 보안 관련 설정HttpOnlySecureDomainSameSite HttpOnly : JavaScript를 통해 쿠키에 접근하는 것을 금지 (document.cookie 등) Secure : HTTPS 프로토콜을 통해 암호화된 요청에서만 서버로 전송 Domain : 쿠키가 전송될 호스트를 정의, 생략하면 하위 도메인을 포함하지 않고 현재 문서 URL의 호스트로 기본 설정 .test.com / test.com → a.test.com, b.test.com, c.test.com 등에 공유 X a.test.com → a.test.com에만 공유 O, b.test.com, c.test.com 등에 .. [WEB] Python Error Detector 문제 풀이 Python Error Detector Write up난이도 : 2~3 본 포스팅은 드림핵 워게임 - Python Error Detector 의 풀이 입니다. Code Overview- app. py157라인 : ast.parse(**request.json) 를 사용해서 정상적이면 에러가 발생하지 않고160라인 : 문법오류 등으로 인해 exception이 발생하면 traceback.format_exc() 함수가 호출되어 에러메시지를 출력해줌 - secret.pymain() 함수가 실행되어 flag를 출력해주는 코드 - 문제 화면print( 와 같이 입력하여 exception을 발생시키면 메시지가 출력됨→ secret.py 코드를 실행한 것을 이 메시지에 출력되도록 해야할 듯 메시지에 ast.parse(.. [WEB] Simple Note Manager 문제 풀이 Simple Note Manager Write up난이도 : 1 본 포스팅은 드림핵 워게임 - Simple Note Manager 의 풀이 입니다. Code Overviewapp.py 에서 아래 두 부분을 주의깊게 보았다. 123라인 : 작성한 노트가 없으면 에러가 발생함 → 노트 작성125라인 : backup-timestamp 쿠키를 backup_timestamp에 저장, 쿠키값 없으면 현재시각으로 저장됨128라인 : backup_timestamp를 인자로 backup_notes 함수가 호출됨 38라인 : backup_timestamp 값이 필터링 없이 그대로 subprocess.Popen() 함수에 사용됨, shell=True 임→ timestamp을 통해 쉘 명령어를 사용할 수 있음!! The.. [WEB] Paginator v2 문제 풀이 Paginator v2 Write up난이도 : 1 본 포스팅은 드림핵 워게임 - Paginator v2 의 풀이 입니다. 페이지를 보여주는 시스템에서 flag를 찾는 문제다. Step 1 ) 접속하면 /post 경로로 접근하라는 화면이 나온다. Step 2 ) 문제 파일 내 app.py 코드를 살펴본다. Step 3 ) 생각대로 잘 동작한다.SELECT title, content FROM posts WHERE id = 2 Step 4 ) 컬럼 갯수 맞춰서 2 union select 1,2 시도SELECT title, content FROM posts WHERE id = 2 union select 1,2 Step 5 ) flag 획득SELECT title, content FROM pos.. CORS 설정 미흡 CORS란?Cross-site Origin Sharing, 교차 출처 리소스 공유특정 웹 애플리케이션의 리소스를 다른 출처(Origin)에서 요청하고 접근할 수 있도록 하는 웹 브라우저의 기술출처 : 프로토콜+도메인+포트번호, ex) https://yeah3.com CORS 사용 이유SOP(Same Origin Policy, 동일 출처 정책)의 완화API 서버 등 다른 출처의 리소스에 접근해야할 때 요청 헤더Origin : 요청을 전송한 출처를 서버에 알림Access-Control-Request-Method : 실제 요청 시 클라이언트가 사용할 HTTP 요청 메소드를 서버에 알림Access-Control-Request-Headers : 실제 요청 시 클라이언트가 보내게 될 HTTP 헤더를 서버에 알림 응.. [WEB] web-deserialize-python 문제 풀이 web-deserialize-python Write up#!/usr/bin/env python3from flask import Flask, request, render_template, redirectimport os, pickle, base64app = Flask(__name__)app.secret_key = os.urandom(32)try: FLAG = open('./flag.txt', 'r').read() # Flag is here!!except: FLAG = '[**FLAG**]'INFO = ['name', 'userid', 'password']@app.route('/')def index(): return render_template('index.html')@app.route('/.. 이전 1 2 3 4 다음