티스토리 뷰

이번 문제는 Fedora 3 LOB 의 마지막 문제입니다 ! 문제보시죠 ~

xshell 을 이용해서 풀어봤는데 뭔가 더 보기가 좋네요 ㅎㅎ. 앞으로는 xshell 사용키로 했습니다.

아무튼, 이번 문제는 전 문제와 풀이는 같지만 fgets 함수의 임시버퍼 부분을 지웁니다.

xinetd 환경이라는 것을 빼면 다를 것이 없지만 전 문제와 똑같은 방식으로 풀면 풀리지 않을 확률이 높습니다.

왜 그런지에 대해서 한 번 보고 시작하죠.

일단 printf@got 주소는 0x804984c 입니다. 그렇다면 got 의 주소와 범위를 살펴보도록 하죠.

data 영역의 주소와 printf@got 주소의 차이가 0x10 밖에 안나기 때문에 가젯을 잘못사용하면,

data 영역을 침범하는 사태가 발생합니다. 그렇기 때문에 이번 문제에서는 여유롭게 bss 영역을 이용하겠습니다.

저번 문제와 같은 맥락의 공격 코드 구성입니다. 다른 곳만 굵게 표시하면,

| buf(268) | +

| strcpy@plt | ppr | bss+4[0] | system[0] | +

| strcpy@plt | ppr | bss+4[1] | system[1] | +

| strcpy@plt | ppr | bss+4[2] | system[2] | +

| strcpy@plt | ppr | bss+4[3] | system[3] | +

| strcpy@plt | ppr | printf@got | bss+4 | +

| printf@plt | AAAA | &/bin/sh |

크게 달라진 곳은 없습니다. 단지 bss+4 영역에 값을 복사한 후에 나중에 값을 가져온다는 것을 제외하면요.

그럼 바로 공격해보죠. 가젯과 필요한 것들은 이제 구하는 법 아시리라 믿습니다 !

공격 성공 ! let there be light ~~ !

그리고 접속을 바로 해보면요 !

흑... 이제 Fedora 4 로 진입하겠습니다 !!!

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함