티스토리 뷰

Web Security/Webhacking.kr

old 06

HNNN 2021. 2. 23. 21:01

1. Old-06 WriteUp

 

해당 문제를 클릭하면 밑의 그림과 같은 화면이 나타난다. 

 06번 문제 실행시 화면 

문제의 화면에서 view_source의 코드를 확인할 수 있다. 해당 코드는 2부분으로 나누어 설명하도록 한다. 

(1) 첫번째 부분

view_source 첫번쩨 부분  

첫번째 부분의 코드를 분석해 보면,  user 이름의 쿠키 값이 없다면 실행되는 것을 확인 할 수 있다. 
이 때, guest와 123qwe값을 각각 20번 base64 인코딩 후 user, password의 쿠키 값에 설정된다. 

str_replace 함수가 있지만 base64값은 (0~9와 알파벳 대소문자, '+', '/' 그리고 '=') 문자로만 구성되어 있으므로, str_replace 함수를 신경 안써도 문제를 해결 할 수 있다.

user cookie 값 

 

password cookie 값

실제로 guest를 base65 인코딩 20번한 결과값과 해당 쿠키값이 일치하는 것을 확인 할 수 있었다 

 

# Cyberchef

20번 base64인코딩을 좀 편리하게 하기 위해서 cyberchef를 사용했다. cyberchef에서는 tab을 사용하여 20번의 base64 인코딩을 실행할 수 있다. 

 

cyberchef 주소 gchq.github.io/CyberChef/ 

 

CyberChef

 

gchq.github.io

guest base64 인코딩 20번 한 결과 화면 

(2) 두번째 부분

view_source 두번쩨 부분 

두번째 부분에서 id가 admin이고 password가 nimda를 base64 인코딩을 20번 할 경우 일 경우 문제가 풀린다는 것을 확인 할 수 있다.

 

1) admin base64 인코딩 20번 한 결과 

admin base64 20번 인코딩 값 

2) nimda base64 인코딩 20번 한 결과 

nimda base64 20번 인코딩 값

각각 인코딩된 값을 user, password의 쿠키값에 입력하면 

문제 해결 후 화면 

위의 사진과 같은 화면이 뜨고 문제가 해결됐다고 알람이 뜬다. 

'Web Security > Webhacking.kr' 카테고리의 다른 글

old. 016  (0) 2021.03.02
old 17  (0) 2021.02.25
old 14  (0) 2021.02.24
old.15  (0) 2021.02.22
webhacking.kr 세팅  (0) 2021.02.22
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함