본문 바로가기
워게임/LOB

LOB - darkelf

by meanjung 2021. 7. 31.

1. 환경 변수 안 됨

2. argv[1] 안 됨

3. 심볼릭 링크를 쓴다면 파일 이름 길이가 77이어야 함.

4. buffer에 쉘코드 안됨

 

 

 

 

strlen(argv[0])을 정확히 파악해보고 싶다.

이렇게 짜서 결과값을 확인해봤다.

gcc -o test test.c

 

 

 

 

만약 ./test로 실행시켰다면, 결과는 6이 나왔다.

또한, mkdir tmp; cp test tmp/; ./tmp/test로 실행시켰다면, 결과는 10이 나왔다.

 

 

실행시킬 때 쓰이는 글자수(agrv[1] 제외하고) 인가보다!

 

 

그렇다면, 여기서 꼼수를 생각할 수 있다.

strlen("./폴더/쉘코드") == 77 이어야 하는 거니까,

./(2)
폴더
/(1)
쉘코드(35) 
**** 여기서 쉘코드는 슬래시(0x2f) 없는 걸로 ☞ 구글링하면 나옴

☞ 즉, 폴더 이름을 길이 39로 지으면 된다.

mkdir $(python -c 'print "A"*39')

 

그리고 쉘 코드 이름을 가진 심볼릭 링크 만들기

 

cd ~ 으로 돌아와서

익스 실행~~~

😎😎😎

'워게임 > LOB' 카테고리의 다른 글

LOB - vampire(심볼릭링크)  (0) 2021.08.01
LOB - troll (환경변수)  (0) 2021.08.01
LOB - wolfman (심볼릭 링크)  (0) 2021.07.31
LOB - orc  (0) 2021.07.31
LOB - goblin  (0) 2021.07.31

댓글