MetaCODING

웹 서비스 주요 해킹 기법 - SSRF(Server-Side Request forgery) 본문

보안

웹 서비스 주요 해킹 기법 - SSRF(Server-Side Request forgery)

METACODING 2023. 9. 8. 09:05
728x90
반응형

SSRF(Server-Side Request forgery)

일반적으로 외부에서도 접근 가능하도록 웹 서버를 운영하는 조직은

공인 IP 주소를 부여하여 인터넷에 공개한다.
반면,

조직 내부에서 사용하는 서버는

방화벽을 통해 외부 접근을 막거나 내부에서만 사용가능한 사설 IP를 할당한다.

외부에서는 웹 서버만 접근이 가능하지만

웹 서버 내에서는 동일한 로컬 네트워크에 속해 있는 내부망들로 접속할 수 있다.
웹서버가 SSRF취약점이 있다면 공격자는 웹 서버를 통해 조작된 요청을

내부망으로 보내고 내부망에서는 신뢰하는 접근이기 때문에 정상적으로 요청에 대한 응답을 보낸다.
이때, 공격자는 취약한 웹 서버를 통해 내부망의 응답 결과를 확인할 수 있다.


외부에서도 접근이 가능한 외부망과 내부에서만

접근이 가능한 내부망이 존재할 때, 외부망에 위치한 공격자는

내부망으로 직접 접근할 수 없지만 공격자는 내부망에 위치한 서버의 정보를 탈취하고자 사용하는 방법이다.

Tip

1. 파라미터의 내용이 URL 형식인 경우 http://localhost, file:/// 등을 활용하여 점검한다.(우회 포함)

2. 점검 대상의 서버가 다른 서버의 리소스를 요청할 때 요청의 내용을 변조한다.

3. 로컬호스트, 내부망을 대상으로 변조한다.

4. 일반적으로 접근 권한이 없는 대상의 내부사설망의 민감정볼르 노출하기 위해 활용된다.

 

실 습

(1)실습 환경이 구성된 http://10.200.xx.20:8000 = http://127.0.0.1 또는 http://127.0.0.1:80은 같다.

80은 되고 8000은 안되는 이유는 8000에서 80이 포트포워딩 된 것이기 때문이다.

(2) file_get_content.php로 들어가

http://127.0.0.1 또는 localhost, local.txt를 입력해준다.

https://url.kr/9ihrzb

 

CSRF(Cross Site Request Forgery) 공격이란?

해커의 공격의 종류 중 대표적인 세가지가 있다. 1. XSS(Cross-Site-Scripting) attack 2. SQL-Injection attack 3. Buffer-Overflow attack 1. XSS attack 어플리케이션에서 다양한 기능을 위해 Server에서 수행하는 작업 말고

metacoding.tistory.com

정리하자면,

CSRF는 클라이언트 사이드로써

공격자가 사용자의 권한으로 악의적인 요청을 하도록 하는 것이다.

e.g. 사용자가 게시글 클릭 시 사용자의 패스워드를 '1234'로 변경하는 요청을 하도록 함.

 

SSRF는 서버 사이드는

서버 측에서 요청을 위조하면서 발생한다.

주로 공격의 목표가 파괴보다는 정보 수집이다.

e.g. 내가 A서버의 내부네트워크 내에 있는 다른 서버 B에 접속하려고 하면

그 서버의 내부주소를 알더라도 당연히 접속이 불가능하고 URL에 검색해도 아무것도 뜨지 않는다.

하지만 나와 통신하는 서버인 A는 B서버에 접근할 수 있기 때문에 A서버를 통해 B서버의 정보를 수집할 수 있다.

728x90
반응형