반응형

codegate 2018 6

[CODEGATE 2018] 7amebox-diary writeup

IndexSummaryAnalysisExploitSolveCommentSummaryImproper Input ValidationROPAnalysis이제 어느정도 짬이 생겨서 그런지 어셈코드는 금방 해석해낼 수 있게되었습니다. 본 문제 역시 앞서 있었던 문제들과 마찬가지로 짱짱한 DIsassembler를 구현하여 디컴파일해줍시당. 이전 버전보다 jmp나 call시 주소 값을 표기해 줄 수 있도록 했습니다.전역변수 0x59000 저장된 diary 개수 0x59003 1번 diary 주소 0x59006 2번 diary 주소 0x59009 3번 diary 주소 ... ​ 자주 사용되는 용도 bp-0x9 = diary_addr bp-0x6 = buffer/index/allocated address 저장 bp-0x..

Write-up 2019.01.18

[CODEGATE 2018] 7amebox-tiny_adventure writeup

IndexSummaryAnalysisDecompile in CVulnerabilityExploitCommentSummaryVMNo Boundary CheckAnalysis다행스럽게도 VM 환경은 저번 문제와 동일하기 때문에 Disassembler는 그대로 쓰면 됩니다. 물논 분석할 코드의 양이 꽤나 늘어났지만 시간많은 백수는 늘 그렇듯 해낼 수 있습니다. 0 : sub r12, #0x3 5 : mov3 r2, #0x6 a : mov3 r1, r12 c : mov3 r0, #0x4 11 : syscall 0 # return 373 : mov3 r0, #0xc2c 378 : call [r13+ #0x328] # call print_content(0xc2c) "you can't sell..." 37d : mo..

Write-up 2019.01.18

[CODEGATE 2018] Super marimo write-up

Codegate 2018 Super marimo 라는 문제임니다. 우선, 문제를 적당히 파악해 봅시다. 포인터를 이용해 참조하는 부분은, 좀 더 편히 보기 위해 적당한 구조체를 만들어 연결해줍시다.대충 위와 같이, 전보다는 보기 편해졌습니다. 이제 적당히 분석을 시작합니닿. 정말로 적당히 분석해보면, 저기 28번째 줄에서 취약점을 발견하실 수 있습니다. 이해가 쏙쏙 되도록 적당한 예를 하나 들어봅시닿 위의 그림은 이름은 각 각 "AAAAA...", "BBBBBB..."이고, profile은 둘 모두 "0000000.." 인 marimo를 "show me the marimo"라는 치트를 통해 만들었을 때의 힙 영역을 나타낸 것임니다. 위와 같은 상황에서 만약, 첫 번째 marimo의 profile을 만약 ..

Write-up 2018.02.20

[CODEGATE 2018] BaskinRobins31 write-up

문제는 BaskinRobs31 게임입니다.게임의 규칙은 다들 아시다시피, 31이라는 카운트에서 서로 1~3 까지의 수를 말하고 그에 해당하는 값만큼 값을 깎는 것을 반복하는 겁니다. 자신의 차례에 이미 카운트가 0이 되어있다면 지는 게임입니다. 하지만 모든 게임에는 잔머리가 있듯이, 필!승!전1략1이 있는데요. 제가 한 번 해보겠습니다. 이 게임은 선빵을 먼저 때릴 수 있으면 이기는 게임입니다. 3만 계속 외치다보면 어느순간 상대방의 차례에는 4가 남아, 상대방은 어떤 수를 내도 다음 차례에 질 수 밖에 없기 때문이져. 근데 이놈이 사기를 칩니다; ㅎ..ㅎㅎ프로그램 따위에게 농락을 당해버렸지만, 그 복수는 쉘을 따버리는 것으로 갚겠습니다. 친절하시게도 제일 먼저, ROP가 힌트라고 알려줍니다. 문제를 분..

Write-up 2018.02.06

[CODEGATE 2018] 참가후기

코드게이트에 처음 참가했다. CSAW 2017과 DCTF 2017 이후로 세 번째다. 앞서 두 개의 대회 때와 다른 점이라면, 그 때 당시에는 거의 버퍼오버플로우 정도만 알았던 정도랄까. 그때와 비교해서 지금은 기술 몇 개 정도는 원하는대로 사용할 수 있을 정도이니, 좀 더 대회를 재미있게 즐겼던 것 같다. 이번 대회를 계기로 한가지 큰 것을 얻어가는 것 같다. 퍼너블이 재미있어지기 시작했다. 사실, 개인적으로 CTF 분야에서 포렌식 문제를 좋아한다. 뭔가 잔머리(?)를 굴리고 문제 방향이 다채로워서인데, 퍼너블 분야도 포렌식 분야만큼, 아니 더 그런 면들을 가지고 있다는 것을 많이 느꼇다. 머리 속에서 여러가지 익스플로잇 시나리오를 짜고, 계속 사용할 수 있을 것 같은 여러 방식들을 고민해보고, 내 익..

반응형