Web 10

JDK21 설치와 환경 변수 설정

JDK21을 설치하는 방법을 알아보겠습니다.JDK(Java Development Kit)는 java 환경에서 돌아가는 프로그램을 개발하는 데 필요한 툴을 모아놓은 소프트웨어 패키지입니다. 1. JDK21 설치오라클 공식 홈페이지에서 JDK21 설치 파일을 다운로드해야 합니다. 아래 링크에 접속해 자신의 운영체제에 맞는 설치 파일을 선택합니다.더보기컴퓨터 사양 확인하는 법 - window 1. 제어판 > 시스템 및 보안 > 시스템 > 밑으로 스크롤 하면 확인 가능 https://www.oracle.com/java/technologies/downloads/#jdk21-windows Download the Latest Java LTS FreeSubscribe to Java SE and get the most..

Web/기초 2025.10.23

[WAF] WAF(웹 방화벽)이란? Firewall, IPS와 차이, 동작 방식, 유형, 배치

1. WAF(웹 방화벽)이란?웹 방화벽(WAF, Web Application Firewall)은 웹 애플리케이션을 대상으로 한 보안 취약점 공격을 방어하기 위해 설계된 전용 방화벽입니다. 이는 악성 HTTP/HTTPS 트래픽 유입을 필터링하여 공격을 탐지하고 차단하는 역할을 수행합니다. 이러한 직접적인 공격 방어 이외에도 다양한 솔루션으로서 사용 가능합니다. 정보 유출 방지웹 게시판이나 파일 업로드/다운로드를 통해 개인정보가 유출될 가능성이 있는 경우, WAF를 활용하면 해당 트래픽을 모니터링하고 차단하여 민감 정보 노출을 방지할 수 있습니다. 부정 로그인 방지반복적인 로그인 시도나 추측 가능한 비밀번호를 이용한 공격과 같은 비정상적인 접근을 탐지하고, WAF를 통해 접근을 차단함으로써 계정 탈취를 예..

Web/웹해킹 2025.10.23

[WAF] OWASP ZAP 기반 웹 취약점 스캔 & 우회 및 보안 실습

해당 환경은 WAF 실습을 위해 직접 제작했음을 밝힙니다.해당 페이지의 취약점을 분석하기 위해 OWASP ZAP을 활용해 취약점 진단을 실시했습니다. 2025.10.23 - [Web/기초] - OWASP ZAP 설치 및 사용법(Active Scan) OWASP ZAP 설치 및 사용법(Active Scan)OWASP ZAP의 설치 방법과 Acrive Scan을 사용법을 알아보겠습니다. OWASP ZAP(Zed Attack Proxy)은 웹 애플리케이션의 보안 취약점을 찾는 데 사용되는 무료 오픈 소스 웹 애플리케이션 보안 스캐너입니다.1. Oluckyd8.tistory.com 테스트 시행 결과를 살펴보면 WAF를 적용했음에도 취약점이 존재하는 것을 확인할 수 있습니다. 1. Content Securit..

Web/웹해킹 2025.10.23

OWASP ZAP 설치 및 사용법(Active Scan)

OWASP ZAP의 설치 방법과 Acrive Scan을 사용법을 알아보겠습니다. OWASP ZAP(Zed Attack Proxy)은 웹 애플리케이션의 보안 취약점을 찾는 데 사용되는 무료 오픈 소스 웹 애플리케이션 보안 스캐너입니다.1. OWASP ZAP 설치OWASP ZAP 공식 홈페이지에서 자신의 운영체제에 맞는 설치 파일을 다운로드 합니다.ZAP – Download ZAP – Download⚠️ Warning - Browsers may flag the ZAP releases as potentially dangerous. There does not appear to be much we can do about this. For more details see Why does my Antivirus Too..

Web/기초 2025.10.23

BootStrap 부트스트랩 설치 및 적용

부트스트랩 (Bootstrap)부트스트랩은 HTML, CSS, JavaScript로 구성된 프론트엔드 프렘임 워크로, 웹사이트의 디자인과 사용자 인터페이스(UI)를 쉽게 구현할 수 있도록 도와주는 도구입니다. 이미 만들어진 디자인 요소를 가져다 쓰기만 하면 되기 때문에 개발 속도가 빠르며, 별도의 CSS/JS 코딩 없이도 바로 사용 가능합니다. 1. 부트스트랩 설치부트 스트랩을 사용하는 방법은 여러가지가 있지만, 이번 글에서는 다운로드 후 로컬에서 사용하는 방식을 중심으로 진행하겠습니다. https://getbootstrap.com/docs/4.4/getting-started/download/ DownloadDownload Bootstrap to get the compiled CSS and JavaScr..

Web/기초 2025.10.23

[Web] Google Cloud에 Docker 이미지 배포하기

