레벨 해킹

 2839, 1/142 회원가입  로그인  
   zlzlzb
   레벨 5와 심볼릭링크 질문이요

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3186 [복사]


일단 while문 으로

/usr/bin/level5
랑
ln -s /home/level5/tmp/n.txt /tmp/level5.tmp

를 실행시키게끔 해서 프로그램이 끝나고보니까

n.txt에 다음 레벨 패스워드가 나타났는데요

cat > b
비어있는 b를 생성하고

cat > a
hihihi
a를 생성한다음에

ln -s b a

심볼릭 링크를 걸었더니 이미
ln : 'a': 파일이 존재합니다.

하고 오류가 나더라고요


그렇다면
/usr/bin/level5
를 실행시키면 /tmp/level5.tmp가 생기고 이거를 n.txt랑 심볼릭링크를 거는데
이미 level5.tmp파일은 존재하지않습니까?
그럼 위에처럼
ln: 'level5.tmp' 파일이 존재합니다 라는 오류가 나야 하지 않나요?

level5.tmp가 생기기 전에 심볼릭링크 명령으로
n.txt와 연결된 level5.tmp가 생기고
그다음에 usr/bin/level5을 실행시켜서 생긴 level5.tmp가 좀전에 심볼릭링크
명령으로 만들었던 level5.tmp로 대체가 되면서 n.txt의 내용이 바뀐건가요?


  Hit : 4152     Date : 2011/02/24 08:29



    
두루뭉술 예 맞습니다 2011/03/01  
lazydok level5.tmp -> n.txt 심볼릭링크를 만드는데
/usr/bin/level5를 실행하면 level5.tmp가 덮어쒸워지거나 추가로 써져서 n.txt.에 기록된후
level5.tmp는 삭제됩니다.(여기서 /usr/bin/level5 를 실행했을때 생성되는 level5.tmp 에 비밀번호를 기록하게 되있는 프로그램인데 그 level5.tmp파일을 심볼릭링크를 걸어둠으로써 프로그램을 속이는것입니다. 그래서 level5.tmp에 쓰여야할 비밀번호가 심볼릭링크를 건 원본으로 빠져나가게 되는것이죠
2011/09/22