2025/12 6

(ubuntu) github repository 을 ssh 로 액세스

1. git 을 인스톨sudo apt install git 2. 유저설정git config --global user.name 사용자이름git config --global user.email 사용자 이메일 주소 3. ssh-key 공개키 작성ssh-keygen -t rsa -C "메일 주소" 디폴트 옵션으로 작성하면 아래의 폴더에 ~/.ssh/id_rsa.pub 가 생성 4. 공개키를 클립보드에 복사일단 클립보드 복사 툴을 설치sudo apt update sudo apt install xclip 공개키 복사cat ~/.ssh/id_rsa.pub | xclip -selection clipboard 5. 4에서 복사한 공개키를 자신의 github 에 설정github.com 에 로그인settings >> SS..

CSRF(일부XSS포함) 방지책 (ReactJS + Flask)

🛡️ Flask API 서버: HttpOnly와 CSRF 토큰으로 XSS/CSRF 동시에 방어하기React와 같은 프론트엔드와 연동되는 Flask API 서버에서 가장 흔한 두 가지 웹 보안 위협, XSS(Cross-Site Scripting)와 CSRF(Cross-Site Request Forgery)를 어떻게 효과적으로 방어하는지 코드와 함께 설명합니다.우리가 살펴본 Flask 코드는 'Double Submit Cookie' 또는 'Synchronizer Token Pattern'을 기반으로 하며, 강력한 쿠키 옵션을 활용하여 보안을 구축합니다.1. 🔑 XSS 방어의 핵심: HttpOnly 쿠키XSS 공격의 주요 목적은 사용자 브라우저에 삽입된 악성 JavaScript를 통해 세션 쿠키를 탈취하는..

Web Security 2025.12.02

XSS 방지책 (Express.js)

🛡️ Express.js (API Only) XSS 방지 대책1. 📝 입력 데이터 정제 (Input Sanitization)사용자 입력(JSON, 쿼리 파라미터 등)을 데이터베이스에 저장하거나 응답으로 보내기 전에 악성 HTML이나 스크립트 코드를 제거합니다.✅ 샘플 코드: dompurify와 jsdom을 사용한 정제Express 환경에서는 브라우저 환경에서 사용되는 **dompurify**를 서버 측에서 실행하기 위해 **jsdom**과 함께 사용하거나, **sanitize-html**과 같은 라이브러리를 사용합니다. 여기서는 널리 사용되는 **sanitize-html**을 사용합니다.Bash # 💡 라이브러리 설치npm install sanitize-html expressJavaScript co..

Web Security 2025.12.02

XSS 방지책 (Flask)

🛡️ Flask (CRUD API Only) XSS 방지 대책API 서버에서 가장 중요한 XSS 방지책은 클라이언트 측에서 예상치 못한 방법으로 스크립트가 실행되는 것을 막는 것입니다.1. 📝 입력 데이터 정제 (Input Sanitization)Flask가 사용자로부터 받은 데이터를 데이터베이스에 저장하기 전, 또는 응답으로 보내기 전에 잠재적인 악성 HTML/스크립트 코드를 제거하는 과정입니다.✅ 샘플 코드: bleach 라이브러리 사용파이썬에서는 bleach와 같은 라이브러리를 사용하여 사용자 입력에서 HTML 태그와 속성을 안전하게 제거할 수 있습니다.Bash # 💡 라이브러리 설치pip install bleachPython import bleachfrom flask import Flask,..

Web Security 2025.12.02

XSS 방지책 (ReactJS)

1. 🛑 dangerouslySetInnerHTML의 위험성React의 자동 이스케이프 기능을 무력화시키고 사용자 입력에 대한 XSS 공격을 허용하는 코드입니다.JavaScript // 사용자 입력(악성 스크립트)이라고 가정const userInput = ""; function RiskyComponent() { return ( // ❌ 경고: 자동 이스케이프가 비활성화되어 스크립트가 실행됩니다. );}2. ✅ 안전한 대안: DOMPurify를 사용한 HTML 정제신뢰할 수 없는 HTML을 렌더링해야 할 경우, DOMPurify 라이브러리를 사용하여 **악성 코드를 제거(정제/Sanitize)**한 후 삽입해야 합니다.Bash # 💡 DOMPurify 설치 (React 프로젝트에서)np..

Web Security 2025.12.02

CSRF (Cross-Site Request Forgery) attack

🔐 CSRF 공격이란?CSRF(Cross-Site Request Forgery, 사이트 간 요청 위조)는 사용자가 원하지 않는 요청을 자신의 계정으로 보내게 만드는 공격입니다.조금 어렵게 들리지만, 한 문장으로 정리하면 이렇습니다:“내 로그인 상태를 악용해서, 공격자가 시킨 행동을 내가 한 것처럼 서버에 보내는 공격”예를 들어, 내가 은행 사이트에 로그인한 상태라면, 공격자는 나를 속여 내 계정으로 돈을 보내거나, 비밀번호를 바꾸는 요청을 자동으로 실행시킬 수 있습니다.💥 실제로 어떻게 공격이 일어날까? (간단 예시)📌 상황 설정당신은 A 은행 사이트에 로그인한 상태새 탭에서 뉴스 사이트를 열어 기사 하나를 클릭하지만 그 뉴스 사이트 안에는 공격자가 몰래 심어놓은 HTML 코드가 들어 있음📌 공격..

Web Security 2025.12.02