Web/HackThis!!

    Intermediate Level 2

    이전 문제와는 반대로 POST method를 사용해서 보내라고 하는군요. POST method는 GET method와는 달리 url로 데이터를 전달하지 않습니다. 그러므로 어쩔 수 없이 코딩을 해야겠군요. Python으로 작성한 코드입니다. 이렇게 하고 python post.py (파이썬 파일 이름을 post.py로 했습니다.)로 실행하면 성공!

    Intermediate Level 1

    GET method로 패스워드를 보내라고 하는군요. GET method란 url의 파라미터로 ?key1=value1&key2=value2&...&... 이렇게 사용합니다. 한번 바로 보내보도록 하죠. PASS!

    Basic+ Level 3

    이번 문제는 Adobe Flash의 동작 방식의 취약점을 알아볼 수 있는 문제이다. 이 문제의 문제점은... Flash의 지원이 끊김과 동시에 여러 방면으로 온라인 상에서의 지원도 많이 끊겨서 도움을 받을 수 있는 사이트들이 많이 없어졌다는 것입니다. 그래서 어쩔 수 없이 이전 포스팅된 글에서 소스에 대한 정보들만 얻고 나왔습니다ㅠ 이렇게 생긴 간단한 코드더군요. POST 방식으로 해당 URL에 score를 보내는 모양입니다. 그래서 간단하게 HTML 스크립트를 짜서 해결해보았습니다. 그리고 열어서 보이는 버튼을 클릭하면 해결! 다음으로 가보죠. [여담] 보안 강화로 인해 Proxy를 이용한 풀이는 어려워졌습니다. 금방 감지하여 페이지 전송을 중단하게 되어 http 같은 보안성이 약한 프로토콜을 사용할 ..

    Basic+ Level 2

    시작하자마자 User agent가 권한이 있지 않다면서 거부당했습니다. 그러면서 secure_user_agent 만이 허가된다고 하네요. 이 문제는 쉽습니다. Header에 전달될 때 User agent를 저희가 원하는 걸로 보내면 됩니다. User agent를 변경하기 위한 여러 좋은 방법들 가운데 저는 Chrome 확장 프로그램을 사용해서 해결해보도록 하겠습니다. 사용방법은 이 링크에서 보시면 됩니다. 먼저 Chrome 그룹에다가 추가합니다. 그리고 User agent를 'secure_user_agent'로 설정해줍니다. 나머지는 맘대로 설정해주셔도 상관없습니다. 두 번째로 우리가 풀고 있는 Domain에 대해서는 저희가 만든 User agent를 쓸 수 있도록 설정해주면 됩니다. 여전히 옵션 창 안..

    Basic+ Level 1

    b1.txt 파일을 다운받아서 숨겨진 메시지를 찾아보라고 합니다. 일단 열어봤습니다. 스크롤 보이시나요? 엄청 긴 문자열이 존재하고 알 수 없는 표시밖에 존재하지 않습니다. 그래서 이걸 Hex editor로 열어봤습니다. 처음 부분에 BM6~~ 뭐라뭐라 하고 존재합니다. 그래서 혹시 이미지 파일의 Header가 아닐까 싶어 구글링을 해봤습니다. 역시나. 이건 "Bitmap" 파일이었습니다. 바로 확장자를 .bmp로 바꿔주고 열어봤습니다. GOTCHA! 다음으로 넘어갑시다.

    Main Level 10

    이번에도 아무것도 없군요. 그래서 Ctrl + U로 소스를 봤더니 다음과 같은 힌트가 있었습니다. 이 문제 진짜 어려웠습니다. 유추할 수 있는 어떤 경로로 넣어주든지 간에 안 떠서 조금 시간이 걸린 문제였습니다... 그리고 생각난 것이 level 8에서 사용했던 경로가 떠올랐습니다. 바로 robots.txt로 접속해서 해당 링크 뒤에다가 붙여서 접속해봤습니다. 그랬더니 다음과 같은 암호가 나타났습니다. ':'을 기준으로 구분되고 각각 암호화된 ID, PW라는 것을 알 수 있었습니다. 그리고 하나의 길이가 64인걸 알 수 있고 또 하나의 bit는 4-bit이므로 하나의 길이는 256-bit라는 것을 알 수 있습니다. 그럼 여기서 생각나는 하나의 암호화 기법은 바로 해쉬 중 하나인 SHA-256입니다. 이걸..

    Main Level 9

    힌트를 보도록 합시다. 일단 새로 생긴 링크인 'Request details'에 접속해서 어떻게 생겼는지 보도록 합시다. 이렇게 E-mail 입력란이 보입니다. 제 E-mail을 넣어봤지만 안된다고 뜹니다. 그래서 페이지 소스를 봤더니 다음과 같이 value 부분이 보입니다. 이를 다시 넣어줘 봤지만 E-mail은 맞고 address가 틀리다고 나오는군요. 아무래도 지난번에 했던 것처럼 조금 조작을 해줘야겠습니다. value 값을 저희가 아는 값으로 등록해준 다음에 똑같이 적고 Submit 해봅시다. Pass! 다음으로 가보죠.

    Main Level 8

    문제가 조금씩 어려워지고 있다는 것을 알 수 있죠. 힌트를 볼까요? level 4 때와 마찬가지의 실수를 저지르고 말았지만 이번에는 적어도 패스워드를 지켜내려 노력했다는군요. 일단 level 4의 실수를 다시 보게 되면 서버 경로를 노출해버린 실수였습니다. 이번에는 어떻게 이런 실수를 지키려 했는지 한번 보도록 하겠습니다. 아하 적어도 암호화되어 있게 만들었나봅니다. 지난번과 마찬가지로 일단 접속을 해보도록 하겠습니다. 맨 위에 넣어도 안되길래 찾다가 해당 경로에 있다는 것을 알게 되었습니다. 결과를 보도록 할까요? 이렇게 이진수로 나왔습니다. 위가 ID고, 아래가 PW 같습니다. Base16 즉 16진수로 바꾸면 답을 알 수 있다고 하는군요. 바꾸게 되면 다음과 같은 결과가 나타납니다. B00B FEE..

    Main Level 7

    다시 아무런 힌트가 주어지지 않은 문제가 나왔습니다. 그래서 Ctrl + U를 통해 페이지 소스를 전부 꼼꼼히 훑어보았지만 아무것도 없었습니다. 정말 아무것도. 그래서 어떻게 해야 할지 갈피를 못 잡고 있어서 어쩔 수 없이 Hint를 살펴보았습니다. 역시 제가 못 찾고 있었던 것이 아니라 이번에는 직접적인 접근이 안되도록 해놨었군요. 두 번째 문장을 보면 검색 bot이 못 찾는 페이지는 너도 못 찾을 거다 라고 하면서 힌트를 주고 있군요. 이때 생각난 것이 바로 'robots.txt' 파일이었습니다. 이 파일이 무엇이냐 하면, "해당 페이지가 운영하는 사이트의 최상의 루트에 위치하면서 검색 엔진을 운영하는 서비스 공급자들이 사용하는 검색 bot을 제한하거나 찾기를 금지하는 것들을 정의해놓은 파일"입니다...