[LOB] golem 시작 휴갑니다 휴가!!! 바로 집 와서 LOB부터 켰어요 ㅎㅎ 저번에 풀다 만 FPO 문제 빠르게 넘어가겠습니당 Write UP /* The Lord of the BOF : The Fellowship of the BOF - darkknight - FPO */ #include #include void problem_child(char *src) { char buffer[40]; strncpy(buffer, src, 41); printf("%s\n", buffer); } main(int argc, char *argv[]) { if(argc [heap] 힙 영역을 ARABOZA 시작 안녕하세요 :D 7월 29일에 정보보안 산업기사 시험 접수가 있어서 그 때까지 이론 공부를 좀 하자!! 란 마음을 먹었었는데.. 미뤄두었던 힙 영역을 공부하는데 너무너무 재밌는 거에요ㅠㅠㅠ 무작정 문제부터 풀 생각을 했더니 뭔 소린지도 모르겠고 더 헷갈리기만 해서 이 글로 힙 영역의 메모리 구조를 정리해볼까 합니다. Heap 취약점? 힙 영역은 아시다시피 동적 할당을 할 때 사용되는 공간이에요. 스택을 익스때릴 땐 우리가 원하는대로 RET을 돌리거나 EIP의 흐름을 수정하는 것이 가능했죠? 코드의 진행에 필요한 부분들이 스택에 push pop 되기 때문에 가능했습니다. 하지만 힙 익스는 조금 달라요! 동적 할당을 위해 사용되는 영역이니 만큼 직접적으로 RET이나 레지스터를 건들 수 없어요. 때문에 .. [Pwn] 나도 만들어봤다, 쉘코드!! 시작 안녕하세요 :D 1주일 동안 푹 쉬었습니다!! 시험 끝났는데 놀아야죠 ㅎㅎㅎ 오늘은 심심해서 쉘코드를 공부해보았어요. 이게 생각보다 어려운 녀석인 줄 알았는데 되게 간단하더라구요. ROP나 SROP에서 많이 보였던 친구들이 나와서 반가웠습니다!! 시작해보죠 ShellCode 처음에 쉘코드는 똑똑이 분들이 만들어놓은 암호 코드?? 이런 것인줄 알았습니다. 딱 봐도 더럽게 생겼으니깐ㅎㅎ.. 근데 이게 삽질을 하다 보니 보이는 것들이 많더라구요. 일단 우리가 베이스로 깔고 갈 C 코드는 다음과 같습니다. #include int main() { char *binsh[] = {"/bin//sh", 0}; execve(binsh[0], &binsh, 0); } gcc로 -m32 옵션을 주어 32bit로 컴파일.. [LOB] golem 시작 안녕하세요 :D 많은 일들이 있었어요.. 우리 대장님 박효신 콘서트도 갔다왔고 JLPT N2도 겨우겨우 쳤고!! 좀이따 스파이더맨도 보러 갈거에욯ㅎㅎㅎ 당장 내일 복귀지만 빠르게 몇 문제 풀어보려고 합니다. 시작해보죠!! Write UP /* The Lord of the BOF : The Fellowship of the BOF - darkknight - FPO */ #include #include void problem_child(char *src) { char buffer[40]; strncpy(buffer, src, 41); printf("%s\n", buffer); } main(int argc, char *argv[]) { if(argc [LOB] skeleton 시작 안녕하세요 :D 한참 고민하다가 안 풀려서 구글링 해버린 문제입니다 ㅠㅠㅠ 라이브러리까지 건드릴 줄이야.. Write UP /* The Lord of the BOF : The Fellowship of the BOF - golem - stack destroyer */ #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i; if(argc < 2){ printf("argv error\n"); exit(0); } if(argv[1][47] != '\xbf') { printf("stack is still your friend.\n"); exit(0); } strcpy(buffer, argv[1.. [LOB] vampire 시작 안녕하세요 :D ..저는 파일명으로 장난치는 문제들이 참 싫어요… 왜 argv[0]을 계속 쓰는걸까요ㅠㅠㅠㅠㅠ 더러운 vampire 문제.. 시작해봐요 Write UP /* The Lord of the BOF : The Fellowship of the BOF - skeleton - argv hunter */ #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i, saved_argc; if(argc < 2){ printf("argv error\n"); exit(0); } // egghunter for(i=0; environ[i]; i++) memset(environ[i], 0, strl.. [LOB] troll 시작 안녕하세요 :D 두 달만에 휴가에요!! 너무너무 풀고 싶었던 LOB를 오랜만에 만지니깐 그저 행복합니닿ㅎㅎ.. 더럽고 치사한 대회 문제들만 풀다가 클-린한 쉘코드를 때려박으니 기분이 좋네요 시작해보죠!! Write UP [troll@localhost troll]$ ll total 16 -rwsr-sr-x 1 vampire vampire 12103 Mar 2 2010 vampire -rw-r--r-- 1 root root 550 Mar 29 2010 vampire.c 보고싶던 친구들입니다. /* The Lord of the BOF : The Fellowship of the BOF - vampire - check 0xbfff */ #include #include main(int argc, char *a.. [pwnable.kr] horcruxes 시작 안녕하세요!! Toddler’s Bottle의 마지막 문제, horcruxes를 풀어봤어요 :D IDA 없이 GDB로만 보다가 도저히 눈에 안들어와서.. 구글링과 함께한 풀이입니다. 똑똑이 분들이 참 많더라구요ㅠㅠㅠ 대단쓰 풀 때마다 새로운 ROP 문제였습니다 바로 시작해보죠!! Write UP Voldemort concealed his splitted soul inside 7 horcruxes. Find all horcruxes, and ROP it! author: jiwon choi ssh horcruxes@pwnable.kr -p2222 (pw:guest) Voldemort concealed his splitted soul inside 7 horcruxes. Find all horcruxes,.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 12 다음