들어가니 admin이 입력되어있다. submit 해본다. 될 리가 없다 ㅋㅋ
그 외엔 어떤 아이디도 다 로그인 되길래 흠냐링 하며 editthiscookie를 습관성으로 켜준다.

id가 계속 변하는 건가 하는 마음가짐에 로그아웃 하고 다른 거로 로그인 하려는데, 로그아웃이 안된다. 이럴 때는 burp suite 켜주고 리피터로 전환 해준다.

ad 쳐봤는데 세상에나 한 글자씩 base64 encoding 해서 넘겼나보다 길이가 2배 늘어났다.
근데 %3D 인거 보니, 마지막에 url 인코딩 한 것 같다.
대충 각각 글자로 로그인하고 url decoding→ base64 decoding 해보자.
#url decoding
MGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjE= #a
ODI3N2UwOTEwZDc1MDE5NWI0NDg3OTc2MTZlMDkxYWQ= #d
NmY4ZjU3NzE1MDkwZGEyNjMyNDUzOTg4ZDlhMTUwMWI= #m
ODY1YzBjMGI0YWIwZTA2M2U1Y2FhMzM4N2MxYTg3NDE= #i
N2I4Yjk2NWFkNGJjYTBlNDFhYjUxZGU3YjMxMzYzYTE= #n
#base64 decoding
0cc175b9c0f1b6a831c399e269772661 #a
8277e0910d750195b448797616e091ad #b
6f8f57715090da2632453988d9a1501b #m
865c0c0b4ab0e063e5caa3387c1a8741 #i
7b8b965ad4bca0e41ab51de7b31363a1 #n
음 32 byte 문자열이다. 감다살로 이건 무조건 md5니 n 하나만 확인해줬다.

문제가 어떻게 구성되었는지 확인했으니 시나리오는
하나 하나 돌리기 귀찮으니 코드 스근하게 짜준다.
import hashlib
import base64
import urllib.parse
text = "admin"
for i in text:
md5Encode = hashlib.md5(i.encode()).hexdigest()
print(md5Encode, end="")
#0cc175b9c0f1b6a831c399e2697726618277e0910d750195b448797616e091ad6f8f57715090da2632453988d9a1501b865c0c0b4ab0e063e5caa3387c1a87417b8b965ad4bca0e41ab51de7b31363a1

burp suite에서 md5 encode한 문자열 url encode 해서 editthiscookie로 변조하면 잘 풀린다.
데브무현의 뛰어난 실력