pwnable(115)
-
FC3-2 iron_golem -> dark_eyes
개인적으로 드는 생각인데 현재까지는 LOB뒷부분보다는 FC앞부분이 훨씬 쉬운 느낌이다. LOB20번째를 풀려다가 소켓통신부분은 우분투 설정도 그렇고 뭔가 안맞는부분이 많은거같아서 도움을 받기로하고 FC부터 푸는중이다 :) 그럼 문제를 살펴보자.--소스코드-- EBP를 변조해서 푸는거는 더이상 어려워 진거 같습니다.하지만 문제에서 RETsleding이라고 알려줬으니 이부분을 이용하면 그래도 쉽게 풀 수 있을거라고 예상합니다. 어셈블리를 보고 RETsleding을 위해서 리턴부분에 bp를 걸어주고, 리턴까지 덮어주기위해서 덤프값을 272byte넣어줍니다. esp위치를 보면 fafe부분을 execve로 덮어주고, 0083부분을 심볼릭링크를 걸어주면 될 것 같습니다. 그럼 페이로드는 dump[268] + ret..
2018.08.02 -
LOB - 19. nightmare -> xavius
LOB19번 문제입니다. 로그인을 하고 소스코드를 봅니다. 코드가 긴편에 속하는군요 스택, 바이너리, 라이브러리 다막혔습니다. 그런데 왜 stdio input으로 문제를 줬을까요..이게 조금 수상해서 메모리를 계속 따라가 봤습니다. 그랬더니 인풋한 값이 아래처럼 그대로 보이더군요.0x41414141이 보이는데 기분이 굉장히 좋았습니다. 아주 간단하게 리턴값을 이부분으로 조작해줍시다. (grin) 19번 문제치고 간단하게 풀리네요.뭔가 더 어려운문제였는데 그 속임수에 안걸린거 같기도 하고요..
2018.08.01 -
LOB - 18. succubus -> nightmare
오늘은 해야하는걸 알지만 머리에 너무 안들어와서 숨질것 같았다...ㅎㅎ 먼저 로그인을 하고!! 소스코드를 분석하자! 버퍼 뒷부분을 AAAA로 덮어서 ret뒤에 있는 코드를 사용 못하게끔 한다.그리고 힌트에는 PLT라고 나와있다. 스택부분에는 RLT을 이용하고, 뒷부분은 strcpy함수를 이용해서 다시 버퍼쪽으로 오게끔 하면 된다. 따라서 payload는 아래와같다.&system + dummy[4] + $/bin/sh + dummy[32] + &strcpy + dummy[4] + &ret+4 + &buf 생각보다 복잡하게 느껴지지만 우리가 구해야하는것들은 간단하다. 먼저 메인을 분석해서 strcpy위치를 구한다. 그리고 버퍼위치을 구하기위해서 소스코드를 약간 수정한다 system함수위치를 찾고 /bin/s..
2018.07.31 -
LOB - 17. zombie_assassin -> succubus
이번문제 17단계 치고는 꾀나 쉬웠던 것 같습니다. 로그인을 하고 소스코드를 봅시다 문제를 보니 코드가 엄청 길군요... 위에 함수들을 살펴보면 각각 순서대로 이어주면 될거같은 느낌입니다.! 크게 아래 메인함수에 신경쓰지않아도 이번문제는 풀 수 있을 것 같습니다! 그럼 각각의 함수를 이어주기 위해서 각각 함수의 주소를 얻어보죠! 함수의 주소를 얻은 뒤에는 4btye+&shellcode+"/bin/sh" 각각 이어준다음에 쉘코드의 주소를 얻기 위해서 "ABCD"를 넣어주고 코어를 만들어냅니다! 그러고 코어를 분석해서 "/bin/sh"가 들어갈 위치를 찾습니다! 그 코드를 기반으로 exploit해주면!? .....패스워드가 의미심장하다.. 다음문제에서 엄청 화가날 것으로 예상된다. (grin...)
2018.07.31 -
LOB - 16. assassin -> zombie_asssassin
위 문제를 풀다가 도저히 이해가 힘들어서 Fedora3를 풀어봤는데 Fedora3의 gate문제도 비슷한 문제였습니다 ㅎㅎ 그래서 fakeebp를 풀어보고, 비슷한 방법으로 이 문제를 시도해봤지만.. 역시 안되더군요 ㅎㅎ 그래서 초심으로 돌아가봤습니다. 일단 로그인을 합니다. 소스코드를 봅니다. FEBP를 사용하라고하고, 리턴 뒤에값을 사용하지 못하는군요..ㅠ2번문제를 포스팅했던 RTL을 이용해서 풀어볼 예정입니다. 계획한 payload는 다음과같습니다.RTL*12 + "\n90"*28 + "buffer-4" + leavebuffer sfp ret 1. system함수 위치 2. /bin/sh 위치3. buffer-4 위치4. leave위치만 알면 됩니다. system 함수는 아래와 같 이 찾습니다. 이..
2018.07.30 -
FC3-1 gate -> iron_golem
첫번째 페도라 문제입니다. lob15번? 정도를 풀다가 fake ebp에서 멘탈이 나가서 이문제를 풀어봤지만 이문제도 fake ebp라고해서... 체념하고 풀었습니다. 이문제 처음에는 상당히 어렵게 다가와서 (http://lclang.tistory.com/23)님의 블로그를 많이 참조하여 이해했습니다. FC는 로그인창이 딱히 별게 없어서 소스코드와 함께 띄우도록 하겠습니다:) 얼핏보면 진짜 간단하게 exploit이 가능할거라고 예상하지만 보호기법때문에 힘들어보입니다.스택에 shellcode를 넣어도 실행권한이 없고, 주소가바뀌어서 거의 불가능합니다. GOT함수를 조작하기위해 함수의 위치를 발견합시다! 함수의 위치를 발견했으면 함수속으로 들어가봅시다! got앞부분인 0x00000001로 심볼릭 링크를 걸어..
2018.07.30