이젠 미뤄뒀던 6번 문제를 해결해보겠습니다.

https://webhacking.kr/

 

Webhacking.kr

Index Welcome Stranger! Notice(en) [2019-08-18] In the process of receiving service, some loss of data has been observed. For example, in very few accounts there may be a truncation of the last one letter of an userid. If userid contains multibyte characte

webhacking.kr


화면에는 id와 pw가 있습니다.

그리고 소스코드는 php만 가져왔는데 뭔가 열심히 decode 해야할거 같네요.

쿠키를 확인했더니 3개가 있습니다.

user 쿠키는 id로 가게 되고

password 쿠키는 pw로 가게 되네요.

 

문제를 자세히 보니... 참 더럽습니다.

20번 인코딩 한 값을 쿠키에 넣고, 그 값을 다시 20번 디코딩 해서 보여주네요.

최종적으로 id가 admin, pw가 nimda가 되어야하기 때문에 우리는 개고생을 해서 20번 인코딩 해줘야합니다.

 

인코딩은 base64로 되어있으니 풀어줍시다.

 

https://ostermiller.org/calc/encode.html

 

Base64 and URL Encoding and Decoding

 

ostermiller.org

여기서 하시는게 편할겁니다...

 

알아서 해주게 되면.

더럽게 깁니다... 암튼. id, pw 모두 다 해주고 cookie에 집어넣어주면 됩니다.

 

사실 여기에서

$decode_id=str_replace("!","1",$decode_id);
$decode_id=str_replace("@","2",$decode_id);
$decode_id=str_replace("$","3",$decode_id);
$decode_id=str_replace("^","4",$decode_id);
$decode_id=str_replace("&","5",$decode_id);
$decode_id=str_replace("*","6",$decode_id);
$decode_id=str_replace("(","7",$decode_id);
$decode_id=str_replace(")","8",$decode_id);

$decode_pw=str_replace("!","1",$decode_pw);
$decode_pw=str_replace("@","2",$decode_pw);
$decode_pw=str_replace("$","3",$decode_pw);
$decode_pw=str_replace("^","4",$decode_pw);
$decode_pw=str_replace("&","5",$decode_pw);
$decode_pw=str_replace("*","6",$decode_pw);
$decode_pw=str_replace("(","7",$decode_pw);
$decode_pw=str_replace(")","8",$decode_pw);

이 특수문자 치환해야하는지 경우를 찾아봐야 하지만 어딜봐도 특수문자는 없으니 그냥 넘어가겠습니다.

 

 

이렇게 문제를 풀어주게 되면 됩니다.

'Hacking-기초 > [WEB] Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 19번 [150]  (0) 2020.05.21
Webhacking.kr 18번[100]  (0) 2020.04.29
Webhacking.kr 26번 [100]  (0) 2020.04.29
Webhacking.kr 24번 [100]  (0) 2020.04.28
Webhacking.kr 17번 [100]  (0) 2020.04.28

+ Recent posts