Secure Mail- reversing
* 문제 설명
Description
중요한 정보가 적혀있는 보안 메일을 발견하였습니다.
보안 메일의 비밀번호는 생년월일 6자리인 것으로 파악되나, 저희는 비밀번호 정보를 가지고 있지 않습니다.
비밀번호를 알아내고 보안 메일을 읽어 중요한 정보를 알아내주세요
a. 문제 메인 페이지

b. 임의로 내 생일 입력 후 Confirm 결과

제공된 파일이 .html 뿐이라 우선 원본 소스코드를 보았다.

=> input 에서 받은 값을 _0x9a220 으로 넘기는 JS 코드를 확인할 수 있었다.

=> 0x9a220 함수 내부 확인 시,
잘못된 값 들어올 경우 return alert('wrong')으로 확인된다. 난독화도 걸려있음 ㅠㅠ
정답이어야 document로 return되며 값을 써주는 것 같은데 아마 그 값이 Flag 일듯함
brute force 공격하면 금방 나올 것 같아서 콘솔창에 아래 명령어들을 입력했다.

window.alert = function(val) { console.log("Wrong Birthday!!!"); return true; };
function detector(val) {
let format = /^([0-9]{2}(0[1-9]|1[0-2])(0[1-9]|[1,2][0-9]|3[0,1]))$/;
if (format.test(val)) _0x9a220(val);
}
for (let i=600000; i<=991231; i++){ detector(i)}
이렇게 돌아가다


flag가 페이지에 떴다 !!

DH{Brutef0rce_th3_secur3_mail}
코드 참고 티스토리: [DreamHack] Secure Mail (velog.io)
'소학회 > Dreamhack' 카테고리의 다른 글
| [Dreamhack] 64se64 풀이 (0) | 2024.07.15 |
|---|---|
| [Dreamhack] Windows Search 풀이 (0) | 2024.05.14 |
| [Dreamhack_워게임] baby-union (0) | 2024.03.28 |
| [Dreamhack_워게임] dreamhack-tools-cyberchef 풀이 (0) | 2024.03.28 |
| [Dreamhack_워게임] Basic_Forensics_1 (0) | 2024.03.19 |