[2019.2.15.11:30~2019.2.16.18:00] [해킹캠프 신청!!!] 오프라인으로 진행하는 대외활동을 처음으로 참여하게 되었다. 해킹캠프를 신청하기 전 해킹캠프에 대해서 알아볼 때, 해킹캠프는 주로 중고등학생이 참여한다는 내용을 얼핏 보았고, 현재 나는 22살이면서 아는것은 거의 없기 때문에 많은 고민이 되었다....ㅠㅠㅠ 가서 팀에 민폐만 끼치지 않을까 라는 생각으로.... 어쨋든 군대 가기전에 나름의 목표로 최대한 많은 대외활동에 참여하자!!! 였기 때문에 신청을 하게 되었다. 신청한 후에 발표 주제가 페북에 업로드 되었고, 평소 IOT에 관심이 많은 나는 발표 주제를 확인했을 때 3개 정도의 IOT 주제가 눈에 띄였고 해킹캠프에 더더욱 참여하고 싶어졌다. 명단이 공개 되는 날이 되었고..
처음 pwnable.kr 문제를 풀며 가장 문제점이 됐던 것은 해당하는 값을 어떻게 전달하냐는 것 이였습니다.어떻게 풀지는 알겠는데 값을 전달할줄 몰라 한참 해맨적도 있었고요.... !!!이 자료는 정확하지 않습니다. 이 외의 많은 방법으로 값을 입력할 수 있으며 이번 포스팅은 그중 극히 일부입니다.!!! 먼저 python을 이용하여 제가 입력한 값이 소스코드에 알맞게 들어갔는지 확인하기위해 C언어로 테스트 소스를 작성해보겠습니다.테스트 소스 이 소스파일을 gcc를 이용하여 컴파일 후 테스트 하겠습니다. (argc와 scanf에 인자를 전달하는 방법은 다릅니다.) 가장 먼저 python -c 를 통해 두개의 입력값을 입력하고자 할 때 잘 되지 않았습니다.argc에만 입력값이 들어가는 모습. scanf에 ..
[2019.01.18 ~ 2019.01.20] 처음 이 소설의 이름을 들은지는 꽤 시간이 흘렀다. 이 소설이 한참 유명세를 타고있을 때 쯤 소설의 제목을 처음 접한 나는 '호러물인가 보다'라고 생각하고 넘겼던 기억이 있다. 최근 책을 읽기 시작하며 우연히 이 책을 발견하였고, 그 날부터 읽기를 시작했다. '너의 췌장을 먹고 싶어'라는 문장은 작가의 의도와 딱 맞게 나에게 다가왔다. 소설의 제목으로는 내게 자극적이고 '으~ 췌장을 왜 먹어???'라는 생각이 들게 하지만 책의 내용을 하나하나 읽어보면 사랑한다는 표현이 서투른 둘 사이에 사랑보다 더 깊은 뜻을 담은 것이다. 평생 나와 함께하자 라는 뜻으로... 평소 삶에서 내일은 당연하게 온다고 생각하고 살고 있다. 가장 나랑 가까운 사람은 여태 '죽음'이라..
[2019.1.9 ~ 2019.1.16] 이번년도 처음으로, 아니 대학교 처음으로, 어쩌면 살면서 내 의지로 책을 끝까지 읽어본 적이 이번 처음일 것이다. 처음에는 단순히 책을 읽어야 건강한 삶을 산다는 사회적 문화(?) 분위기(?)로 책을 읽기 시작했다가 이 책을 읽는 것이 나만의 목적을 가지고, 내 의지로 바뀌게 되었다. 이 책의 80%이상의 내용을 나는 이미 알고 있었다고 생각한다. 하지만 알고만 있는 것과 내가 아는 것은 조금 다른 것 같다. (안다면 그에 걸맞는 행동을 해야 할 것이다. 그렇지 않다는 것은 내가 그 것을 모르는 것이다.) 대부분의 이야기는 당연한 이야기를 당연하게 해주는 느낌이지만, 독자로써 느낀 바로는 그 당연한 이야기도 나는 평소에는 잊고 산다는 것이다. 내 경험에 비추어본 ..
버퍼 오버플로란? 먼저 이 글은 pwnable.kr에 bof 문제를 처음 접하게 되면서 한번 정리해야 겠다는 생각이 들어 정리하게 되었습니다. 버퍼 오버플로(buffer overflow)란?? 버퍼오버플로 어디서 한번쯤은 들어보셨을 것이라고 생각합니다.버퍼오버플로에 대해서 알아보기 전에 buffer와 overflow의 사전적 의미를 알아봅시다. buffer 란? 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 그 데이터를 보관하는 메모리의 영역입니다. overflow 란? 사전적으로 넘쳐흐른다는 뜻 입니다. (buffer+overflow)버퍼 오버플로 란? 할당된 메모리 영역이 아닌 다른 영역을 침범하는 공격 이라는 이야기 입니다. 이번에는 버퍼오버플로중에서 주로 스택 오버플로에대해서 다루어 보려고 합..
문제를 처음 본 순간 미루고 미루던 gdb 공부를 해야겠구나 라는 생각이 들었다. 그렇게 문제를 처음 본지 하루 정도가 지나서야 간단한 gdb명령어를 익히고 bof 문제를 제대로 풀기 시작했다. 여기서 사용된 개념인 gdb, 버퍼오버플로우, python을 통한 인자 전달은 다른 포스팅에서 설명하겠습니다. 사전조사 해당 문제는 소스파일과 문제파일 두개를 주었고, 문제의 정답은 nc pwnable.kr 9000을 통해서 입력해 주면 될듯 합니다. bof.c소스파일 해당 문제의 소스 파일을 먼저 간단하게 해석해보면 key값이 0xcafebabe와 같아지면 쉘을 실행시켜주고 그 실행된 쉘을 통해서 flag파일을 찾으면 될 듯 합니다. 하지만 key의 값을 입력하는 곳은 어디에도 없고 func에서 overflow..