HOME
home
CV News
home

CORS exploit

속성
WEB
날짜
CORS(Cross-Origin Resource Sharing)
CORS는 교차 출처 리소스 공유 쉽게 말해 서버간 리소스 공유를 하기위한 메커니즘이다.
요청은 cross-origin HTTP에 의해 요청되지만
동일 출처 정책(same-origin policy)때문에 기본적으로 외부 서버에 대한 요청은 보안
목적으로 차단된다.
워드프레스 5.2.4 이하 버전에서 허용되지 않은 CORS가 발생하였고 이 취약점은
2019년 10월 29일 Exploit-db.com에 공식 기재 되었다.
상세 설명에서는 /wp-json 파일이 리소스가 된다 라고 설명 되어있다.
앞서 설명하듯 CORS는 동일출처 정책에 의해 스크립트로부터의 데이터 접근을 차단하고 공유 되어서는 안된다.
어떤 데이터가 공유되냐에 따라 취약점의 영향도는 천차 만별이다.
취약점 테스트는 워드프레스 5.2 버전을 다운받아 진행 되었다.
공격 대상 워드프레스 : localhost, 192.168.219.102
공격자 : 192.168.252.128
위 그림 같이 /wp-json 페이지를 요청할 시 서버의 응답으로 Access-Control-Allow에 대한 정보를 보여주고 있다. Cross-origin HTTP 요청에 대한 응답이 허용될 경우 리소스를 공유 받을 수 있다.
위 그림과 같이 요청 헤더에 origin으로 공격자의 서버 IP를 삽입하여 요청한 경우
Corss-origin HTTP가 허용되어 있어 응답 값에 요청한 서버에 대해 리소스 공유 및 모든 메소드를 허용 하고 있다.
리소스 공유가 가능하다는 것을 확인 하였으니 리소스를 받아들일 페이지가 필요하다.
공격코드 출처는 해커원에서 받아와 약간 변경하여 사용 하였다.
소스코드를 간략히 설명하면, 버튼을 클릭하게 되면 해당 서버의 상태코드를 확인하고 화면에 출력하게 된다.
버튼을 클릭하면 /wp-json의 리소스를 동일하게 공유받아 화면에 출력 하는것을 확인할 수 있다.