소스코드를 확인한 결과, encode코드와 decode코드로 나눠져있었다.
base64방식으로 20번 인코딩되고, str_replace로 치환된 후, $var_id, $val_pw에 저장된 값을 쿠키로 지정해주고 있다.
쿠키값을 확인해보니 엄청난 길이의 값이 저장되어 있었다.
그리고 decode 하는 부분을 살펴보았다.
저장된 'user' 쿠키 값을 $decode_id 에, 저장된 'password' 쿠키 값을 $decode_pw 에 넣고
각각의 변수에 !문자열이 있다면 1로, @가 있다면 2로 ,, 바꿔준다.
그 후 그렇게 바꿔준 값을 base64 방식으로 20번 decoding 해준 후, 웹 페이지에 보여준다.
그리고 아주 핵심적인 코드!
if($decode_id=="admin" && $decode_pw=="nimda"){
solve(6);
}
admin과 nimda를 base64 방식 암호화 함수로 20번 인코딩해서 쿠키값에 넣어주면 풀릴 것 같다.
따라서 나온 값을 각각 쿠키값에 넣어줬다.
'WEB > WEB Hacking' 카테고리의 다른 글
[Webhacking.kr] Challenge(old) 8번 풀이 (0) | 2021.05.10 |
---|---|
[Webhacking.kr] Challenge(old) 7번 풀이 (0) | 2021.05.08 |
[Webhacking.kr] Challenge(old) 5번 풀이 (0) | 2021.05.06 |
[Webhacking.kr] Challenge(old) 4번 풀이 (0) | 2021.05.06 |
[Webhacking.kr] Challenge(old) 3번 풀이 (0) | 2021.05.04 |