일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- phase_5
- gdb
- Reversing
- phase_6
- pwnable
- binarybomb
- 침입감지시스템
- Bomb
- 데이터 형태
- 명령어
- phase_4
- 밤랩
- phase_2
- 서브모터
- reversingg
- phase_3
- bomb lab
- 스테가노
- pwntool
- 아두이노
- 파일
- phase_1
- 리버싱
- mandb
- 리눅스
- 툴
- Linux
- bomblab
- IDS
- 디렉터리
- Today
- Total
Flag={C0MPU73R}
(리버싱) 밤랩 bomb - phase_3 본문
#bomb 문제는 phase_1 부터 phase_6까지 6개의 문제로 이루어져있다
#1단계부터 6단계까지 모두 맞춰야 폭탄이 해체되는 형식이다
방금 phase_5를 풀어서 기분이 좋기 때문에 Root권한으로 실행해준다 OvO
이번엔 숫자 2개란다
항상 그랬듯이 아무거나 입력해주고 터진다 (1, 2)
gdb로 분석해보자
어우 너무 길어서 내 작은 화면에 다 안나온다 ㅜㅜㅜ
<+38>부분에서 인자의 갯수를 확인합니다
맨 처음에 이번에는 인자가 2개라고 했기 때문에 1개 이하면 폭탄이 터집니다
일단 +48과 +49를 보면 첫번째 인자를 7과 비교해서 7보다 크면 폭탄이 터지는 것 같다
여기서 첫번째 인자가 나왔다 (인자1 =< 7)
이 부분을 보면 첫번째 인자를 eax에 넣고
그걸 어찌저찌 해서 저 여러개 중 한 곳으로 점프한다
# 난 [rax*8+0x402420] 요거 뭔지 모르겠다 값에 8을 곱하는건지 뭔지...
첫번째 인자의 값이 1~7 총 7개인 이유가 여기서 점프되는 곳의 갯수가 7개이기 때문인 것 같다
아마..
점프되고 나면 어떤 값을 eax에 넣고 비교문으로 점프되서
eax와 두번째 인자가 비교된다
난 첫번째 인자로 1을 넣었기 때문에 어디로 가는지 봐야겠다
어디로 점프되는지 결정하는 곳 까지 왔다
나는 첫번째 인자로 1을 넣었더니 +64로 점프 된단다
여기선 eax에 0x35c가 들어가서 두번째 인자와 비교된다
0x35c를 10진수로 바꿔보면 860이다
첫번째에 1을 넣으면 두번째 인자는 860인지 비교되는 것 같다
다시 실행해서 넣어본다
짜자아안 phase_3 클리어~
난 첨에 그냥 두번째 인자를 0x35c(860)과 비교한다고 하면 860을 넣으면 되는데
0x35c가 뭔데 비교하는거지?? 하면서 뻘짓을 했다 ㅜㅜㅜ
근데 친구가 10진수로 바꿔서 넣었더니 됬다고해서 그제야 알았다..
고마워요 현짱!
# 현재 phase_5까지 풀었다
# phase_4와 phase_5는 도움없이 태어나서 처음 혼자 푼거다 ㅜㅜ
# 하나 풀고 정리하고 해야하는데 계속 밀린다
'사이버 가디언즈' 카테고리의 다른 글
(리버싱) 밤랩 bomb - phase_4 (1) | 2018.08.27 |
---|---|
(리버싱) 밤랩 bomb - phase_1~6 클리어! (1) | 2018.08.27 |
(리버싱) 밤랩 bomb - phase_2 (0) | 2018.08.25 |
(리버싱) 밤랩 bomb - phase_1 (0) | 2018.08.22 |
스택과 레지스터 이용 (0) | 2018.08.22 |