출처 : medium.com/@amineaboud/10000-facebook-ssrf-bug-bounty-402bd21e58e5

 

$10000 Facebook SSRF — Bug Bounty

Subdomains Enumeration + File Bruteforcing + Code Review = $10K Blind SSRF

medium.com

 

해당 글은 버그바운티 결과물을 번역 및 수정한 게시물입니다.

 

이번 글은 Subdomains Enumeration + File Bruteforcing + Code Review 를 사용하여 페이스북에서 우리나라돈으로 천만원 가량의 포상금을 받은 게시물을 소개드리겠습니다.
이때 취약점은 SSRF입니다.
간단하게 SSRF(Server-Side Request Forgery)를 설명드리자면 원래라면 일반 이용자는 Web Server만 접근할 수 있습니다. 하지만 SSRF 취약점이 있다면 외부 이용자가 Web Server를 통해 동일한 Internal Server에 있는 리소스에 접근 할 수 있습니다.

번역을 하는 것이기 때문에 저의 시점이 아닌 글쓴이 시점으로 번역하겠습니다.

 

첫번째 단계)

하위 도메인을 서칭하여 phishme.thefacebook[.]com 주소를 발견했습니다.

주소로 접속해보면 아래와 같은 화면이 뜹니다.

이러한 화면이 뜬다는 것은 좋은 징조입니다. 그 이유는 아래와 같은 주소에 기록한 작성자의 리포트에서 상세하게 적었다고 합니다. 요약하자면 이 화면이 다른 가능성을 트리거 한다고 합니다.

medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125 

 

Story of a weird vulnerability I found on Facebook

Bug Bounty: Leak of internal Facebook documents

medium.com

 

두번째 단계)

자바스크립트 브루트포싱을 진행합니다. 이때 무작위 대입은 작성자가 커스텀해서 만든 단어 리스트로 진행했다고 합니다.

그 예시는 "phishme[.]thefacebook[.]com/**[.]js" 와 같다고 합니다.

이때 작성자는 "phishme[.]thefacebook[.]com/Home[.]js"가 존재하는 것을 발견했다고 합니다.

 

세번째 단계)

이때 발견한 Home.js 코드를 리딩하다 sendPhishRequest 라는 함수를 발견했고 이는 XMLHttpRequest를 사용하여 특별한 링크로 부터 데이터를 요청하는 기능이었다고 합니다.

이 함수를 좀더 파보니 이것은 아래와 같은 형식을 따르는 것을 발견했다고 합니다.

Exploitation)

몇번의 토큰을 랜덤하게 포맷을 지정해 돌려보다 작성자는 마침내 성공적으로 internal requests를 보내는 것에 성공했다고 합니다.

이때 파라미터는 아래와 같았다고 합니다.

 

Params:

itemId: 123 
ewsUrl: http://127.0.0.1:PORT
token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7Hg

PoC

https://phishme.thefacebook.com/PhishGetItemData.ashx?itemId=123&ewsUrl=http://127.0.0.1:PORT/&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7Hg

stack-traces가 internal requests에 관한 정보를 수집하는 데 도움이 되었다고 합니다.

근데 저 서브도메인은 어떻게 찾았는지 안알려주네요. 그냥 돌린건지 아무튼 이렇게 하나 배워가네요.

다들 화이팅!

+ Recent posts