Webhacking Writeup 34번 문제입니다.
사이트에 접속해보면 debug me 가 alert로 출력됩니다.
일단 스크립트 코드를 보겠습니다.
살짝 도망칠까 고민했습니다...
엄청난 양의 코드가 작성되어 있습니다.
일단 정리를 위해 vsc코드로 옮겨 살펴보면
오른쪽에 빽빽하게 자리한게 다 코드입니다...
문제를 풀려면 이정도 노가다는 해야죠!
일단 ==로 끝나는 것을 보아 base64가 가장먼저 생각납니다.
해서 base64로 복호화를 시도했는데
3번째 에서 s 가나오길래 맞는값이 있겠지 있겠지 하면서
40여개를 복호화 시도했습니다...
그러다가 도저히 이건 아닌거 같아
if나 for문이 나오는 코드부분을 먼저 살펴보기로 했습니다.
코드도 살펴보려고 노력했으나....
3분의 1쯤 읽다가 포기하고 문제사이트로 다시 돌아갔습니다.
그러니 다시
alert로 debug me가 출력되더라구요.
여기서 스크립트도 꺼보고, 다른 페이지가 있나 확인도 해보고 하다가
계속 alert를 해결하면 뭐가 나오지 않을까 생각이 들어
Ctrl + F 로 alert를 검색해봤습니다.
이부분도 역시 난독화가 되어있습니다.
천천히 보고있는데 alert가 else일때 실행이 되더라구요?
해서 True일때의 값으로 바꿔주면 뭐가 되지 않을까 싶어 바꿔봤습니다.
그런데 debug me로
코드 변경이 어렵더라구요.
아직 작성자의 웹해킹 실력이 부족해 방법을 검색해보다가
콘솔에서도 실행이 되는걸 알았습니다.
일단 alert의 원래 값을 콘솔에 넣어보니
debug me 가 출력됩니다.
그렇다면 True의 값도 콘솔에 넣으면
알아볼 수 있을것 같아 시도하니
딱봐도 GET방식으로 전달하라는 느낌이 팍팍 듭니다.
URL에 값을 전달하니
문제가 해결되었습니다!
엄청나게 많은 양의 코드에 한번,
=가 붙은 난독화가 항상 base64라는 착각에 한번,
debugger 막힌게 한번,
삽질을 여러번 했지만
천천히 무엇부터 찾아봐야 할지 생각하면
금방해결이 가능한 어렵지 않은
문제였던것 같습니다.
'Wargame(Web) > Webhacking.kr Writeup' 카테고리의 다른 글
Webhacking Writeup 45번 문제 (0) | 2022.08.31 |
---|---|
Webhacking Writeup 51번 문제 (0) | 2022.08.20 |
Webhacking Writeup 21번 문제 (0) | 2022.08.16 |
Webhacking Writeup 44번 문제 (0) | 2022.08.16 |
Webhacking Writeup 61번 문제 (0) | 2022.08.15 |