또 늦게 올리게 되는 CodeByO입니다.

유튭에서 식빵 팝콘이란 요리가 있어서 한번 해봤는데 요리에서도 삽질을...(카라멜 만들기 ㄹㅇ 힘들더군요...)

그래서 조금 늦었습니다.(사실 멍때리고 있었다는..)


저번 문제하고 많이 유사합니다. 이번에는 굳이 /bin/sh 를 힘들게 입력 할 필요 없이 buf에 쓰레기 값좀 넣어주고 check에 deadbeef를 밀어 넣어주면

될거 같습니다.



넣어야될 크기 차이는 0xffffffc8 - 0xfffffff0을 빼면 40이 나오고 그렇게 해서 넣어주면 됩니다.



일단 level14디렉에 있는건 r명령어가 안먹히니 tmp디렉토리에 옮겨서 했습니다.



원래는 이렇게 하면 되지만...stdin떄문에 cat명령어를 붙여야지 종료가 안됩니다.



그리고 my-pass를 하면



안되네요...젠장....level 15~16은 됬던걸로 기억하니 그때를 기약해야죠...


내일은 level20까지 그냥 다 끝내버릴 생각이기도 합니다.


끝내고 눈으로만 읽었던 '해킹 맛보기'와 '해킹 공격의 예술'책을 진지하게 해서 끝낼려고 합니다.


차근차근 나가봐야겠죠..


오늘은 여기서 마치도록 하겠습니다.



'포너블 > Hackerschool F.T.Z' 카테고리의 다른 글

20170813 F.T.Z level16  (0) 2017.08.13
20170812 F.T.Z level15  (0) 2017.08.12
20170810 F.T.Z level13  (0) 2017.08.10
20170809 F.T.Z level 12  (0) 2017.08.09
20170808 F.T.Z level 11  (0) 2017.08.08

바로 시작하도록 하겠습니다.



ㅎㅇ i가 버퍼오버플로우를 막는 역할을 하고 있습니다.



디스어셈블하고



밑에서 2번째 줄에 0x01234567이 i 부분이고 나머지는 A i 부분에만 0x01234567을 넣고 하면 될거 같습니다.



전 분명 책보고 따라했는데 왜 안되는걸까요.....뭔가 요즘 계속 쉘이 안따지는거 같네요...ㅠㅠㅠ 이거 이렇게 못둡니다. 20까지 끝낸다음 안되는거 재 도전할겁니다!! 일단 오늘은 여기서 마치도록하고 빨리 다른걸 경험하도록 하겠습니다.


'포너블 > Hackerschool F.T.Z' 카테고리의 다른 글

20170812 F.T.Z level15  (0) 2017.08.12
20170811 F.T.Z level14  (0) 2017.08.11
20170809 F.T.Z level 12  (0) 2017.08.09
20170808 F.T.Z level 11  (0) 2017.08.08
20170807 F.T.Z level 10  (0) 2017.08.07


어차피 오늘도 12시에 잠 안올거 같아서 그냥 했더니..다해버렸습니다.ㅋㅋㅋㅋ


클래스 입문 맨 마지막에 알 수 없는 car클래스가 밑에 클래스에서 나온거였네요ㅋㅋㅋㅋㅋ


일단 이 다음에는 파이썬 챌린지를 한다던가


크롤링 봇 만들기도 해볼려고 합니다.


우여곡절이 있지만 끝내서 다행이네요ㅎㅎ




일단 2개만 하면 다 완료한거....라고는 못하겠네요


이거 한글화가...ㄷㄷㄷ


아니 무슨 python 2.7한글 지원 안한다 그러고


그래서 맨 위에 UTF-8지정해 주는거 했더니 깡그리 무시하고


클래스 마지막에는 정삼각형 상속 클래스 만들라더니


밑에 설명에는 본적도 없는 car클래스가 깝뚝튀하고


이거 솔직히 너무한거 아닙니까?


하....그나마 전보다 클래스에 대해 이해가 가서 다행이긴한데....안되는건 넘어가고 하니까 뭔가 되게 찜찜하네요....

일단 빨리 외주 받을 수 있을 정도의 실력좀 쌓고 용돈좀 벌고 싶습니다..ㄷㄷ


바로 시작해 보도록하겠습니다.



전형적인 버퍼오버플로우네요 

256(str)+8(dummy)+4(sfp)+4(ret)

로 쉘코드를 만들어주면 될거 같습니다.



맨 위에서 0x108이 str+dummy값입니다.



실제 구조를 보기 위해 브포를 걸고 돌려봤습니다.



