문제 화면입니다.
페이지를 로드하면 플래그 값이 한 문자씩 빠르게 보여주고 다 보여주고 나면 ?를 출력하는 모습입니다.
문제의 소스코드입니다.
run() 메서드에 있는 내용을 찾아보니 ActiveX에 관련된 내용인 것 같습니다.
cross-browser(브라우저가 달라도 실행 가능하게 코딩하는 방식)를 고려하면서 나오게 된 코딩 방식이라는 듯 합니다
브라우저의 ActiveX 지원여부에 따라
ActiveXObject객체나 native javascript 객체가 할당되는 구조입니다.
객체는 어차피 만들어질 것이고,, 어쨋든 중요한 건 answer() 메서드의 구조입니다.
해당 객체의 open(), send() 메서드를 통해 플래그가 있는 페이지를 요청해
플래그 값을 가져오는 구조임을 알 수 있습니다.
따라서 해당 코드를 살짝 바꿔서 콘솔에 넣어주면 플래그 값을 얻을 수 있겠다고 판단하였습니다.
한 문자씩 가져오므로 플래그가 잘리지 않고 끝까지 나올 수 있게 반복을 충분히 많이 시켜줍니다.
해당 코드를 콘솔 창에서 실행해주면
이렇게 플래그 값이 출력됩니다.
해당 값을 Auth 탭에 넣어주면 끝!
<참고>
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=redeyeant&logNo=100057590653
'write-up(web) > webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge old-38 write-up (0) | 2022.07.26 |
---|---|
[Webhacking.kr] Challenge old-33 write-up (0) | 2022.07.21 |
[Webhacking.kr] Challenge old-26 write-up (0) | 2022.07.15 |
[Webhacking.kr] Challenge old-16 write-up (0) | 2022.07.07 |
[Webhacking.kr] Challenge old-07 write-up (0) | 2022.07.07 |