본문 바로가기
  • True knowledge exists in knowing that you know nothing. -Socrates-

분류 전체보기137

리버싱이란 ?? 리버싱이란 개발이 완료되어 유지보수가 이루어지고 있는 소프트웨어 시스템의 구성요소를 알아 내고, 구성요소들 간의 관계를 식별하고, 대상(object) 시스템을 분석하는 과정이다. (두산백과) 이렇게 정의 되어 있습니다. 쉽게 말해서 소프트웨어를 분석한다 라고 생각 하시면 될 것 같습니다. 저는 처음 리버싱을 지뢰찾기로 공부해볼 생각입니다. 아 그리고 저는 공부할 때 필요한 '리버싱 핵심원리'라는 책을 구입했습니다. 어우 책 크기 만큼이나 사진이 크게 나오네요 2016. 8. 29.
Heap overflow 안녕하세여 인코그니토에서 heap overflow 라는 주제의 발표를 들었습니다.발표자는 조성환님이 였습니다. 아래는 발표 중에 ONENOTE에 적었던 것들입니다. Heap : Malloc을 통해 메모리에 할당 Stack 높은 주소 : 큰메모리에서 작은메모리의 조소로 쌓인다. Heap 낮은 주소 : 작은 메모리에서 큰 메모리로 쌓인다. Who controls Heap? --> memory Allocatorfk라고 불리는 프로그램이 힙 메모리를 관리한다. dImalloc-General Purpose allocaor 생각보다 malloc 은 처리해야할 것들이 많다. 그렇기 때문에 memory Allocatorfk 들이 많다. Malloc 에서 사용되는 자료구조 Heap 큰 메모리 덩어리들 지칭 Chunk 가.. 2016. 8. 18.
인코그니트 참가 및 일상 안녕하세여 요즘 엄청 바빠서 글을 못올렸네요 저는 동아리 부원들과 함께 인코그니토라는 동아리 연합 해킹 컴퍼런스에 스텝을(2박3일) 하고 왔습니다. 많은 강의도 듣고 아래 나오는 친구와 함께 SSG 부스 운영도 했어요 어제부터 동아리 지옥캠프가 시작 됐어요 파이썬부터 퍼져, 파싱등 정말 많은 것들을 배우고 있습니다. 아래 상장은 저희 동아리 인코그니토 CTF에서 1위를 해서 받은 상이에요 선배님들이 하신거지만 기념으로 한장 찍었어여 크크 다음에 살아서 뵈요 ㅜ 2016. 8. 18.
webhacking.kr 회원 가입 오늘은 webhacking.kr 회원가입을 해보도록 하겠습니다. 잘 보이지 않지만 일단 처음 화면에는 회원가입 버튼이 없습니다. 마우스 오른쪽 클릭 or F12 를 클리하시면 페이지 소스를 확인 하실 수 있습니다. 잘 안보이는데 원래 있어야할 회원 가입을 하는 소스가 주석 처리가 되어 있습니다. 저 주석 처리된 코드를 해석해 보면 회원가입 버튼을 눌렀을 때사용자를 정의된 주소로 이동시킵니다. 그래서 바로 마우스로 표시한 주소를 아래와 같이 넣어주기만 하면 됩니다. http://webhacking.kr/join/includ2_join__frm__0001.php?mode=5d83c9633a5f734ac61e6b0643f9cf30 그럼 아래와 같은 싸이트로 이동하게 됩니다. ID와 PW ,EMAIL을 입력합니.. 2016. 8. 16.
LOB level 4 (goblin -> orc) LOB level 4 LOB (goblin -> orc) 1. 첫 번째로 cat 명령어를 사용하여 orc파일의 코드를 확인합니다. 2. 코드 분석1) char형 buffer[40]을 생성 2) 전달 받는 인자의 수가 2개 미만이면 프로그램 종료 3) strcpy argv[1]을 buffer에 복사한다.여기서 argv[0]은 프로그램을 실행시키는 명령어 입니다. 예를 들어 ./cobolt 여기서는 이것이 argv[0]이 되겠습니다. 4) egghunter 바로 환경변수를 사용하지 못하게 막는 것입니다. c언어 함수 memset은 원하는 부분을 초기화 시켜주는 함수입니다. 5) argv[1][47] 이 부분은 argv[1]에서 47번째가 "bf"와 같아야 한다. 라는 의미 입니다. (이것을 쉽게 해석하면 환.. 2016. 8. 1.
LOB level 3 (cobolt -> goblin) LOB level 3 LOB (cobolt -> goblin) 1. 첫 번째로 cat 명령어를 사용하여 goblin파일의 코드를 확인합니다. 2. 코드 분석1) char형 buffer[16]을 생성 2) gets함수는 scanf 함수와 동일한 기능을 하는 함수입니다.어떤 값을 입력받는 함수입니다.buffer에 입력값을 저장 3. gdb 를 사용하여 인자값들의 주솟값을 확인하기 위해 cp 명령어를 사용해 /tmp로 복사시켜줍니다. $ cp goblin /tmp/goblin ( gdb 권한 문제) (tmp위치에서 gdb goblin을 한 후) gdb를 이용해 스텍의 크기는 16 이라는 것을 알 수 있습니다.16byte+main함수의 ebp(4byte)=20byte 를 채운 후 return address (4.. 2016. 8. 1.