orge
-
[LOB] orge > trollWargame/Lord of Buffer Overflow 2021. 5. 28. 11:44
[LOB] orge > troll 바로 메인 함수부터 보면 이전 문제들과 같이 환경변수, 버퍼를 초기화하고 argv[1]길이 검사, argv[1]의 48번째가 \xbf 가 되어야 한다. 그리고 이 부분이 추가되었는데 메인 함수 인자의 개수를 확인하여 인자가 2개가 아니면 종료시킨다. 그래서 argv[2]에 쉘 코드를 넣어 실행시키는 것이 불가능하다. 그럼 쉘 코드를 어디에 넣어주냐! 바로 argv[0] 즉 파일 명을 쉘 코드로 주면 된다. 하지만 원본 파일은 권한 문제로 파일명 변경이 불가능하기 때문에 파일명을 쉘 코드로 cp 해서 심볼릭 링크를 걸어 실행해주면 된다. 파일명을 쉘 코드로 하여 cp 하고 core dumped를 일으켜 argv[0]의 주소를 구해보았다. 여기서 주의해야 할 점은 쉘 코드에..
-
[LOB] darkelf > orgeWargame/Lord of Buffer Overflow 2021. 5. 27. 23:01
[LOB] darkelf > orge 바로 소스코드를 보면 이곳이 바뀌었다고 나와있다. argv[0]의 길이가 77이어야 한다. argv[0]에는 첫 번째 인자 즉 파일을 실행할 때 들어가는 ./orge 이 부분이다. 이 부분의 길이가 77이 되어야하는건데 .///////orge 이런 식으로 길이를 늘려주면 된다. 즉 /를 72개 넣고 실행해주면 된다. 나머지는 이전 문제와 같은 방식으로 풀이하면 된다. core dumped 일으키고 바꿔서 해봅시당. orge / timewalker