ORC
-
[LOB] orc > wolfmanWargame/Lord of Buffer Overflow 2021. 5. 24. 17:46
[LOB] orc > wolfman 이번 문제도 소스코드를 보니 저번 문제와 비슷한 것 같다. 저번 문제에서 추가된 게 이 부분인데 buffer를 0으로 초기화 시키는 것 같다. 쉘 코드가 들어가기에 buffer의 크기가 충분하지만 초기화되기 때문에 쉘 코드를 ret 뒷부분에 넣어서 쉘을 실행시키면 될 것 같다. payload는 아래와 같다. dummy [44byte] | ret [4byte] | shell code [25byte] 이번에도 core 파일을 통해 쉘 코드가 위치할 주소를 알아보자 기존에는 cp 할 때 wolfman1 이런 식으로 기존 파일명에 1을 붙여서 cp 했는데 파일명의 길이를 맞춰 주어야 메모리 주소가 똑같이 복사되는 것 같다. bf가 들어간 0xbffffc70부분이 ret의 주소..
-
[LOB] goblin > orcWargame/Lord of Buffer Overflow 2021. 5. 24. 17:09
[LOB] goblin > orc 먼저 소스코드를 보며 분석해보자. 우선 이 부분에서 환경변수를 0으로 초기화시키기 때문에 쉘 코드를 환경변수에 넣어서 쉘을 실행시키는 것이 불가능하다. 하지만 buffer가 40byte로 쉘 코드가 들어가기 충분하기 때문에 이곳에 쉘 코드를 넣어 실행시키면 될 것 같다. 마지막으로 이부분에서 인자의 48번째 자리가 '\xbf'가 아니면 종료시켜버리기 때문에 인자의 48번째 자리를 신경 써야 한다. 위의 두 부분만 신경 쓰면 쉽게 풀 수 있을 것 같다. 먼저 orc파일을 복사한 후 Segmentation fault (core dumped)를 일으켜 core 파일을 분석해보자. 현재 스택이 아래와 같은데 buffer [40byte] | sfp [4byte] | ret [4b..