로컬에서 실행하던 php 파일을 Docker로 패키징 후 Google Cloud Platform(GCP) 을 통해 업로드 하는 과정을 정리했다. Google Cloud CLI 설치 및 로그인1. gcloud CLI 설치Google Cloud에 접속하여 Docker 이미지를 업로드하려면, Google Cloud CLI(gcloud CLI)를 사용하여 인증을 받아야 한다. 만약 설치되어 있지 않다면, Google Cloud SDK 다운로드 페이지에서 다운로드하여 설치해야 한다. https://cloud.google.com/sdk/docs/downloads-interactive?hl=ko Google Cloud CLI 설치 프로그램 사용 | Google Cloud SDK Documentation이 페이지는..

Web/기초 2025.09.03

[Web] XSS를 이용한 웹 키로깅 공격 실습

실습은 XSS 취약점을 갖도록 구현한 PHP 페이지에서 진행했다.이번 실습은 XSS 취약점을 가진 게시판에 악성 스크립트를 삽입한 뒤, 다른 사용자가 해당 게시글을 열람했을 때 키로거가 작동해 사용자가 입력한 모든 글자를 공격자 서버로 전송하는 것을 목표로 한다. 사용자의 입력값을 공격자가 직접 열람할 수 있게 함으로써 키 입력 감시 및 탈취 등이 가능하다는 보안 문제를 확인할 수 있다. 1. 공격자 서버공격자 서버는 피해자가 입력한 키보드 입력값을 수집하여 저장하는 역할을 한다. 공격자 서버는 사용자로부터 전송된 키 입력 데이터를받아 strokes.txt 파일에 저장해, 실시간으로 조회 가능하도록 기능한다. xampp 환경에서 PHP를 사용해 공격자 서버를 구현했다. 폴더 구조는 다음과 같다. C..

Web/웹해킹 2025.07.21

[Web] 쿠키(Cookie) & 세션(Session)

HTTP 프로토콜은 서버에 요청을 보내면, 서버가 응답한 뒤 연결을 바로 종료하는 비연결지향(Connectionless) 특성을 가진다. 또한, 연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며 상태 정보를 유지하지 않는(Stateless) 특성을 갖는다.이러한 한계를 보완하기 위해 웹에서는 쿠키(Cookie)와 세션(Session)을 사용해 사용자 상태를 유지한다. 쿠키(Cookie) 쿠키(Cookie)는 웹 서버가 사용자의 브라우저에 저장하는 기록 정보 파일이다.Key와 Value로 구성된 문자열 쌍으로 되어 있으며, 서버가 클라이언트에게 쿠키를 발급하면 요청에 포함된 쿠키를 통해 사용자를 식별할 수 있다. 특징저장 위치클라이언트(브라우저)에 저장사용 목적로그인 상태 유지, 사용자 설정 저장, 광..

Web/기초 2025.05.28

[Web] HTML + PHP + MYSQL 로그인 페이지 제작

로그인 페이지 구현의 목적Web에 대한 이해HTML, PHP, MYSQL(DB)의 구성(역할) 이해각 기술의 문법 학습SQL Injection 실습입문자가 이해하기 쉽도록 보안 구조를 배제하고 간결한 형식으로 이루어져 있습니다. 따라서 다음 코드는 보안상 취약한 방식으로 작성되었습니다. (기본 환경)- XAMPP를 통해 Apache와 MySQL 서버를 로컬에서 구동- VS Code(Visual Studio Code)를 코드 편집 로그인 페이지 구성 1) login.html : 웹 페이지의 기본 언어를 영어(en)로 설정: 브라우저의 뷰포트(viewport)를 설정하는 역할width=device-width: 기기의 화면 너비에 맞춰 웹페이지 너비를 설정initial-scale=1.0: 페이지 로딩 시 ..

Web/개발 2025.04.30

[Web] HTTP, HTTPS

1. HTTP(Hyper Text Transfer Protocol): 서버와 클라이언트의 데이터 교환을 요청과 응답 형식으로 정의한 프로토콜- 웹 서버와 클라이언트가 리소스를 교환하기 위해 사용하는 프로토콜리소스: 웹 정보 자산- 클라이언트과 요청하면, 서버가 응답하는 방식 HTTP 메시지: 서버와 클라이언트 간의 데이터가 교환되는 방식 - HTTP 메시지 기본 구조: HTTP 헤더(Headers) + HTTP 바디(Body) HTTP 헤더(Headers): 각 줄은 CRLF로 구분첫 줄은 시작 줄(Start line), 나머지 줄은 헤더(Header)라고 부름HTTP 바디(Body): CRLF 뒤 모든 줄 / 클라이언트, 서버에게 전송하려는 데이터가 바디에 담김💡CRLFCarriage Return..

Web/기초 2025.04.03