Wargame/Lord Of Buffer overflow

[LOB] 2번 gremlin -> cobolt

topaz 2017. 11. 2. 19:15














login : gremlin
password : hello bof world



로그인 후 vi cobolt.c로 소스코드를 확인한다.








1번 문제처럼 풀기엔 버퍼의 크기가 작다. 


그래서 환경 변수로 풀어주면 된다.











위와 같이 SHELL 이라는 환경 변수에 쉘코드 주소를 넣어준다.







env 명령어로 환경변수 SHELL이 생긴 걸 알 수 있다.






환경변수의 주소를 알기 위한 코드를 C언어로 작성해보았다.






환경변수의 주소는 위와 같다.






그래서 위와 같이 버퍼와 SFP를 NOP으로 채워주고 RET 주소에 환경변수 주소를 넣어주면 문제 해결