Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 오버워치 세이버메트릭스
- C++11
- #IntelManual #segment Descriptor #세그먼트 디스크립터 #MINT64 #Sqix
- Sqix
- >
- vi 외부 명령어
- #MINT64 #Sqix
- #Best of the Best #OS #MINT64 #Sqix
- #
- command
- #IntelManual
- linux
- libpcap
- Network
- KASAN
- Find
- FTZ 레벨2
- 오버워치
- #Qt Creator
- ftz
- libtins
- Overwatch League SaberMetrics
- BEST of the BEST
- vi
- 인터럽트
- vim
Archives
- Today
- Total
Sqix
Hitcon Training - Lab 01 : Sysmagic 본문
군 입대 이후 오버워치 리그 워싱턴 저스티스 쪽에서 코칭 어시스턴트로 일하다 다시 제대로 보안을 잡아보고자 합니다.
그 첫걸음을 Hitcon Training으로 시작하게 되었네요. Sysmagic 풀이 다시 시작해보겠습니다.
sysmagic.c 코드와 sysmagic 파일을 제공합니다. c코드를 보면 key와 cipher가 있고, /dev/urandom 함수를 이용해서 난수를 받아온 후 이것과 사용자 입력 패스워드가 일치하면 cipher과 key를 xor하여 flag를 제공해 줍니다.
flag를 받기 위해선 urandom에서 주어지는 password를 입력해 분기문 조건을 강제로 맞춰서 바로 cipher과 key가 xor연산을 하여 flag를 뱉어내도록 하면 될 것 같습니다.
그러기 위해선 cmp eax edx 문에 bp를 걸어 놓고, edx의 값을 dec로 변경하여 eax에 넣어주면 됩니다.
ex) edx : 0x9bb38add(hex) = 2612234973(dec) 라면
set $eax = 2612234973
명령어를 이용하면 eax를 강제로 2612234973로 바꿔 값을 맞춰주기 때문에 flag가 나옵니다.
이렇게 말이죠.
'Wargame > HITCON Training' 카테고리의 다른 글
Hitcon Training - Lab 05 : Return Oriented Programming (0) | 2019.09.21 |
---|---|
Hitcon Training - Lab 04 : Return to libc (0) | 2019.09.18 |
Hitcon Training - Lab 03 : Return to shellcode (0) | 2019.09.16 |
Hitcon Training - Lab 02 : Shellcraft (0) | 2019.09.10 |
HITCON Training 로컬 설정 (0) | 2018.07.30 |
Comments