AIAS

[WebHacking.kr] Cookie Forgery (old - 6) 본문

WEB/WebHacking

[WebHacking.kr] Cookie Forgery (old - 6)

414s 2020. 12. 5. 17:33

Cookie Forgery ?

: [WebHacking.kr] Cookie Forgery (old - 1)

 

 

실습환경

- https://webhacking.kr/ 

 

Webhacking.kr

Index Welcome Stranger! Chatting Notice(en) [2020-08-12] Replace chat feature with Discord. Please do not cause inconvenience to other users. [2020-08-12] We are preparing to release new challenges within this year. Notice(kr) [2020-08-12] 채팅 기능을

webhacking.kr

 

WebHacking.kr - Challenge (old -6)

 6번 문제의 소스를 보면 id와 pw쿠키를 guest와 123qwe로 기본 설정하고 해당 값 for문으로 0~19까지 20번 base64 인코딩해주고 있다. 또한 인코딩된 값은 숫자 값은 특수문자로 변환해주고 있는것을 확인할 수 있다.

WebHacking(Old.6) - View Sourece ①

  그리고 이걸 화면상에 출력해줄때는 역순으로 특수문자를 다시 숫자로 변환해주고 for문으로 20회 디코딩해주어 echo구문으로 화면에 출력해주고 있다. 마지막 if문에서는 해당 과정을 거친 값의 ID가 admin이고 PW가 nimda일 때 문제가 해결됨을 볼 수있다. 

WebHacking(Old.6) - View Sourece ②

 

 디코딩되는 과정에서 admin과 nimda값이 입력될 수 있도록 admin 값과 nimda의 값을 각각 20회 base64인코딩을 수행해주었다.

 // base64가 인코딩되면서 특수문자가 포함되지 않기 때문에 디코딩되는 구간에 넣어져있는 str_replace구문은 신경 쓰지 않아도 됨

: ostermiller.org/ (base64 Encoding)

base 64 encoding

 

 base64로 20회 인코딩한 admin과 nimda 값을 URL 인코딩 수행하여 쿠키 값을 변조해주었고 해당 페이지를 재호출해주었다.

 

 ID값과 PW값이 admin과 nimda로 디코딩되어 문제가 해결되었음 확인할 수 있다.

WebHacking(Old.6) - solve

 

'WEB > WebHacking' 카테고리의 다른 글

[WebHacking.kr] Cookie Forgery (old - 1)  (0) 2020.12.05
Comments