왼쪽 2번째 줄에 0x41414141이 올라가시는걸 보실 수 있습니다. 저렇게 실제 거리를 재야되죠



system(/bin/sh)를 사용해야되니 system함수 주소와


쉘의 주소를 알아내도록 합니다.(저 코드는 한 블로그에서 퍼왔습니다.)


이렇게 해버리면 프로그램이 그냥 하고 종료가 되어버립니다. cat명령어로 다시 실행시키면 해결됩니다.



쉘 구조는 str(268)+system()+dummy+/bin/sh 입니다.



저는 이상하게 또 안되더라구요...(도데체 뭐가 문제지...) 일단 이론적으로 알고 했으니 오늘은 여기서 마치도록 하겠습니다.


'포너블 > Hackerschool F.T.Z' 카테고리의 다른 글

20170811 F.T.Z level14  (0) 2017.08.11
20170810 F.T.Z level13  (0) 2017.08.10
20170808 F.T.Z level 11  (0) 2017.08.08
20170807 F.T.Z level 10  (0) 2017.08.07
20170802 F.T.Z level 9  (0) 2017.08.02

요즘 잘 까먹네요.....


음..역시 단기적인 목표가 없으면 의욕이 떨어지나... 대회가 끝나서 그런지 조금 소강상태네요(내일부터도 미리 풀어논 문제가 없어서 풀어야된다는,...)


일단 기록을 시작하도록 하겠습니다.



전형적인 포맷스트링버그입니다.



어.....왜 중간 설명이 없는지 궁금하시곘지만 바로 윗사진은 그 풀이를 보고 적은 쉘코드들인데.....


원래는 포맷스트링과 디버거 쓰는법에 익숙해 질러고 해봤습니다....


그런데..!


이놈이 마음대로 동작을 안해주네요..ㅠㅠ


맨탈 나가서 그냥 풀이보고 하는데....(3일동안 붙잡았습니다.)


그래도 안되서...

일단 이해는 했습니다만...


뭐 여긴 풀이를 해주는곳이 아니라 제가 한걸 기록하는곳이니까요ㅋㅋㅋㅋㅋㅋㅋ


일단 나중에 성공했습니다.

근데 스샷이 안찍혀있네요..ㄷㄷㄷ


뭐 일단 여기서 마치도록하죠(내일부터는 원상태로 복귀해야될거 같네요..)


'포너블 > Hackerschool F.T.Z' 카테고리의 다른 글

20170810 F.T.Z level13  (0) 2017.08.10
20170809 F.T.Z level 12  (0) 2017.08.09
20170807 F.T.Z level 10  (0) 2017.08.07
20170802 F.T.Z level 9  (0) 2017.08.02
20170801 F.T.Z level 8  (0) 2017.08.01

오랜만에(?) 쓰게 되는 기록입니다ㅎㅎ


요즘 너무 더워서 잠을 못자 저녁형 인간이 되어버린CodeByO입니다.(개학때 어떻하지...)



일단 시작해보죠


공유 메모리! 아주 멋집니다. 그냥 이미 정의되어 있는 라이브러리를 사용해서 플밍좀 하면 되겠네여



일단 0x00001d6a를 10진수로 바꿔보면 7530이니 첫번째로 나와있는게 저희가 들어가야될곳이네요.


권한이 666(음?)이니 이것도 넣으면 될거같습니다.



shmget()와 shmat()를 사용해서 저렇게 작성해주면 됩니다.

shmget()이 생성이고

shmat이 접속이라고 생각하시면 편할거 같네요



컴파일해서 실행하면 성공! (뭔가 기록이 되게 성의없네요...)

뭐 차츰나아질거란 헛된 기대를 하면서 오늘은 여기서 마치도록 하겠습니다!


'포너블 > Hackerschool F.T.Z' 카테고리의 다른 글

20170809 F.T.Z level 12  (0) 2017.08.09
20170808 F.T.Z level 11  (0) 2017.08.08
20170802 F.T.Z level 9  (0) 2017.08.02
20170801 F.T.Z level 8  (0) 2017.08.01
20170731 F.T.Z level 7  (0) 2017.07.31

오늘은 가족행사때문에 많이 늦었습니다.(11시에 집도착했다죠..)


오늘도 미리 풀어두었다는것에 감사하며


시작해보도록 하겠습니다.



ㅇㅎ 이건 buf의 크기는 10바이트지만 받는건 40바이트여서 생기는 오버플로우군요.

buf에는 쓰레기값을 넣고 buf2에는 go를 밀어서 넣으면 될거 같습니다.



