6번을 클릭하면 위와 같은 화면이 뜬다. view-source를 클릭해서 소스코드를 보자.
코드를 간략히 보면,
첫 번째 php에서는 id와 pw를 base64를 통해 20번 암호화하고 숫자를 문자로 치환한 후 cookie에 저장한다.
두 번째 php에서는 cookie에서 가져온 id와 pw를 문자를 숫자로 치환한 후 20번 복호화한다.
이때 복호화된 id가 admin, pw가 nimda면 문제가 풀리게 된다.
EditThisCookie를 통해 Cookie 값을 보면,
위와 같이 password와 user가 있는 것을 알 수 있다.
user에는 admin을 base64로 20번 암호화한 값에서 숫자를 문자로 치환한 결과를,
password에는 nimda를 base64로 20번 암호화한 값에서 숫자를 문자로 치환한 결과를 넣어주면 된다.
따라서 20번 암호화 후, 숫자를 문자로 치환해주는 파이썬 코드를 작성하였다.
이렇게 작성한 파이썬 코드를 바탕으로 admin과 nimda의 암호화 결과를 알아냈다.
이 결과를 cookie 값에 설정하고 저장하면, 문제가 풀린다!
'Wargame > Webhacking.kr' 카테고리의 다른 글
Webhacking.kr old 26번 문제 풀이 (1) | 2021.04.10 |
---|---|
Webhacking.kr old 24번 문제 풀이 (0) | 2021.04.10 |
Webhacking.kr old 18번 문제 풀이 (0) | 2021.04.10 |
Webhacking.kr old 17번 문제 풀이 (0) | 2021.04.10 |
Webhacking.kr old 16번 문제 풀이 (0) | 2021.04.10 |