2023년 04월

Hacking Pwnable

[PWN] prob2

  카나리 말고는 다 있다. prob2는 함수가 참 많다. 그래서 처음엔 약간 복잡해 보였지만, 정리해보니 다음과 같았다. case1에서는 s라는 배열에 […]

Hacking Pwnable

[PWN] prob1

  PIE가 없고, Partial RELRO이다. got overwrite를 이용해야 할 것 같은 느낌이 든다. ida로 까본 메인 함수이다. read와 add 옵션

Hacking Pwnable

[PWN] relro2

  relro1과 마찬가지로 Full relro와 NX만 켜져있다. ida로 까봤다. main함수에서는 r2(내가 이름 정해줌) 함수만 호출하고 있고, r2 함수 내부에는 buf를

Hacking Pwnable

[PWN] relro1

  NX와 full relro만 켜져있다. ida로 까봤다. buf의 크기는 정확히 모르겠지만(0x30이라고 생각했는데, ida로 보니 아닌 거 같기도 하고..?), 일단 buf의

Hacking Pwnable

[PWN] pie2

다 켜져있다. ida로 까봤다. 흐름은 대충 bof가 한번 일어나고, 특정 주소에 8byte를 덮어쓸 수 있고, 마지막에 특정 주소를 free할 수

Hacking Pwnable

[PWN] pie1

  이번 문제는 Full Relro, NX, 그리고 PIE까지 켜져있다. 코드 영역의 주소까지 랜덤화된다는 것을 인지하고 시작하자. ida로 까봤을 때 메인

Hacking Pwnable

[PWN] canary2

  ida로 까봤다. thread를 생성할 수 있고, 입력을 받을 수 있다. 그리고 마지막에 read로 0x400만큼 입력 받을 수 있기에 bof가

Hacking Pwnable

[PWN] canary1

  canary, nx, pie, full relro 다 켜져있다. 메인 함수이다. 처음엔 약간 복잡해 보였지만 그렇게 복잡하지 않다. 예전 주차에 풀어봤던

Hacking Pwnable

[PWN] helpme

  C코드를 보자. main 함수 내부에는 긴 설명이 적혀있다. 간단히 요약해보면 name을 입력 받고(크기는 10byte로 제한) 이를 출력해주며, vuln 함수를

Hacking Pwnable

[PWN] note

  C코드이다. main 함수 내부에는 note라는 2차원 배열(100 x 8)이 선언되어 있고, name에 입력을 받은 후 while 내부에서 input_note, print_note를

위로 스크롤