티스토리 뷰
반응형
① 문제

② 가설 수립
- "correct" 문구 키포인트로 보이며 해당 부분 문자열을 검색 후 역동작하는 부분을 분석하면 관련 문제가 나올 것으로 생각하고 증빙 시작
③ 증빙
1. x64dbg를 이용 해당 문자열 출력 함수를 식별

2. 7FF6C4AD1000 함수 이후 해당 문자열을 출력함으로 해당 함수 진입

3. 해당 함수에서는 아래의 내용이 식별이 가능
- [cmp rax, 18] = 총 FLAG값은 24개의 글자
- 사용자값 비교는 [lea ecx, qword ptr ds:[rcx+rdx*2]] 에서 수행함
- ECX는 사용자 입력값, RCX는 메모리 저장값을 불러옴

4.
[lea rcx, qword ptr ds:[7FF6C4AD3000]]
구문을 통해 rcx 저장 위치를 알수 있어 접근
5. 해당 부분을 통해 rcx값 획득
16진수 값 : 49 60 67 74 63 67 42 66 80 78 69 69 7B 99 6D 88 68 94 9F 8D 4D A5 9D 45

6. 다시 비교 함수로 돌아와서 해당 부분을 통해

연산식을 통해 사용자 입력값을 변경하는것을 확인 (input[i]^i)+(i*2)=str[i]
7. 역연산을 위해 공식 변경
INPUT[i]^i+i*2
-i*2 = INPUT[i]^i
(RAX-i*2)^i = INPUT[i]
8. 파이썬을 통해 해당 연산식 적용 (RCX를 역연산)

④ 결과

반응형
'일상' 카테고리의 다른 글
BypassIF 풀이 (1) | 2024.11.11 |
---|---|
시큐아이 교육 (BLUE MAX NGF 제품 교육) 및 시설 후기 (0) | 2021.07.21 |
2020 정보처리기사 4/5회 실기 중간 후기 및 가답안 (0) | 2020.11.30 |
[교육후기]kisia 정보보호 컨설팅 전문가 양성 과정 교육 후기 (25) | 2020.11.13 |
2020년 정보 처리 기사 필기 시험 후기 (0) | 2020.11.13 |