본문 바로가기

분류 전체보기

(1196)
[Webhacking] [client-side advanced] CSRF 잘못된 CSRF Token 생성 CSRF 방어 중 CSRF Token은 같은 Origin에서만 접근 가능한 형태로 특정 토큰을 저장해 제 3자가 아닌 사용자로부터 요청이 왔다는 것을 인증할 수 있는 방법. CSFR Token 값은 보통 HTML Form의 hidden 필드로 입력되나, 동적 요청에서도 사용 가능.
[Webhacking] [client-side advanced] CSP CSP (content security policy) 는 XSS 공격이 발생했을 때 그 피해를 줄이고 웹 관리자가 공격 시도를 보고받을 수 있도록 하는 기술. 웹 페이지에서 사용될 수 있는 자원이나 위치 등에 제약을 걸어 공격자가 웹 사이트에 본래 있지 않던 스크립트를 삽입하거나 공격자에게 권한이 있는 서버 등에 요청을 보내지 못하도록 막을 수 있음. XSS의 공격 피해를 완전히 무력화 시키는 방법은 아님 CSP 헤더는 1개 이상의 정책 디렉티브(지령)가 세미콜론 ; 으로 분리된 형태로 이루어져있음. 정책 디렉티브는 지시어 종류 (default-src , script-src) 1개 이상의 출처 ('self', https: , *~~.~~) 가 스페이스 형태로 구분 페이지 내부의 자원들이 같은 Origin..
[Webhacking] [client-side advanced] XSS XSS 방어 방법 가장 확실한 방법 : HTML 태그나 엔티티 자체를 입력하지 못하도록 하고, 대신 입력을 서식 없는 평문으로 취급. 서버 측에서는 , & 와 같은 특수 문자들을 Escape 클라이언트 측에서는 DOM의 textContent, createTextNode 등을 사용해 HTML 태그 등이 해석되는 것을 방지. 배경 팀 버너스리 (Tim Berners-Lee)가 창시한 HTML은 SGML(Standard Generalized Markup Language) 을 바탕으로 함. XML (다목적 마크업 언어) 또한 SGML 기반. XML은 규칙을 엄격화하되 문법을 단순화하였으나, HTML은 문서 작성 편의를 초점으로 둔 기능을 상당 수 유지함으로써 문법이 복잡해짐. 이에 따라 HTML 해석..
[wargame] pathtraversal https://dreamhack.io/wargame/challenges/12/ pathtraversal 사용자의 정보를 조회하는 API 서버입니다. Path Traversal 취약점을 이용해 /api/flag에 있는 플래그를 획득하세요! Reference Server-side Basic dreamhack.io source #!/usr/bin/python3 from flask import Flask, request, render_template, abort from functools import wraps import requests import os, json users = { '0': { 'userid': 'guest', 'level': 1, 'password': 'guest' }, '1': { 'us..
[wargame] devtools-sources https://dreamhack.io/wargame/challenges/267/ devtools-sources 개발자 도구의 Sources 탭 기능을 활용해 플래그를 찾아보세요. Reference Tools: Browser DevTools dreamhack.io 소스 필요없음. 개발자 도구를 통해 flag 획득하는 노가다 문제였다. 모든 파일을 직접 하나하나 여는게 불편하니 개발자 도구의 source 탭 활용하여 load 후에 파일시스템을 통해 확인.
[Webhacking] Misconfiguration 잘못된 설정 (misconfiguration)취약점은 웹 서버 (apache, nginx) , 데이터베이스 서버 (mysql, postresql, mongodb) 캐시 서버 (redis), 웹 프레임워크 (django, sprong), 컨테이너 (Docker, K8S) 등 모든 웹 어플리케이션 계층에서 발생할 수 있음. 잘못된 설정으로 공격자는 허가되지 않은 동작을 수행할 수 있음. 부주의로 인해 발생하는 문제점 메뉴얼에 존재하지 않은 설정이거나 개발자의 부주의로 인해 설정 유무를 알지 못한 상태에서 서비스를 할 경우 자주 발생 권한 설정 문제 잘못된 권한 설정 웹 서버 운용 시스템, 어플리케이션에서 필요 이상의 권한을 부여하는 경우 문제 발생. 서비스를 운용하는 OS의 사용자 권한이 유저 계정이 아닌 ..
Interactive cube 보호되어 있는 글입니다.
[wargame] image-storage https://dreamhack.io/wargame/challenges/38/questions image-storage php로 작성된 파일 저장 서비스입니다. 파일 업로드 취약점을 이용해 플래그를 획득하세요. 플래그는 /flag.txt에 있습니다. Reference Server-side Basic dreamhack.io index.php Image Storage Home List Upload Upload and Share Image ! list.php Image Storage Home List Upload