안녕하세요
사진을 보면 알겠지만 안되는게 너무 많다
buffer+47에 \xbf, \x08을 못하게 함으로
스택 영역이나 코드 영역의 주소를 사용 못한다
LD_PRELOAD 안됨
leave-ret도 사용 불가 (\x40을 제한하진 않았음)
그러니 라이브러리도 사용 못한다
그냥 다 사용하지말라는거다
그럼 어떻게 풀수있냐면
fgets()사용하면
read라는 함수를 통해 일정 영역에 버퍼로 잠시 넣어둔다
$(python -c 'print "A"*48';cat) | strace ./파일 이름
이렇게 하면 중간에
old_mmap으로 0x40015000부터 0x40016000까지
할당해 임시 버퍼로 사용하고있다
A 48개를 read로 읽은 뒤에 0x40015000 임시버퍼영역에 넣어준다
그럼 이제 쉘코드를 임시버퍼에 넣어주고
ret을 임시버퍼로 정해준다
성공
'WARGAME > Lob' 카테고리의 다른 글
LOB FC3 gate (0) | 2016.01.11 |
---|---|
LOB LEVEL20(xavious ==> death_knight) (0) | 2016.01.04 |
LOB LEVEL18 (succubus ==> nightmare) (0) | 2016.01.03 |
LOB LEVEL17 (zombie_assassin ==> succubus) (0) | 2015.12.31 |
LOB LEVEL16 (assassin ==> zombie_assassin) (0) | 2015.12.30 |