728x90
반응형
토~일 2일간 진행된 CTF 였는데, 사실상 하루정도 밖에 참여하지 못했다.
살짝 beginner friendly 하긴 했지만 pwnable 문제는 전반적으로 구성이나 난이도 설정이 잘 되어있었던 것 같다.
다만 misc 문제 수가 너무 많지 않았나 싶기도...
토요일 약속이 생겨 새벽에 일찍 일어나 쉬운 문제 2개를 슥삭 했고,
외출 후 다시 돌아와보니 또 다른 문제 2개를 팀원분께서 푸셨기에 다음 문제로 넘어갔는데,
beerop이라는 문제가 죽어도 방법이 안보였다 ㅠㅠ
힌트도 줬는데 로되리안 걸리고...
나중에는 언인텐 풀이도 나와서 version2가 추가로 문제로 나왔다 ㄷㄷㄷ
결국 지쳐서 포기하고 다른 문제를 풀어 총 3개 클리어.
beerop은 인텐 풀이를 보니 대략 sigreturn 문제였고,
아직도 제대로 이해되지 않아 다시 풀어볼 예정이다.
한개 문제를 몇시간 동안 뚫어져라 보고 있었더니 그나마 배운 점은,예를 들어 어셈블러 코드가 아래와 같을 때
0x0000000000001139 <+0>: push %rbp
0x000000000000113a <+1>: mov %rsp,%rbp
0x000000000000113d <+4>: sub $0x10,%rsp
0x0000000000001141 <+8>: movq $0x64,-0x10(%rbp)
이를 그대로 보지 말라는 것이다.즉, 1 byte 씩 쪼개보면
gef➤ x/i 0x0000000000001139
0x1139 <main>: push %rbp
gef➤ x/i 0x000000000000113a
0x113a <main+1>: mov %rsp,%rbp
gef➤ x/i 0x000000000000113b
0x113b <main+2>: mov %esp,%ebp
gef➤ x/i 0x000000000000113c
0x113c <main+3>: in $0x48,%eax
gef➤ x/i 0x000000000000113d
0x113d <main+4>: sub $0x10,%rsp
gef➤ x/i 0x000000000000113e
0x113e <main+5>: sub $0x10,%esp
gef➤ x/i 0x000000000000113f
0x113f <main+6>: in (%dx),%al
gef➤ x/i 0x0000000000001140
0x1140 <main+7>: adc %cl,-0x39(%rax)
gef➤ x/i 0x0000000000001141
0x1141 <main+8>: movq $0x64,-0x10(%rbp)
더 많은 어셈블러 코드를 활용할 수 있다.
(물론 말도 안되는 부분도 있겠지만 말이다)
728x90
반응형
'Diary' 카테고리의 다른 글
크리스마스에 쓰는 일기. (0) | 2022.12.25 |
---|---|
12월 중순에 쓰는 일기. (0) | 2022.12.15 |
[CTF 후기] Dreamhack CTF Season 2 Round #11 (0) | 2022.12.09 |
12월 초에 쓰는 일기. (0) | 2022.12.01 |
11월 중순이 조금 지나서 쓰는 일기. (0) | 2022.11.19 |