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 |
댓글