728x90
1. 문제
1) mitigation 확인
![](https://user-images.githubusercontent.com/35132299/79105417-928fd200-7dab-11ea-92cd-b0cc738a7235.png)
카나리와 NX비트, 그리고 Partial RELRO가 걸려있다
2) 문제 확인
![](https://user-images.githubusercontent.com/35132299/79105406-902d7800-7dab-11ea-93e2-6440578300ff.png)
바이너리를 실행시키면 Give me magic 이라는 문자열과 함께 입력을 받는다. 입력을 하면 바로 종료가 된다
3) 코드흐름 파악
![](https://user-images.githubusercontent.com/35132299/79105412-90c60e80-7dab-11ea-97fa-c53462c1520a.png)
- main문에는 별게 없고 get_flag함수가 중요하다. 해당 함수를 살펴보면 /dev/urandom 을 열고 4바이트 만큼 buf에 저장한다. 그다음 입력을 v2에 받고, buf와 v2를 비교하여 두 값이 일치하면 for문으로 뭐를 출력해준다. 아마도 flag 인것 같다
2. 접근방법
- buf 주소 = ebp-0x80
- v2 주소 = ebp-0x7c
v2와 buf의 값을 일치시키는게 이 문제의 포인트다. 근데 어케하지..? 그냥 set 으로 레지스터 값을 강제로 변경시키면 되긴 하는데 그렇게 푸는게 맞나..?
다른 방법있나 찾아봤지만 딱히 없어서 그냥 set으로 조지고 롸업보니 맞는듯..ㅋ 허무
3. 풀이
![](https://user-images.githubusercontent.com/35132299/79105414-915ea500-7dab-11ea-9b05-79e173e2f20b.png)
scanf로 2를 입력함. 현재 edx들어있는 값을 0x2로 변경할꺼임
![](https://user-images.githubusercontent.com/35132299/79105415-91f73b80-7dab-11ea-8182-a802f84e9795.png)
변경 완료.
![](https://user-images.githubusercontent.com/35132299/79105416-91f73b80-7dab-11ea-9885-c44c3699c34e.png)
4. 몰랐던 개념
- none
728x90
'워게임 > Hitcon training' 카테고리의 다른 글
[Hicon training] LAB 6 (0) | 2020.04.14 |
---|---|
[Hicon training] LAB 5 (0) | 2020.04.14 |
[Hicon training] LAB 4 (0) | 2020.04.13 |
[Hicon training] LAB 3 (0) | 2020.04.13 |
[Hicon training] LAB 2 (0) | 2020.04.13 |