1. 개요
Cisco WebEx :
온디맨드 협업, 온라인 미팅, 웹 콘퍼런스, 화상 통화 애플리케이션을 제공하는 회사이다. 자주 사용하는 구글밋 처럼 해당 회사에서 화상 통화 애플리케이션을 제공한다.
위 사이트에 들어가서 회원가입을 한후, 다운로드를 받으면 된다. (다운 안받아도 온라인에서 가능)
2. 취약점
회원가입을 하고 로그인을 하면 개인 대시보드가 나온다. 여기서 우측 사용자 이름을 클릭한 후, 연락처를 클릭하면
다음과 같이, 내 Webex 연락처 페이지가 나온다. 대충 보면, 내 계정에 연결된 연락처를 내보내거나 가져올수 있는 기능이 있다. 또한 검색을 통해 연결된 연락처를 검색할수 있다. 검색을 누르면, POST 방식으로 데이터가 전송되는데, 그때의 값을 버프로 확인해보자.
POST로 많은 데이터들이 전송되는데, 맨끝에 보면 입력한 값이 들어있는걸 확인할 수 있다. 해당 요청을 repeater로 다시 보면,
body에 들어가는 value들을 확인할수 있고, searchText라는 변수에 입력한 값이 들어간다. 그렇다면, body에 들어가는 변수들을 전부 변경하여 response를 확인해볼 필요가 있다. 입력한 값이 응답으로 넘어오는 곳이 존재한다면, 그 부분에 필터링이 존재하는지 확인할 필요가 있다.
응답결과를 보면 fucking8 이 응답으로 온것을 확인 할 수 있다. 이는 addressType 변수에 담기는 값으로 저기에 한번 스크립트 태그를 입력해보자.
여기서 부터는 해당 취약점이 업데이트가 되서 필터링이 되어있다.
영상을 보면, 동일하게 인자를 줬을때 addressType에 필터링이 되지 않는 응답에 온것을 확인할 수 있다. 따라서 현재 요청 URL에 들어가보면,
트리거가 되는 걸 볼수있다.
3. 후기
여태 네이버 xss 찾을때, 그냥 get으로 넘어가는 파라미터를 노가다로 변경시키고, 응답보고 하는 식으로 찾았는데, 위 로직처럼, POST 로 넘어가는 것도 유의깊게 볼필요가 있을것 같다. 결국 이것도 입력값에 대한 필터링이 없어서 터지는거기 때문에 버프 + mitmproxy로 자동화 로깅툴을 얼른 짜봐야겠당. 헿