한땀한땀 정성들인 코딩

LOB 문제풀이 일기(4) 본문

보안/LOB

LOB 문제풀이 일기(4)

romance penguin 2021. 3. 27. 17:35
반응형

이야 코볼트 잡으러 가자!!

소스 확인

int main(int argc, char *argv[]){

char buffer[16];

if(argc < 2){

printf(“argv error\n”):

exit(0);

}

strcpy(buffer, argv[1]);

printf(“%s\n“, buffer);

}

buffer크기가 작네?? 

그럼 그냥 ret 뒤에다 넣으면 되겠고만.. .

 

payload 작성

dummy (20byte) + ret (4byte) + nop적당히 + shellcode

 

ret 찾자!! 적당한 복귀주소

gcc –o cobolt2 cobolt.c

코볼트 짝퉁 컴파일 하고

gdb로 확인

근데 레드햇에서 set disassembly intel 지원안하네 .. ㅡㅡ

자 break *0x8048479 해주공

 

실행은 r $(python –c ‘print “\x65”*20’)

ret는 0xbffffb1c지점

그러나 이건 복사본의 ret이기 때문에 ret주소가 같다고 보장할 순 없다.

 

그러므로 for문을 돌며 또 때려 박아보자. nop도 넣어주고

 

최종 페이로드

nop를 32byte 적당히 넣어주고 공격!!

 

결과

for문 하나 돌고 끝남 ㅋㅋㅋ

한방에 성공이라니 감동적이다 .  ㅜ ㅜ ㅜ  1탄에서 뻘짓 했던거 생각하면 ㅡ ,ㅠㅠ

 

정답 : hacking exposed

 

반응형

'보안 > LOB' 카테고리의 다른 글

LOB 문제풀이 일기(6)  (0) 2021.03.27
LOB 문제풀이 일기(5)  (0) 2021.03.27
LOB 문제풀이 일기(3)  (0) 2021.03.27
LOB 문제풀이 일기(2)  (0) 2021.03.27
LOB 문제풀이 일기(1)  (0) 2021.03.27