본문 바로가기
Write Up/webhacking.kr

Webhacking.kr 문제풀이_Part7_6번 문제

by 비원(Be one) 2019. 7. 4.
반응형

여러분 안녕하세요. POCI입니다.

꾸벅

이번 시간에는 Webhacking.kr의 6번 문제를 풀어보도록 하겠습니다.

 

 


1. 사이트 둘러보기

6번 문제에 들어가면 ID와 PW가 나오고, HINT : base64라는 문구가 나옵니다.

 

노란색으로 된 index.phps를 클릭하면 php 파일로 넘어갑니다.

 

파란색으로 처리된 php 부분을 해석하는 것이 핵심인 거 같습니다.

 

 

2. 코드 해석하기

 

이 부분은 user 쿠키가 없으면 실행되는 부분입니다.

해석해보면 $val_id에는 guset를 넣고, &val_pw에는 123qwe를 넣은 후 base64 인코딩을 20번 실행하고, 각각 1부터 8까지 다른 문구로 대체한다는 의미입니다. 

 

쿠키 확인 결과 user와 password 쿠키가 있음을 확인할 수 있습니다.

 

이 부분이 문제를 풀 수 있는 부분인 거 같습니다.

해석을 하면 user와 password 부분의 특수문자를 숫자로 대체하고, 20번 base64 디코딩을 한 값이 user와 password가 각각 admin이면 문제가 풀린다는 의미입니다.

 

뭐라는거지....

쉽게 말해, 지금의 user와 password의 값은 guest, 123qwe가 들어있는 상태에서 base64 인코딩과 암호화가 되어있는 상태입니다.

따라서 복호화와 base64 디코딩을 한 후 user에는 guest, password에는 123qwe가 있으므로 문제가 풀리지 않습니다.

 

그렇기에 admin을 base64 인코딩을 20번 하고, 암호화를 한 값을 user와 password에 넣어준다면 문제가 풀린다는 의미입니다.

 

 

3. base64 인코딩 + 암호화

http://www.taeyo.pe.kr/base64.htm에서 admin에 base64 인코딩을 20번 실행합니다.

 

이제 위 문자열에서 각각에 맞는 치환을 하면 되는데... 문자열을 보니 제시돼있던 !, @, ^, &, *, (, )가 없습니다.

 

이런 페이크가.....

즉, 치환을 해주지 않아도 된다는 뜻입니다.

 

인코딩한 문자열을 EditThisCookie를 이용해 user, password에 넣어줍니다.

 

값을 바꾼 후 새로고침을 하면 문제가 풀렸다는 메시지를 보실 수 있습니다.

 

 


이번 강의는 여기까지입니다.

 

6번 문제는 php 해석 문제였기에, php만 해석하면 풀이과정이 보이는 쉬운 문제였습니다.

 

오늘도 수고하셨습니다.

파이팅


정리

- index.php를 클릭하여 코드가 적힌 페이지로 이동

- php를 해석하여 알맞게 user와 password의 쿠킷값을 바꿔준다.


강의가 유익하셨거나 마음에 드셨으면 댓글과 좋아요 부탁드립니다.

궁금하신 점이나 질문은 댓글이나 메일 남겨주세요.

poci5003@gmail.com

 

반응형