WebHackingkr 1번 문제 풀이
소개
WebHacking.kr에서의 첫 번째 문제는 회원 가입 및 로그인 과정을 포함하며, 일반적인 웹사이트와는 다르게 회원 가입 버튼이 주석처리 되어 있습니다. 이 포스트에서는 이 문제의 풀이 과정을 자세히 설명하도록 하겠습니다. 특히, 문제 해결을 위해 사용해야 하는 다양한 기술, 코드 분석 과정, 그리고 문제 접근 방법에 대해 다루겠습니다.
회원 가입 문제
WebHacking.kr에 접속하면 회원 가입 버튼이 보이지 않고 로그인 화면만 출력됩니다. 다른 워 게임과는 다르게 회원 가입부터 워 게임을 시작해야 하는 상황인데요. 회원 가입 페이지로의 접근을 위해서는 주석 처리된 코드를 복호화하거나 조작해야 합니다. 메인 페이지의 소스를 보면, 39에서 44행에 주석이 처리되어 있음을 알 수 있습니다.
소스 코드 | 설명 |
---|---|
<!-- Register --> |
회원 가입 버튼을 주석처리 함 |
<input type=button value=Register> |
실제로는 클릭 가능한 버튼으로 존재함 |
우리는 프록시 도구나 개발자 도구를 사용하여 주석을 제거할 수 있지만, 단순히 이벤트에 해당하는 URL에 직접 접속하는 방법으로도 같은 결과를 얻을 수 있습니다. 예를 들어, 아래의 링크로 이동하면 회원 가입 페이지에 접근할 수 있습니다.
www.webhacking.kr/join/includ2_join__frm__0001.php?mode=47a09d22fe1ebd5249feb62010b437ad
Base64 인코딩 Challenge
회원 가입 페이지에 접근 후, 아이디, 패스워드, 이메일 정보 등을 입력했음에도 불구하고 회원 가입이 되지 않습니다. 문제를 해결하기 위해 decode me를 풀어야 합니다. decode me는 특정 문자열이 Base64 인코딩된 형태로 존재하며, 이를 복호화해야만 회원 가입이 가능해집니다.
인코딩 방식 | 설명 |
---|---|
Base64 | 이진 데이터를 ASCII 문자열로 인코딩하는 방법 |
제공된 Base64 문자열을 3번 디코딩하면 현재 시스템의 공인 IP가 출력됩니다. 이를 통해 우리는 회원 가입을 완료할 수 있게 됩니다.
💡 전세자금대출의 모든 조건과 금리를 한눈에 비교해보세요! 💡
문제 해결을 위해 필요한 기술
- 프록시 도구 사용법: 웹 페이지의 내용을 수정해야 할 때 사용하는 도구로, 주석을 제거하고 필요한 페이지로 이동하는 데 유용합니다.
- Base64 디코딩: 데이터 인코딩 및 디코딩 과정을 이해하고, 이를 통해 필요한 정보를 추출하는 기술입니다.
- 쿠키 조작: 문제 풀이에 핵심적인 역할을 하는 user_lv 쿠키의 값을 조작하여 문제를 해결합니다.
쿠키 조작과 @solve()
이제 문제 해결의 핵심인 쿠키 조작에 대해 살펴보겠습니다. index.phps 페이지로 가면 소스 코드를 확인할 수 있으며, user_lv 쿠키 값이 초기 설정으로 1입니다. 코드 분석을 통해 user_lv가 6 이상이 될 때 @solve() 함수가 호출되는 구조임을 알 수 있습니다. 이 점을 활용하여 쿠키 값을 조작해야 하기 때문에, EditThisCookie 같은 도구를 사용합니다.
코드 설명 | 내용 |
---|---|
if(!$_COOKIE[user_lv]) |
user_lv 쿠키 값이 없으면 1로 설정 |
if($_COOKIE[user_lv]>=6) |
쿠키 값 6 이상 시 1로 리셋 |
if($_COOKIE[user_lv]>5) |
쿠키 값 5 초과 시 @solve() 호출 |
문제를 해결하기 위해 쿠키 값을 6으로 조작한 후, 페이지를 새로 고치면 level 값이 1로 보이고, 이를 통해 문제를 통과한 것을 확인할 수 있습니다.
문제 통과 및 결과 확인
마지막으로, 쿠키 값을 5보다 큰 수 (예: 5.5)로 조작하면 Congratulation! 메시지가 출력됩니다. 확인 버튼을 클릭하면 1번 문제를 통과한 결과와 함께 200점의 포인트를 얻었다는 메시지가 표시됩니다.
결과 | 내용 |
---|---|
메시지 | Congratulation! |
포인트 | 200점 |
랭킹 | 9,259 |
💡 중소기업 대출 시장의 최신 트렌드를 알아보세요! 💡
결론
WebHacking.kr의 첫 번째 문제 해결 과정은 회원 가입, 쿠키 조작, 코드 분석을 포함한 여러 단계를 거치며 진행되었습니다. 이 풀이를 통해 웹 해킹의 기본 개념과 실제 적용 방식을 이해하게 되었길 바랍니다. 더 많은 도전과제를 통해 실력을 쌓아보시길 바랍니다!
💡 건설근로자 전자카드 수수료의 비밀을 알아보세요! 💡
자주 묻는 질문과 답변
Q: WebHacking.kr에 가입하려면 어떻게 해야 하나요?
A: 주석이 처리된 Register 버튼을 사용하거나, 직접 URL에 접속하여 회원 가입 페이지에 접근해야 합니다.
Q: Base64 디코딩을 어떻게 하나요?
A: 다양한 온라인 도구나 프로그램을 사용하여 Base64 문자열을 복호화할 수 있습니다.
Q: 쿠키 값을 어떻게 조작하죠?
A: EditThisCookie와 같은 도구를 사용하여 쿠키의 값을 손쉽게 수정할 수 있습니다.
Q: 문제를 해결한 후 어떤 보상을 받나요?
A: 문제를 통과하면 포인트와 랭킹이 부여됩니다.
WebHackingkr 1번 문제 풀이: 핵심 해법과 요령 총정리!
WebHackingkr 1번 문제 풀이: 핵심 해법과 요령 총정리!
WebHackingkr 1번 문제 풀이: 핵심 해법과 요령 총정리!