한땀한땀 정성들인 코딩
LOB 문제풀이 일기(4) 본문
반응형
이야 코볼트 잡으러 가자!!
소스 확인
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 |