반응형
 포스팅 썸네일 이미지

War Games/ctf-review

[ AngstromCTF 2022 ] CTF 딱 1년 차

느낀점 첫 CTF경험한게 이 Angstrom CTF 2021이었다. 그때 1인팀으로 나가서 최종 등수가 1502팀 중에 556등이었다. 이제 딱 1년이 지나 AngstromCTF 2022를 풀어보니 느낌이 뭔가 달랐다.(나이 먹었다는 뜻) 처음에 어떻게 공부할줄도 모르고 그냥 아무거나 닥치는대로 했었는데 이제는 대충 뭐뭐 공부 해야되고 공부하려면 어떻게 해야할지 쪼오금 감이 오고 있긴하다. (하지만 누가 퍼저나 리얼월드 알려주면 더 빨리 배울듯...) 이번에는 학교 동아리에서 5인팀으로 나갔다. (이번엔 45/1319등 했다.) 시험 기간에 할 일도 많고 과제도 많아서 제대로 한건 대충 하루?정도하고 그 이후에는 잠깐씩 문제 풀었다. 이제 CTF 1년차도 됐고, 학교에 무림 고수들이 많아서 문제는 슥슥 ..

2022.05.05 게시됨

 포스팅 썸네일 이미지

War Games/ctf-review

[ H4C Game ] 웹 풀어보기

1. my_secret - php unserialize취약점도 아닌듯 - php unserialize취약점 트리거 조건을 만족하지 않는다. 1. 매직 메소드를 구현한 클래스가 있어야 함 2. 모든 클래스는 취약한 unserialize()가 호출되기 전에 선언되어야 한다. - 그냥 객체를 새로 만들어 줄 수가 있는데 이것으로 $obj->key == I_am_robot 여길 우회해야 한다. - 느슨한 비교를 우회 해야된다. - 아래와 같이 poc를 만들어 보니까 되서 리모트도 됐다. - 이참에 느슨한 비교와 엄격한 비교를 공부해보자. - 공부할게 없다 이 표를 참고해서 알잘딱깔센으로 페이로드 만들면 된다.

2022.03.26 게시됨

 포스팅 썸네일 이미지

War Games/ctf-review

2022 Kaist GON CTF

과제때매 시간이 없지만...오랜만에 재밌는 CTF봐서 라업 좀 써놓는다. 좋은 문제들 많았으니 나중에 참고할 때를 위해.. 아직 뉴비인만큼 아아 받아올 정도의 순위는 아직이다.. 1. Oxidized - Rust Pwnable - 요약 1. 이렇게 입력하여 노드 1개를 추가하면 싱글 링크드 리스트 꼴로 힙이 잡힌다. 2. free시에는 저 리스트를 따라 차례대로 free한다. 3. 맨 아래 0x30사이즈 힙은 free되지 않은채 UAF를 가지고 있다. 4. 싱글리스트의 힙 구조를 기억해보면 linked list -> next를 덮으면 원하는 주소를 free가능하다. 5. 새로운 노드를 할당하면 저 위치에 linked list->next위치에 드가게 된다. 6. aaw와 aar가 생긴것이므로 Fastbin..

2022.03.23 게시됨

 포스팅 썸네일 이미지

War Games/ctf-review

코드게이트 2022라업 VIMT

VIMT Vuln 커스텀 VI에 내용을 적고 "ESC"+":compile"을 해주면 원하는 c코드를 컴파일 후 실행시킬 수 있다. VI에서 x와 y값에 따라 연산을 하는데 ssh로 접속하기 때문에 최대 x(가로)와 최대y(세로)크기를 원하는대로 조절해줄 수 있다. 입력한 값(1)+랜덤한값(5)= 입력 하나당 총 6글자가 들어가는데 뒤에 원하는 코드를 쓰면 system("sh")를 컴파일해낼 수 있다. 어떻게 원하는 x자리에 값을 쓸 수 있는지 손퍼징 한 결과 먼저 첫 글자는 그대로 써진 이후에 원하는 값 10번 치기+":set y 0"+원하는 값을 하면 처음 글자 이후에 순서대로 글을 쓸 수 있다. __int64 compile() { size_t v0; // rax size_t v1; // rax siz..

2022.02.28 게시됨

War Games/ctf-review

[ CSAW CTF 2021 ] word_games

1. BOF가 없는 Heap exploit? 2. fun포함한 4개 청크가 할당되면 tcache_struct free된다. 3. tcache_struct를 조작해 free_hook을 덮는다. from pwn import * context.log_level='debug' #p=process("./a.out",env={"LD_PRELOAD":"./libc-2.33.so"}) p=process("./word_games") e=ELF("./word_games") #libc=ELF("./libc-2.33.so") libc=ELF("/lib/x86_64-linux-gnu/libc.so.6") #p=remote("pwn.chal.csaw.io",5001) def malloc(size,data): p.sendlinea..

2021.09.13 게시됨

반응형