BOF 3

[HackCTF] 내 버퍼가 흘러넘친다!! | write up

안녕하세요! 여러분들! 이번에는 HackCTF 내 버퍼가 흘러넘친다!! 라업을 준비해봤습니다 ㅎㅎ 일단 먼저 실행해보겠습니다 먼저 name이랑 input만 입력을 받네요. 그럼 한번 checksec이랑 file을 이용해 표층분석도 해보겠습니다. 잠깐! 모두 비활성화 되어있네요!! 근데 여기서 중요한건 NX가 활성화 되어있지 않다는것!! 그럼 쉘코드를 사용할수 있다는 것이네요 ㅎㅎ 그럼 이제 ida를 이용하여 어떻게 되는지 분석해 보겠습니다. 자 한번 보겠습니다. 변수 s의 크기 : 0x14 name변수에 0x32만큼 입력을 받고요, 그후, s변수에 또 입력을 받네요. 여기서 알수 있는점! name변수랑 s변수 둘다 입력을 받는다는 겁니다! 근데 보면 s는 무한대로 입력받을 수 있어서 s에 bof 를 일으..

wargame/HackCTF 2019.08.29

[HackCTF] Basic_BOF #2 | write up

안녕하세요! 이번에는 HackCTF의 Basic_bof #2의 풀이를 해드리겠습니다. 이것도 buffer overflow를 이용한 문제라고 하네요? 이것도 마찬가지로 file과 checksec을 이용해 분석해보겠습니다. 보시면, Basic_bof #1 이랑 비슷하게 32비트에다, 리눅스기반 그리고 스트립되어있지 않아요 그리고 NX가 걸려있어 셸코드를 사용하지 못해요. 그럼 ida로 한번 분석해볼까요? 이렇게 v5에 sup이라는 함수의 주소를 넣고, fgets를 이용해 s에 입력받고, v5안에 저장된 sup 함수를 실행하게 되네요! 흠… 그럼 이걸 어쩌지..? 하던 찰나에 왼쪽을 보았더니 수상한 이름의 함수가 떡하니 보였습니다. 오호라.. shell이라고??? 저는 호기심을 참지 못하고 한번 확인해 봤습니..

wargame/HackCTF 2019.08.29

[HackCTF] Basic_BOF #1 | write up

안녕하세요! 이번에는 HackCTF에 있는 basic_bof #1의 write up을 올려볼까 합니다. 처음(?) 라업인지, 되게 기대되네요! 그럼 바로 본론으로 넘어가겠습니다! 제목은 Basic_BOF 말하자면 기초적인 buffer overflow! 말그대로 버퍼가 넘친다 라고 보시면 되겠습니다! bof 에 대한 자세한 내용은 나중에 다시 다루겠습니다. 자… 그럼 바이너리 분석을 할까요? file을 이용해 표층분석을 해봤더니 32bit이고 리눅스 기반에다가 스트립되어있지 않습니다. 흠.. 보호기법은 NX랑 RELRO만 걸려있네요? 일단 우리가 신경써야 할건 NX부분이에요 즉, 셸코드를 사용할수가 없다는 것이죠 자 그럼 바로 ida를 이용해 분석해볼게요 흠.. 보니까 v5라는 변수가 0xDEADBEEF가..

wargame/HackCTF 2019.08.29