본문 바로가기
  • Trace
카테고리 없음

XSS CSRF SSRF

by seleuchel 2022. 4. 28.

XSS

- 스크립트를 웹사이트에 주입한다. (javascript)

- 사용자가 특정 웹사이트를 신용하는 점 이용

- Client 대상 공격

ex) XSS를 통한 iframe으로 Drive by Download 공격 유발, 사용자 쿠키 정보 공격자 서버로 전송 등 

 

ㄴ종류 : 

- Stored XSS : 악의적 스크립트가 서버의 데이터베이스에 저장되어, 누군가가 열람할 때마다 실행. 보통 게시글을 통함

- Reflected XSS : 사용자가 접속할 때, 열람시 바로 실행됨. (요청에 따른 응답) 일반적인 예시로, 로그인 시, "00님 안녕하세요~" 라는 문자열을 예시로 들 수 있음

 

ex) <img src=

ex) <a href="javascript:window.location.href"='url'">

 

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

- 사용자가 요청하지 않은 정보 처리 

- 웹 애플리케이션이 사용자의 브라우저를 신용하는 점

- 서버자체의 요청을 모니터링

- 정상적인 요청과 비정상적인 요청을 웹 애플리케이션이 구분하지 못하는 경우, 조작된 요청을 전송하도록 하는 공격

- Server, 웹 애플리케이션을 사용하는 사용자 대상 공격

- 변조된 요청을 웹 브라우저(Client)가 보냄 

- 공격자는 피해자의 웹 브라우저에서 자신이 조작한 패킷을 웹 애플리케이션 서버로 전달 

- 거점이 CLIENT 

ex) tomcat으로 구동되는 웹서버의 관리자에게 CSRF를 수행하여 (웹 서버에 조치를하고, 관리자가 접속할 수 있도록 미끼를 둔다), 관리자의 권한으로 서버를 셧다운

ex) CSRF를 수행할 수 있는 코드가 저장된 게시글이 있다. 이 악성코드는 게시글을 열람한 사용자의 권한으로 "메롱" 이라는 게시글을 생성할 수 있다. 사용자 지우(j222u)는 해당 게시글을 열람하였고, j222u가 작성자로 된 "메롱"이라는 게시글이 생성되었다. 그러나, 이것은 지우가 생성한 글이 아니다. 

 

SSRF (Server Side Request Forgery) : 서버측 요청위조 (OWASP TOP 10 2021)

- 웹 서버 공격

- 변조된 요청을 웹 애플리케이션이 보냄 (공격자 악의명령 -> 애플 -> 로컬에서 수행)

- 웹 애플리케이션이 사용자가 제공한 URL의 유효성을 검사하지 않고 원격 리소스를 가져올 때 발생 

- 서버를 직접 호출!

- 서버 내부의 /etc/passwd는 외부에서 직접 접근이 불가하지만, 웹애플리케이션이 /etc/passwd에 접근하도록 하면 접근이 가능!

- 거점이 서버

- 변조된 요청을 웹 애플리케이션이 보냄 

ex) 127.0.0.1/../../../../../../../../../../../etc/passwd   [[ 루프백 주소

- 클라우드 내에 이 방식으로 접근하여 클라우드 설정 변경 등 수행

 

ex) 공격자가 입력하는  url을 내부 서버 주소로 변경 여러뭄

 

ㄴ 관련사고 

- 캐피털 원(Capital One) 데이터 침해 사건

 

ㄴ방어

- URL 주소에 대한 필터링 방법을 사용 

 

 

 

방어

- 애플리케이션 실행 권한은 관리자가 아닌, 최소 권한으로 실행 

- 입력값 검사

 

 

 

궁금증 

1) <img src="js ">

 

 

참고자료

https://www.itworld.co.kr/howto/211794

https://blog.alyac.co.kr/4135

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=aepkoreanet&logNo=221567575013