웹 구성요소
1. Client: 웹 서버에 request할 수 있는 주체
2. HTTP: 정보를 주고 받는 웹 프로토콜, 평문 전송->스니핑 공격에 취약, OSI 7계층에 속함
3. Browser: 클라이언트가 request한 걸 서버에 전달, 서버가 전달한 response를 클라이언트에 시각적으로 보여주는 툴
ex)파이어폭스, 크롬 등
4. Server: request에 따라 HTML 문서 제공, 리소스 관리
5. Web Application: 브라우저에서 접근할 수 있는 프로그램->HTTP에서 동작됨
ex) jsp, php 등
웹 리소스: 서버가 제공하는 자원(resource)
1. 웹 사이트 접속, API 호출 시 제공받을 수 있음
2. 프로그램도 리소스가 될 수 있다
3. 서버 리소스 -> URI = URL+URN, URI를 통해 원하는 리소스에 접근, 정보 리소스를 저장하기 때문에 식별자의 역할
URL: 가장 흔한 리소스 식별자, 리소스에 대한 위치 서술, 사용 프로토콜+리소스가있는주소+원하는리소스
문법: scheme://[userinfo@]host[:port][/path][?query][#fragment]
1. 스키마: 리소스 접근 방법(프로토콜)
2. 사용자 정보: 리소스 접근에 인증 필요 때 작성
3. 호스트: 리소스가 있는 ip주소
4. 포트 번호: 리소스를 가지고 있는 포트 번호(애플리케이션에 할당됨)
5. 경로: 리소스가 존재하는 위치, '/'로 계층적 표현
6. 쿼리 파라미터: 서버가 받는 파라미터와 변수 받음, '&'으로 구분
7. 프레그먼트: 리소스에서 특정 부분 가리킬 때
정적 파일: 미리 저장된 파일, 고정적
동적 파일: 실시간으로 변경되는 파일, 서버가 request에 따라 데이터 생성한 웹페이지 제공
CSRF(Cross Site Request Forgery): 클라이언트 의지와 무관하게 공격자 의도대로 웹사이트 request
1. CSRF 스크립트 포함된 게시물 등록
2. 클라이언트가 그 게시물을 열람하면
3. request와 response
4. 스크립트 실행
CSRF 방어
- referer 체크: referer로 request를 보낸 페이지 정보 확인
- GET/POST 요청 구분: img-> GET, form->POST로 요청 구분
- Token: 암호화된 token 발급-> request마다 token으로 서버 검사
- 추가 인증 수단
CSRF와 XSS의 차이
| CSRF | XSS | |
| 공통점 | 악성 스크립트가 심어진 페이지 접속 | |
| 목적 | HTTP request 보냄 | 세션, 쿠키 탈취 |
| 공격 대상 | 서버 | 클라이언트 |
SSRF(Server Side Request Forgery): 위조된 HTTP request로 서버 내부 리소스 접근->유출
1. 해커가 브라우저를 통해 위조된 request
2. 서버 내부망에서 비정상 요청이 처리됨
3. 리소스 유출
*website translator, Image viewer, document reader, web crawler, URL previewer 겨냥
'SWING > web hacking' 카테고리의 다른 글
| SWING WEB 4주차(1) (0) | 2023.11.12 |
|---|---|
| SWING WEB 4주차(2) (0) | 2023.11.12 |
| SWING WEB 3주차(2) (0) | 2023.09.26 |
| SWING WEB 2주차(2) (0) | 2023.09.19 |
| SWING WEB 2주차(1) (0) | 2023.09.19 |
