티스토리 뷰

2번째 글.

 

문제

4번문제와 똑같이 "/temp/hacktory.txt" 를 다운받으면 된다.

 

 

 

똑같은 게시판

마찬가지로 4번문제랑 똑같은 게시판이 보인다.

여기서 아무거나 클릭해보았다...

 

?

접근 권한이 없다고 나온다... 그리고 다시 목록화면으로 돌아가게 된다.

바로 F12를 눌러서 소스코드를 확인해보자

 

Ctrl+Shift+C를 눌러서 요소를 선택해보자(나같은 경우 제일 위에있는 3번 글을 눌렀다)

 

 

 

하이퍼링크를 클릭하면 아래처럼 게시글을 볼 수 있다.(새로운 탭 또는 창에서 열면 돌아갈 곳이 없기떄문에...)

여기서 다운로드를 눌러보았다.

 

 

음...

또 권한이 없단다

소스코드를 확인해보자

 

 

보면 딱봐도 수상한 "Utill.js" 가 있다.

확인해보자

 

 

다른 건 모르겠고 FileDownloadDenyAlert이라는 함수가 보인다.(이름이 매우 친절하다)

DenyAlert은 왼쪽 사진과같이 다운로드버튼을 눌렀을 때 실행이 되는 함수인데 아무래도 

위에 있는 것 처럼 "파일 다운로드 권한이 없는 사용자 입니다." 라는 메시지를 띄어주는 것 같다.

FileDownload를 좀더 자세하게 살펴보자.

 

 

DownladAccessPerm가 N이면 어떤 창을 띄우는 것 같다. 

이부분은 Y로 나중에 적절하게 처리를 하면 될거같다.

코드를 뒤져보면 어디에도 frm이라는 name을 가진 놈이 없다.

아무래도 form 태그를 만들어줘서 FileDownload함수를 실행 시키면 동작을 할거같은 느낌이든다.

 

대충 어떤 순서로 풀어야 할지 정리를 해보면

 

1. Burp suite이용

2. 리다이렉션되는 부분을 찾아서 삭제

3. DownladAccessPerm을 Y로 교체 

4. 적절한 폼태그 삽입

5. FileDownload 실행

 

Burp suite에서 response를 가져오려면 아래처럼 Proxy - Option에 들어가서 설정해줘야한다.

 

 

이제 Burpsuite를 이용해보자

request를 forward한 뒤 response를 받을 수 있었다.

 

내리다보면 위처럼 DownloadAccessPerm이 보인다. 이것을 N이 아닌 값으로 바꿔주자.

 

 

 

리다이렉션하는 부분이다 이곳도 없애주자.

 

 

 

나같은 경우는 DenyAlert을 없애고 여기에 javascript:FileDownload('....//....//temp/hacktory.txt') 이렇게 바로 넣어주었다

(사실 a태그를 이용해서 따로 만들어줘도 상관이 없다.)

 

 

그다음 위처럼 폼태그를 footer위에다가 삽입해주었다. 

이렇게 수정을 한뒤에 response를 forward해주고 4번문제와 마찬가지로 다운로드 버튼을 눌러주면 된다.

 

 

 

헤헷

정상적으로 flag파일이 다운로드된다.

참고로 함수인자값을 넣을 때 작은따옴표가 아니라큰따옴표를 붙이는 멍청한 짓은 하지말자...

(이것때문에 멍청하게 삽질을 하였다.)