당신은 Goat Hills Financial의 CSO인 Moe Stooge로 로그인 됐습니다.
당신은 CEO인 Neville Bartholomew를 제외한 회사의 정보 안에 있는 모든 이에게 접근이 가능합니다. 아니면 적어도 CEO의 정보만 접근을 하면 안 됩니다.
연습으로, 당신이 찾을 수 있는 다른 정보가 무엇인지 보기 위해 페이지의 내용을 조사하십시오.
풀이
하…Stage 2 포스팅 하다가 덮어씌워서 다시 작성…하…
이 문제는 Client Side Filtering이기 때문에 Proxy는 필요가 없습니다.
Client 측에서 조작을 통해 문제를 풀어야 하며, 이를 위해 각 브라우저에서 제공하는 개발자 도구를 이용하겠습니다.
저는 Kali Linux의 iceweasel(firefox) 로 문제를 풀었습니다.
Choose Employee 우 클릭 -> 요소 검사
를 하면 그곳에 해당하는 HTML 소스를 가리키며 개발자 도구가 실행됩니다.
저는 옵션에서 스타일을 어두움으로 바꿔서 이래요.
세련돼 보이기도 하고 눈도 덜 피로한 것 같고…
코드를 보면 선택할 때마다 selectUser() 를 호출한답니다. 그 아래는 선택지가 나열되어 있습니다. 여기서 value를 수정하고 해당 값을 선택하면 표시되는 내용이 바뀌는 데 이를 이용해서 풀 수도 있습니다. 쉽게
Like this.
좀 더 알아 볼 게요. 저 selectUser()의 내용을 한번 보겠습니다.
흠…javascript나 jquery 스크립트라서 다운 받은 파일이 있을 텐데 파이어폭스에서는 안보이네요…크롬에서만 가능하나;;;
Client 측에서 작동하려면 우선 다운을 받아야 하기 때문에 request와 response가 발생하게 됩니다. 이에 대한 내용은
개발자 도구 -> 네트워크
를 통해 확인할 수 있습니다.
여기서 우리는 스크립트 파일을 확인해야 하기 때문에 확장자가 .js인 파일에 대한 response를 보면 됩니다. 이 문제에서는 clientSideFiltering.js를 확인하면 됩니다.
위에서 확인했던 selectUser 가 보이네요. 이 파일의 아래로 내려갑니다.
내려가면 URI 하나가 보입니다.
여기로 한번 접속하면…
ㅎㅎㅎ… 좋은 정보 ㄳ…. ㅎㅎㅎ…
설명하자면, 선택할 때 selectUser를 호출해서 틀을 잡고,
선택한 값이 표시되면 fetchUserData를 호출합니다.
fetchUserData는 선택한 값의 value를 ajaxFunction으로 보내고, ajaxFunction은 위의 URL로 접속해서 필요한 내용을 가져옵니다. 이 세 함수가 모두 clientSideFiltering.js에 있네요.
이상, 위에서 일일이 바꾸기 귀찮다고 더 어려운 길로 문제를 푼 사람의 풀이였습니다.