1577, 6/79 회원가입  로그인  
   yl
   http://yl11.webice.co.kr
   ↓보충. 올바른 검색 조건으로, find명령어를 사용하자.

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=24 [복사]


질문과 답변에 글을 쓰다가 갑자기 이쪽에다가 쓰게 되었습니다.

find명령을 씀에 있어서 찾는 파일의 조건을 알맞게 주어야 쉽게 찾을 수 있겠죠.

--
#find명령어를 쓸 때 조건을 어떻게 넣어 줄까?

파일을 찾는 명령어의 사용은

find / -옵션 ㅁ -옵션 ㅁ 2> /dev/null

대충 요런 구조입니다.

옵션에는 user, name, size, perm, group 같은 것들이 올 수 있구요.

설명을 위해 setuid를 이용한 가장 기본적인 문제인 해쿨 level1을 예로 들겠습니다.

level1에서는 level2의 setuid를 가진 파일이 필요하므로.

즉, level1을 level2로 되게끔 해줄 수 있는 파일이 필요하므로 먼저 파일소유자인

user에 값을 level2로 합니다. -> -user level2

그리고 setuid가 걸려 있으므로, 퍼미션을 setuid를 찾을 수 있도록 해야하기 때문에

perm에 값을 -4000으로 합니다. -> -perm -4000

어!? 왜 4000앞에 -가 붙냐구요?

4000은 'setuid'를 말하며 앞에 붙는 -는 '적어도..' 라는 것을 의미합니다.

즉 setuid가 붙은것을 찾겠다는 말이죠.

수학에서 확률문제 풀 떄 보면,

"이름에 'ㄱ'자가 적어도 한개 이상 들어가는 사람이 xx할 확률을 구하라"

요런 문제가 나오듯이, setuid가 걸려있기만 하면 다른 권한이 어떻게 되든지간에

검색 조건에 맞다고 하여 찾아지는 겁니다. -가 안붙으면 찾기가 곤란하겠죠.

그래서 만들어진 내용이 find / -user level2 -perm -4000 입니다.

뒤에 2> /dev/null 은?

'2'는 에러를 말하며 '> /dev/null'은 '>' 앞쪽의 것을 /dev/null 즉 미지의 세계로 보내버린다는 뜻입니다.

뒤에 2> /dev/null을 붙여주면 검색 조건에 맞지 않는, 퍼미션 에러가 나는 것들은 절대로 나오지 않고

조건에 딱 들어맞는 결과만을 표시해 줍니다.

찾은 내용을 텍스트 문서에 넣고 일일이 찾아주는 것보다 효율적이니 꼭 알아두세요.

이렇게 해서..........

level2의 setuid를 가진 파일을 찾는 find명령어가 완성이 됩니다.

완성품 : "find / -user level2 -perm -4000 2> /dev/null"


#정리

find는 파일을 찾을 때 쓰는 명령어이며

find / [조건] 을 써 줘서 조건에 꼭 맞는 파일을 찾을 수 있습니다.

조건으로는 user, group, perm, name, size 등이 있으며

알맞은 조건을 넣어줘야만 파일을 찾기 수월해 집니다.

따라서 찾으려는 파일이 어떤지를 잘 알고 있어야합니다.

조건에 맞는 결과만을 출력되게 하고 싶으면 2> /dev/null 을 뒤에 붙입니다.

#응용을 향해

여러분이 컴퓨터를 하면서 꼭 레벨2의 setuid가 걸린 파일만을 찾지는 않을겁니다.

찾을 파일이 있을 때마다, 그 파일이 어떤 조건을 만족할지를 곰곰히 생각해 본 다음

find명령에 조건을 주어 검색하시면, 원하는 파일을 쉽게 찾으실 수 있을겁니다.

  Hit : 12824     Date : 2003/09/09 06:26
[불법/스팸글로 신고하기]



    
yl find명령어에 대한 설명은 아래 "소유"님의 글을 읽어보세요 ^^ 2003/09/09  
himykim 답변 보충해주셔서 감사합니다. 2003/09/09  
asdf 참고) 0 = 표준입력, 1 = 표준출력, 2 = 에러 2003/09/10
crakerhunter 명령어 2004/02/25  
minjuni level3 2004/03/30  
woohong7 level2 소유의 파일이 검샛 안되는데요 2004/06/23  
labdream find 2004/12/07  
eotjdtm 좋은정보 감사 2006/02/22  
trueness 역시 찾아보니 좀 낫네요.. 완전 맨땅에 해딩인데.. 고맙습니다..ㅋ 2006/03/08  
담임목사 level2 넘어가기 2006/04/05  
bboy6604 역시 예전 글부터 보니까 도움되는 것이 많네요. 출처 밝히고 블로그에 퍼가도록 하겠습니다^^ 2010/05/22  
yooadocjon 와 다양하네요 2011/07/16  
row66 감사 합니다 2012/07/07  
1477   [펌] PC키퍼 깨기[4]     dzhfldk
08/22 13634
1476   * 엘리트해커가 되는길 *추천 *[30]     HackerMapia
03/02 13589
1475   리눅스 명령어 마스터 8 [마지막][44]     소유
09/10 13362
1474   [[초급/강좌]] 유닉스 주요 명령어[7]     소유
10/09 13321
1473   [자작]리눅스 압축 명령 정리.[2]     williamlee
12/29 13318
1472   [[초급/강좌]] 유닉스 기본 정리[8]     소유
10/09 13316
1471   리눅스 명령어 마스터 6[7]     소유
09/08 13292
1470   리눅스 명령어 마스터 7[8]     소유
09/09 13287
1469   레벨5 레이스컨디션에 대해서. [의외로 질문하시는 분들이 많아서..][9]     yl
10/01 13191
1468   리눅스 방화벽의 종류...[4]     bsjzzz
01/12 13008
1467   해커스쿨 Level1 풀이     xodnr631
08/20 12993
1466   넷센드 하는법(하도많이 물어보시길래;;)[13]     qkreoghks00
01/23 12990
1465   BOF 해결 무작정 따라하기 #1[7]     ssuckies
04/12 12970
1464   인터넷에 리눅스 서버 구축하기[1]     소유
07/07 12954
1463   Webhacking.kr 51번 RPG게임 나오기[4]     푸른하늘
03/31 12911
  ↓보충. 올바른 검색 조건으로, find명령어를 사용하자.[13]     yl
09/09 12823
1461   오라클 Enterprise Edition Release 8.0[6]     netwow1
12/14 12762
1460   C언어에서 사용되는 특수문자/서식문자[4]     xodnr631
08/18 12681
1459   [자작]백트랙 4 R1, 윈7 멀티부팅 (+ 한글화+grub설정)[4]     williamlee
11/20 12679
1458   윈도우 시스템의 컴퓨터에서 리눅스 설치방법[15]     o-0_o-0
09/19 12655
[1][2][3][4][5] 6 [7][8][9][10]..[79]

Copyright 1999-2022 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com