그럼 구체적인 메모리 확인을 위해 gdb를 키고~



main함수를 디스어셈블 하지만~ 실패......그냥 추측으로 풀었습니다.....



어...간단히 "A"는 1바이트 g, o가 각각 2바이트로 buf에 10 넣고 buf2에 6 + go를 넣었다고 생각하시면 됩니다.


왜 6을 넣야되는지는 메모리 구조를 보고 오셔야 이해 간다는거...ㅎㅎ


달고나님 문서또는 콘치의 리얼리티 %3000 리버싱 강의를 추천드립니다.



그럼 오늘은 여기까지 하도록 하겠습니다~

'포너블 > Hackerschool F.T.Z' 카테고리의 다른 글

20170808 F.T.Z level 11  (0) 2017.08.08
20170807 F.T.Z level 10  (0) 2017.08.07
20170801 F.T.Z level 8  (0) 2017.08.01
20170731 F.T.Z level 7  (0) 2017.07.31
20170730 F.T.Z level 6  (0) 2017.07.30

지금 level11번을 이해를 못해서 막히고 있지만 비축분이 있어 오늘 껀 올립니다.



네 용량이 2700이라네요 그럼 find 의 -size 옵션을 사용해 줍시다.



이렇게 입력을 하면 됩니다 참고로 2700c는 2700Byte란 소리 입니다. 자세한건 구글 검색!



다른건 별 의심스럽지 않은데 저 found.txt.가 매우 의심스럽네요



역시 shadow파일 이였습니다.


실제 크래커들이 서버에서 패스워드를 빼냈다고 하면 대부분 저런 형태인데요 level9:(비번):11040입니다.


그래서 여기서 비번을 얻기 위해서는 암호화된걸 풀어 줘야되는데요.


대표적인 패스워드 크랙툴인 존더리퍼의 GUI버전인 johnny를 사용해 쉽게 풀었습니다.


네 file로 found.txt를 추가해서 Start new attackf를 누르면 거의 0.1초만에 해결되는 마술을 경험 할 수 있습니다ㅎㅎ


그럼 오늘도 여기서 마치도록 하겠습니다!(포맷스트링 너무 어렵다는...)

'포너블 > Hackerschool F.T.Z' 카테고리의 다른 글

20170807 F.T.Z level 10  (0) 2017.08.07
20170802 F.T.Z level 9  (0) 2017.08.02
20170731 F.T.Z level 7  (0) 2017.07.31
20170730 F.T.Z level 6  (0) 2017.07.30
20170729 F.T.Z level 5  (0) 2017.07.29

여태까지 자고 있었습니다....요즘 계속 불면증이라 몸이 못버틴거 같네요...

겨우 지금 깻으니 기록은 올리고 다시 자야곘다고 생각합니다.



이번 문제는 자신이 직접 F.T.Z 서버를 돌리면 사전에 Wrong.txt를 추가하지 않으면 풀 수 없습니다. 왜 없는건지는 모르겠지만


직접 돌리면 없다고 하네요;; 처음 풀때 뭔가 있는거 같다고 삽질헀는데 파일이 없어서 그런거 였다는거 보고 맥빠졌다죠....



일다 프로그램을 실행시켜 줍니다.



네 여기서 wrong.txt의 내용이 나와야 되는데 파일이 없다고 뜨네요. wrong.txt.의 내용은

hello. y0upd(Pwn&Play)!?

Can't Password. Near the Password!

--_--_- --____- ---_-__ --__-_-


이렇게 되있습니다.


그럼 이제 어떻게 푸냐....비번은 가까운곳에 있고 2진수에서 10진수라고 하면.....wrong.txt파일의 3번째 줄을 의심해 보면 됩니다.


위에 있는걸 1 밑에 있는걸 0이라 하고 10진수로 변환하면 mate란 글자가 나오고 그걸 입력하면....


이렇게 풀리게 되죠 사전에 wrong.txt 만 제데로 추가 하시면 풀때 문제가 생가지 않을 겁니다.(원래 해야됬었는데 까먹었다는....)


뭐 그럼 오늘은 여기서 마치도록 하겠습니다!


'포너블 > Hackerschool F.T.Z' 카테고리의 다른 글

20170802 F.T.Z level 9  (0) 2017.08.02
20170801 F.T.Z level 8  (0) 2017.08.01
20170730 F.T.Z level 6  (0) 2017.07.30
20170729 F.T.Z level 5  (0) 2017.07.29
20170728 F.T.Z level 4  (0) 2017.07.28

+ Recent posts