❓ 문제 확인

webpack을 아시나요??
webpack 관련문제인가보다
📃 풀이

문제에 접속해보니 오리에 관한 이야기만하고 별다른 단서는 없다
개발자도구로 소스코드를 확인해보자

이번에는 소스코드에도 별다른 단서는 없는것 같다??

폴더를 보던중 webpack 관련 폴더들과 문서들이 노출되어있는걸 확인했다

폴더를 열심히 뒤지던중에 먼가 단서?로 보이는 듯한 파일이 보인다 확인해보자

?? 너무 쉽게 생각했나
여기도 별다른 단서는 없는듯 하다?
한참 삽질하다 webpack의 취약점에 대해 검색해보았다

해석해보자면
webpack-dev-server 3.1.6 이전 버전의 lib/Server.js에서 문제가 발견되었습니다. HMR(Hot Module Replacement)에 사용되는 WebSocket 서버에서 요청의 출처를 확인하지 않기 때문에 공격자가 개발자의 코드를 훔칠 수 있습니다. 모든 출처에서 ws://127.0.0.1:8080/ 연결을 통해 WebSocket 서버가 보낸 HMR 메시지를 누구나 받을 수 있습니다.
라고한다
아마도 webpack 의 폴더가 노출되는 취약점? 을 이용해야 할듯하다
하지만 이미 webpack 의 모든폴더를 뒤져봤는데 별다른 단서를 얻을수는 없었다
그러던중 source Map 에 대해 알게되었다
요즘에 많이 사용하는 React 등등의 프레임워크를 사용해서 서비스를 하면 실제 브라우저를 통해 js를 보면 Webpack에 의해서 많이 압축되어있다. 요런 압축되어 있는 소스와 원본 소스를 매핑시켜주는 맵이라고 생각하면된다.
압축한걸 왜 다시 매핑해주냐면 실제 서비스에서 에러가 발생하면 압축되고 난독화 되어있기 때문에 디버깅 하기가 되게 난해하다. 그런걸 방지하기 위해서 Source Map이 있다고 생각하면 편할듯하다...?
(참고 : https://woowah.tistory.com/22)
처음으로 돌아가서

다시보니
<link href=./static/css/app.f213bed71a5d27ded35fdf00a1963840.css rel=stylesheet>
와 같이 압축되어 있는 소스에 링크가 걸려져있는걸 볼수 있다
위의 폴더로 들어가 보자

달달한 냄새가 풍긴다
다시 뒤져보자
app.a92c5074dafac0cb6365.js.map 파일에서 드디어 단서를 얻었다

flag를 획득!!

끝~~
🔖새로 알게된 내용
1.webpack
2.source Map 이란?
'Wargame > root-me.org' 카테고리의 다른 글
[root-me.org] web - Server : HTTP - IP restriction bypass (0) | 2022.08.25 |
---|---|
[root-me.org] web - Server : HTML - Source code (0) | 2022.08.24 |
[root-me.org] web - Client : Javascript - Native code (0) | 2022.08.23 |
[root-me.org] web - Client : Javascript - Obfuscation 2 (0) | 2022.08.23 |
[root-me.org] web - Client : Javascript - Obfuscation 1 (0) | 2022.08.23 |
❓ 문제 확인

webpack을 아시나요??
webpack 관련문제인가보다
📃 풀이

문제에 접속해보니 오리에 관한 이야기만하고 별다른 단서는 없다
개발자도구로 소스코드를 확인해보자

이번에는 소스코드에도 별다른 단서는 없는것 같다??

폴더를 보던중 webpack 관련 폴더들과 문서들이 노출되어있는걸 확인했다

폴더를 열심히 뒤지던중에 먼가 단서?로 보이는 듯한 파일이 보인다 확인해보자

?? 너무 쉽게 생각했나
여기도 별다른 단서는 없는듯 하다?
한참 삽질하다 webpack의 취약점에 대해 검색해보았다

해석해보자면
webpack-dev-server 3.1.6 이전 버전의 lib/Server.js에서 문제가 발견되었습니다. HMR(Hot Module Replacement)에 사용되는 WebSocket 서버에서 요청의 출처를 확인하지 않기 때문에 공격자가 개발자의 코드를 훔칠 수 있습니다. 모든 출처에서 ws://127.0.0.1:8080/ 연결을 통해 WebSocket 서버가 보낸 HMR 메시지를 누구나 받을 수 있습니다.
라고한다
아마도 webpack 의 폴더가 노출되는 취약점? 을 이용해야 할듯하다
하지만 이미 webpack 의 모든폴더를 뒤져봤는데 별다른 단서를 얻을수는 없었다
그러던중 source Map 에 대해 알게되었다
요즘에 많이 사용하는 React 등등의 프레임워크를 사용해서 서비스를 하면 실제 브라우저를 통해 js를 보면 Webpack에 의해서 많이 압축되어있다. 요런 압축되어 있는 소스와 원본 소스를 매핑시켜주는 맵이라고 생각하면된다.
압축한걸 왜 다시 매핑해주냐면 실제 서비스에서 에러가 발생하면 압축되고 난독화 되어있기 때문에 디버깅 하기가 되게 난해하다. 그런걸 방지하기 위해서 Source Map이 있다고 생각하면 편할듯하다...?
(참고 : https://woowah.tistory.com/22)
처음으로 돌아가서

다시보니
<link href=./static/css/app.f213bed71a5d27ded35fdf00a1963840.css rel=stylesheet>
와 같이 압축되어 있는 소스에 링크가 걸려져있는걸 볼수 있다
위의 폴더로 들어가 보자

달달한 냄새가 풍긴다
다시 뒤져보자
app.a92c5074dafac0cb6365.js.map 파일에서 드디어 단서를 얻었다

flag를 획득!!

끝~~
🔖새로 알게된 내용
1.webpack
2.source Map 이란?
'Wargame > root-me.org' 카테고리의 다른 글
[root-me.org] web - Server : HTTP - IP restriction bypass (0) | 2022.08.25 |
---|---|
[root-me.org] web - Server : HTML - Source code (0) | 2022.08.24 |
[root-me.org] web - Client : Javascript - Native code (0) | 2022.08.23 |
[root-me.org] web - Client : Javascript - Obfuscation 2 (0) | 2022.08.23 |
[root-me.org] web - Client : Javascript - Obfuscation 1 (0) | 2022.08.23 |