Webhacking baby 문제입니다.
사이트에 접속하면 익숙한 화면입니다 이전 CHILD 문제와 비슷해보입니다.
비슷한 문제로 예상되어 CHILD 문제처럼 보호기법확인을 먼저 해보면
이번에도 보호기법이 걸려있습니다.
이전 google와는 다른것 같아 검색해보니
https://help.branch.io/ko/developers-hub/docs/implement-content-security-protocol-csp
콘텐츠 보안 프로토콜 (CSP) 구현
Background Branch takes customer’s privacy and security very seriously. The following document provides recommendations to enable our customers to implement Content Security Policy (CSP) in conjunction with the Branch webSDK into their websites. How does
help.branch.io
스크립트 보안을 위한 기법중 하나로 난수를 생성하고 해시한뒤 값을 포함해 화이트리스트를 만드는 방식이라고 합니다.
이러한 경우 CSP 우회를 어떻게 해야할지 감이 잡히지 않아 검색하다가 CSP 보안 우회를 위해
보안정도를 확인해주는 사이트를 찾았습니다.
https://csp-evaluator.withgoogle.com/
CSP Evaluator
csp-evaluator.withgoogle.com
위 사이트에 문제사이트를 확인시켜봤더니
base 태그가 사용가능하기에 위험하다고 하는데
다시 문제사이트의 소스코드로 돌아와 보면
스크립트로 script.js라는 파일을 받고 nonce 기법을 활용하고 있는데
현재는 "http://문제 사이트/script.js" 형태로 이루어져 있는데
base태그를 활용한다면 "http://내 서버/script.js" 로 상대경로를 이용한 조작이 가능하다고 합니다.
해서 깃허브에 서버를 하나 만들고 script.js에 쿠키값을 탈취하는 코드를 삽입한다면 문제해결이 가능해집니다.
깃허브에 서버를 만드는 건 아래 사이트를 참고했습니다.
github page + freenom 으로 도메인 설정된 사이트 만들기
오늘은 이 블로그를 적지 않는다면 오늘의 해결 과정을 까먹고 똑같이 헤매고 있을 미래의 나와 처음 도메인 설정을 하기에 오늘 나와 같은 좌충우돌을 겪고 있을 사람들에게 조금이나마 도움
velog.io
깃허브에 작동될 html 하나를 만들어주고 script.js에는 이전 CHILD에서 웹훅을 이용한 쿠키탈취 코드를 활용해주고
base 태그로 문제사이트에 URL에 전달해보면
웹훅으로 쿠키값이 전달됩니다.
PHPSESSID는 작성자의 웹케알로그인 세션으로 웹훅으로 탈취가 성공했습니다.
FALG는 admin의 쿠키값으로 예상이 되니 Error report에 똑같이 전달해보면
(작성자는 ?inject= 가 있는줄 알고 10여번 안나온다고 태그만 넣는 삽질했는데 꼭 추가해서 넣어주세요)
Query strings 부분과 url 부분에 FLAG가 출력되면서 FLAG를 찾았습니다.
찾은 FLAG를 제출해주면서 문제가 해결되었습니다.
'Wargame(Web) > Webhacking.kr Writeup' 카테고리의 다른 글
Webhacking Writeup 35번 문제 (0) | 2022.09.26 |
---|---|
Webhacking Writeup 25번 문제 (0) | 2022.09.26 |
Webhacking Writeup 22번 문제 (1) | 2022.09.26 |
Webhacking Writeup 8번 문제 (0) | 2022.09.26 |
Webhacking Writeup CHILD 문제 (0) | 2022.09.04 |