본문 바로가기

LOB3

[LOB] 3번 goblin 3번 코드를 보면 16바이트 밖에 되지않는다 그래서 환경 변수를 이용하자 올리고아래 코드를 이용해주소 값을 알아내자 그 후에 나온 주소를 바탕으로 파이프라인을 짜면 원래 하던 대로 하면 안된다... 이 문제는 인자를 받아주는게 아니기 때문에 이러한 방식으로 하면 끝! 2017. 11. 16.
[LOB] 2번 cobolt 2번 시작해보자 코드를 보니 buffer의 크기가 16byte이고 저번문제처럼strcpy함수이후에 buffer에 값이 들어가는 것을 볼 수 있다. 이렇게 되면 buffer+sfp 해서20byte가 들어가야한다.즉, 내가 가지고 있는 쉘코드를 넣기에는 너무 작은 크기이다..그래서환경변수를 이용하자 먼저 쉘코드를 환경변수에 등록 해놓고 저번에 1번 풀 때 사용한 주소를 받아오는 C코드를 이용하자 실행해서 shellCode를 실행할 수 있는 주소0xbffffc21을 얻었다. 이걸 바탕으로 작성해서 해봤는데안된다...ㅎ 왜그런지 모르겠어서다른 방법을 생각하던중에저번에 선배가 동아리때 shellcode를 뒤에 삽입하는 방법을 알려주셨는데그게 떠올랐다바로 해보자 먼저 입력되는 버퍼의 주소를 알아야 하기에strcpy.. 2017. 10. 15.
[LOB] 1번 gremlin LOS에 이은 BOF시리즈 LOB를 풀어보자 우선 gate로 로그인한다 이 C코드를 보니 버퍼의 크기는 256byte인것을 알 수 있고 buffer에 값이 입력되는 시기는 strcpy함수가 작동한 이후라는 것도 짚고 넘어가자 gremlin을 gdb로 접근할 권한이 없기에test로 복사하여 gdb에 접근하자 buffer의 크기가 256byte고SFP가 4byte니깐쉘코드를 포함하여 260byte를 채우고 그 후에 ret주소를 넣는식으로 payload를 작성하면 될거 같다.-------------------------------------------------------------------------------------------------AT&T 문법을 intel 방식으로 바꾸는법gdb 내에서set d.. 2017. 10. 14.
반응형