본문 바로가기

인코딩

webhacking.kr [문제 6번] 첫번째 라인의 마지막 문제인 6번 문제를 풀어보겠다. 문제의 점수는 100point이다. 상대적으로 다소 쉬운 문제일 것으로 예상된다. 힌트가 base64로 주어져있다. 이를 볼때 base64를 이용한 문제풀이일 것으로 예상된다. index.phps를 클릭해보자. 해당 페이지의 소스코드 일부이다. 이제 해당 소스코드를 조금더 구체적으로 분석해보자. 해당 소스코드에 주석을 달아놓았다. 소스코드를 보고 생각하여 보면 문제 해결 전략이 나온다. 두번째 파트의 디코드 과정을 거쳐서 decode_id와 decode_pw에 담긴 문자열이 모두 "admin"이 되게끔 하면 된다. 디코드 과정전의 변조할 쿠키의 값을 알아보면 되는데, 해당 과정을 시중에 나와있는 소스코드를 조금 수정하여 작성하였다. import bas.. 더보기
webhacking.kr [문제 4번] 4번 문제를 살펴보면 해당 점수가 150point로 확인된다. 특정한 문자열을 보여주며 해당 비밀번호를 입력하게 되어있다. YzQwMzNiZmY5NGI1NjdhMTkwZTMzZmFhNTUxZjQxMWNhZWY0NDRmMg== 특정한 문자열을 일반적으로 볼수없는 형태의 문자열이며 무언가 숨겨져있다는 생각이 든다. 그러한 이유에서 조금더 고려해보면 해당 문자열이 암호화 되어있지 않을까라는 전제에 도달한다. 해당 문자열은 마지막에 추가로 '=' padding 문자가 붙게되는 데 이를 통해 base64로 인코딩 되어있다는 것을 알 수 있다. 과연 해당 널패딩이 붙게되면 왜 base64로 인코딩 되어있다고 생각할 수 있을까 base64 인코딩 방식을 확인해보자. base64란 무엇일까? 컴퓨터는 기본적으로 1과 .. 더보기