System/LOB2019. 4. 26. 18:36

 

▲ LOB 7번 문제. darkelf -> orge로 넘어가는 문제이다.

힌트를 보면 egg&buffer&length&argv 이다. 더 자세히 알아보자.

▲ 기존의 방어기법 이외에 argv[0]의 길이가 77인지 아닌지 체크해준다.

argv[0]은 실행주소와 파일이름 까지가 들어간다. 근데 이게 어떻게 77이 될까?

▲ 우선 페이로드는 이전과 같다.

▲ 이전 문제와 다른 점은 argv[0]의 길이를 체크해주는 것이다.

gcc가 아니고 gdb

▲ argv[0]의 해결 방법은 바로 /를 이용하는 것이다.

./orge 랑 .//////////////////////////////orge 는 같은 명령이기 때문이다.

▲ 따라서 적절히 argv[0]을 계산하여 / 개수를 맞춰주면 공격이 성공한다.

 

'System > LOB' 카테고리의 다른 글

[LOB] 9. troll -> vampire  (0) 2019.04.26
[LOB] 8. orge -> troll  (0) 2019.04.26
6. wolfman -> darkelf  (0) 2019.04.26
[LOB] 5. orc -> wolfman  (0) 2019.04.26
[LOB] 4. goblin -> orc  (0) 2019.04.26
Posted by BadSchool