티스토리 뷰
LOB orc -> wolfman
id : orc
pw : cantata
코드입니다.
아까와 다른 점이 있다면 똑같이 환경변수를 초기화 해주지만
이번에는 버퍼도 0으로 초기화를 해줍니다. 따라서 쉘코드를 버퍼안에 못 넣겠네요.
그렇다면 ret뒤에 공간을 이용하면 가능하지 않을까요.
일단 분석을 하기위해서 tmp라는 폴더를 만들고 옮겨서 분석하겠습니다.
어셈블리 코드입니다. 중요한 부분만 보도록 하겠습니다.
스택프레임을 44만큼 형성하고 있습니다.
ebp-40부터 strcpy하는군요
따라서 메모리구조는
i(4) | buf(40) |sfp | ret
이 되겠습니다.
저희는 ret뒤에 공간을 이용할 것이니 주소를 구해보도록 하겠습니다.
이렇게 해보겠습니다.
0000000이 보이시나요 버퍼가 0으로 초기화 된 모습입니다.
\xbf\xbf\xbf\xbf는 제가 임의로 집어넣은 ret값이죠.
저는 이 뒤에 값을 이용할 것이니
대략 0xbffff9cc를 주소로 잡고 공격해보겠습니다.
쉘이 얻어졌습니다.
실제파일에 공격을 해보겠습니다.
권한을 획득했습니다.
wolfman의 키는 love eyuna 입니다.
'pwnable > LOB' 카테고리의 다른 글
[LOB] darkelf -> orge write-up (0) | 2018.01.27 |
---|---|
[LOB] wolfman -> darkelf write-up (0) | 2018.01.27 |
[LOB] goblin -> orc write-up (0) | 2018.01.27 |
[LOB] cobolt -> goblin write-up (0) | 2018.01.26 |
[LOB] gremlin -> cobolt write-up (0) | 2018.01.26 |
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
- TLS
- 해킹
- codegate
- glibc
- hacking
- 본선가고싶다
- ebp change
- pwnable
- pwable
- pwnable.tw
- fsop
- FSB
- exit
- heap
- stack reusing
- oob
- rt_sigreturn
- fastbindup
- tcache
- HackCTF
- shellcoding
- srop
- fastbin
- overflow
- SQLi
- Total
- Today
- Yesterday