카테고리 없음

23.03.28 ECOPS Week3 Web Hacking(1)

Doo Nut 2023. 3. 28. 19:38

정규세션 정리

 

Https : TLS 이용한 암호화 (HTTP: plain text)

 

HTTP 특징:

- Connectionless (하나의 요청에 하나의 응답/요청마다 새로운 연결)

- Stateless (통신 끝난 후 상태 정보 저장 않음)

→ 사용자의 정보를 저장할 수 없으므로 불편함

 

쿠키: 클라이언트의 정보 기록 및 상태 정보 표현

- 인증 상태 나타내는 민감한 정보 보관(브라우저 내부 저장)

- 쿠키는 웹 서비스에 접속시 헤더에 포함되어 전송됨 → 클라이언트가 저장하고 있으므로 이용자가 수정, 변환이 가능함

 

세션: 인증 정보

- 서버에 저장

- SessionID를 브라우저에 저장하고 HTTP request 시 키값 사용, 서버는 이를 대조해보고 인증 상태 확인

 

cf down below. https://portswigger.net/web-security/cors

 

SOP (Same Origin Policy)

같은 Orgin 의 서버만 

→ 

cf. https://portswigger.net/web-security/cors/same-origin-policy

 

CORS (Cross Origin Resource Sharing)

browser mechanism which enables controlled access to resources located outside of a given domain

 

cf. https://portswigger.net/web-security/cors

 

What is CORS (cross-origin resource sharing)? Tutorial & Examples | Web Security Academy

In this section, we will explain what cross-origin resource sharing (CORS) is, describe some common examples of cross-origin resource sharing based attacks, ...

portswigger.net

 

Access Control - Allow - origin / method / credential(Cookie의 사용 여부) / Headers(Header의 사용 가능 여부)

- 다른 Origin끼리 정보를 주고받을 수 있게 된다?

 

Client-Side → Server의 정보 처리 양 감소, 부담 줄어듦

Server-Side → 제공자 측에서 즉시 처리(java, php, html, css, javascript), Client data 위조의 가능성 감소

 

Brute Force: 무차별 대입 공격

Dictionary Attack: 사전에 있는 단어 순차적으로 입력

XSS(Cross Site Scripting) - Reflected, Stored, Dorm-based, Hybrid 

 

CSRF (Cross Site Request Forgery): 사이트 간 요청 위조

- 사용자가 피싱 링크를 클릭하는 시점에 로그인이 되어있어야 함(세션 쿠키가 자동으로 포함되기 때문)

 

Client-side 공격이 흔하다.

 

SQL Injection

- Where 구문 공격: ID='1' or '1'='1' (OR 연산자를 이용, '1'='1' 무조건 참이므로 SQL 값 리턴)

 

LABS

https://portswigger.net/web-security/all-labs#cross-origin-resource-sharing-cors

 

All labs | Web Security Academy

Mystery lab challenge Try solving a random lab with the title and description hidden. As you'll have no prior knowledge of the type of vulnerability that ...

portswigger.net

 

정규 세션 질문/답

 

1.  22번 포트를 사용하는 10.0.2.5 주소를 갖는 서버에 netcat을 사용하여 접속한 사진을 첨부하시오.

netcat 다운로드 시도시 백신 문제로 인해 어떻게해야할지 모르겠어 완수하지 못했습니다..

추후에 다시 시도해보고 업데이트하겠습니다. 죄송합니다.


2. 쿠키를 이용한 공격 종류를 찾아서 공격 사례와 함께 설명하시오.

XSS(Cross Site Scripting): 웹사이트에 삽입된 악성 스크립트를 통해 공격하는 방식

- 공격자가 웹 리소스에 악성 스크립트를 삽입해 이용자의 웹 브라우저에서 해당 스크립트를 실행하는 것 XSS 취약점을 통해 특정 계정의 세션 정보를 탈취하고, 해당 계정으로 임의의 기능을 수행하는 악성 행위를 수행할 수 있다

 

사례: 2010 Twitter Xss / 2013 Evernote Xss

 

CSRF(Cross Site Request Forgery): 

- 사이트 간의 요청을 위조

- 이용자를 속여서, 의도치 않은 요청에 동의하게 하는 공격

   → 가짜 웹 페이지를 만들어서 이용자의 입력을 유도하고, 이용자가 값을 입력하면 이를 은행이나 중요 포털 사이트 등으로 전송하여 마치 이용자가 동의한 것 같은 요청을 발생시킴

        공격자는 이용자의 권한을 탈취하여 해당 권한으로 서비스 기능을 사용해 이득을 취할 수 있다.


사례: 2013 Yahoo Mail CSRF / 2015 Facebook CSRF / 2018 Google CSRF

 


3. 세션을 이용한 공격 종류를 찾아서 공격 사례와 함께 설명하시오.

Session Hijacking공격자가 세션 ID를 탈취, 다른 사용자로 위장하여 웹 사이트에 접근

- 공격자는 네트워크 스니핑, XSS와 같은 방법으로 세션 ID 탈취, 해당 세션 강제로 인증

 

2011년 발생, 국내 은행들의 인터넷 뱅킹 시스템 도입과 함께 금융 거래 중 공격자가 공용 와이파이를 통해 고객의 세션 ID 탈취, 계좌에 접근하여 금융 거래를 조작한 사건.

 

Session Fixation: 미리 생성한 세션 ID를 사용자에게 전달하여 해당 사용자의 로그인 상태 제어

- 주로 session ID를 URL 매개변수나 쿠키 등을 이용하여 전달하는 웹사이트 공격시 사용.

 

Session Sniffing: 공격자가 네트워크에서 데이터를 가로챈 후 해당 데이터에서 세션 ID를 추출하여 세션 탈취

- 많은 사용자가 이용하는 공공장소의 네트워크를 이용하여 사용자의 세션 정보 가로챔

 

2014 FED(미국 연방준비제도)의 보안 취약점을 이용하여 네트워크에 접속, 시스템에서 사용되는 세션 정보를 탈취한 사례가 있다.

 

- 정규 세션 자료 참조

 

4. 프로그래머스 11문제

 

5. Portswigger 문제

Solution 영상을 보고 따라해봤으나 API key를 얻는 데까지는 하지 못했습니다. 시도해보고 추가 업데이트 하겠습니다.