|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1955 [복사]
흠.. 저도 (perl -e 'print "~~"'; cat) | /home/level12/attackme 를 해야하는 이유가 궁금해서 한번 연구해 봤습니다~
cat을 그냥 사용하면 입력한것을 곧바로 출력해줍니다.
/bin/bash를 치고 exit를 치면 원래대로 돌아옵니다. 하지만 perl -e 'print "ls"' | /bin/bash를 치고 exit를 치면 로그아웃 됩니다.
왜냐하면 쉘이 곧바로 종료되서 그렇게 때문입니다.
cat | /bin/bash를 치고 명령을 내리면 쉘이 실행되고 있는 상태에서 명령이 실행됩니다.
그러면 이제 (perl -e 'print "ls"'; cat) | /bin/bash를 치고 한번 아무 명령이나 내려보면 먼저 ls가 표준 입력으로 들어가고 그 다음에 입력을 해주는 명령어들이 실행되는 것을 볼 수 있을 것입니다.
ftz 깨면서 궁금해하셨을 분들이 많을것 같은데 해결 되셨나요? 누가 어떤글에 ftz clear하신분 이건 알고 넘어갔냐고 하길래 올려봤습니다~ |
Hit : 9021 Date : 2012/02/12 01:07
|