[HackCTF] :rev: Handray
두비니
·2021. 3. 12. 02:45
ㄲ
엥 바로 aFlag를 출력해주네? 하고 보니깐
이렇게 뜨고, 파일도 실행해보면
이렇게 뜨는걸로 봐서 밑에 있는 바이트들은 한글인거 같네요
근데 변수 영역을 보면 위에 format하고 the flag is %s라고 되어있는 부분을 볼 수 있습니다.
따라서 뭔가 뛰어넘은것으로 판단하였고, 어셈블리어 코드를 봤습니다.
빨간색 cmp 부분에서 rbp-0x4가 0이면 파란색 main+96부분의 printf가 수행되고, 만약 두 값이 다르면 main+113의 printf가 수행됩니다. 저희가 실행시킬때는 두번째 printf가 실행되니깐 첫 번째 printf를 봅시다.
각 인자인 0x6010e0과 0x400638을 확인해봤습니다.
네, 저희가 예상한대로 되는 것 같네요!
여기서는 두가지 방법으로 할 수 있을 것 같습니다.
1. 역연산 구현
2. cmp하기 전에 그냥 0으로 바꾸기
역연산 구현하기 귀찮기때문에 파일 자체를 변조해주겠습니다.
보면 값이 1로 변경된 것을 볼 수 있습니다. 이걸 0으로 바꾸면 되겠죠?
명령어 참고: windowhan.tistory.com/entry/GDB-%EC%8A%A4%ED%83%9D-%EA%B0%92-%EC%88%98%EC%A0%95%ED%95%98%EA%B8%B0
hehe
'War Games > HackCTF' 카테고리의 다른 글
[HackCTF] :web: 보물 (0) | 2021.03.14 |
---|---|
[HackCTF] :web: /, Hidden, Button (All 50 pts) (0) | 2021.03.13 |
[HackCTF] :rev: Reversing Me (0) | 2021.03.11 |
[HackCTF] :rev: Welcome_REV (0) | 2021.03.10 |
[HackCTF] :pwn: Yes or no (0) | 2021.03.10 |