네트워크 엔지니어를 위한 면접 질문은 무엇인가요?
네트워크 엔지니어는 컴퓨터 정보 시스템의 설계, 구축, 운영 및 유지 관리에 참여할 수 있습니다. 다음은 귀하를 위해 준비한 네트워크 엔지니어 인터뷰 질문입니다.
1.
p>
공격 원칙: 해커가 가장 관심을 두는 부분은 사용자 이름과 비밀번호인 경우가 많습니다. 소스 코드가 어떤 방식으로든 노출되면 결과는 심각해질 것입니다.
예방 팁: 사용자 이름 및 비밀번호와 관련된 프로그램은 서버측에서 가장 잘 캡슐화되며 ASP 파일에는 가능한 한 적게 표시되며 데이터베이스 연결과 관련된 사용자 이름 및 비밀번호에는 최소한의 권한이 부여되어야 합니다. 자주 나타나는 사용자 이름과 비밀번호는 숨겨진 포함 파일에 기록할 수 있습니다. 데이터베이스에 연결하는 경우 저장 프로시저를 실행할 수 있는 권한만 부여하는 것이 가장 좋습니다. 사용자에게 레코드를 수정, 삽입 또는 삭제할 수 있는 권한을 직접 부여하지 마십시오.
2. 검증 우회
공격 원리: 현재 검증이 필요한 대부분의 ASP 프로그램은 페이지 헤더에 판단문을 추가하지만 이것만으로는 충분하지 않으며 해킹당할 수 있습니다. 인증을 우회하여 직접 입력하세요.
예방 기술: 확인이 필요한 ASP 페이지는 이전 페이지에서 전송된 세션만 이 페이지를 읽을 수 있습니다.
3. Inc 파일 유출 문제
공격원리 : ASP가 포함된 홈페이지를 제작 중이고 최종 디버깅 전 최종 확정되지 않은 경우 자동으로 검색객체로 추가될 수 있다. 일부 검색 엔진. 이때 누군가가 검색 엔진을 사용하여 이러한 웹 페이지를 검색하면 관련 파일의 위치를 얻을 수 있으며 브라우저에서 데이터베이스 위치 및 구조에 대한 세부 정보를 볼 수 있으므로 전체 소스 코드가 공개됩니다.
예방 팁: 프로그래머는 웹 페이지를 게시하기 전에 철저히 디버깅해야 합니다. 보안 전문가는 외부 사용자가 볼 수 없도록 ASP 파일을 강화해야 합니다. 첫째, .inc 파일의 내용을 암호화합니다. 둘째, .inc 파일 대신 .asp 파일을 사용하여 사용자가 브라우저에서 파일의 소스 코드를 직접 볼 수 없도록 할 수도 있습니다. inc 파일의 파일명은 시스템 기본값이나 사용자가 쉽게 추측할 수 있는 특별한 의미를 가진 이름을 사용하지 않아야 합니다.
4. 자동 백업이 다운로드됩니다.
공격 원리: 일부 ASP 프로그램 편집 도구에서는 ASP 파일을 생성하거나 수정할 때 편집기가 자동으로 다음과 같은 백업 파일을 생성합니다. UltraEdit는 .bak 파일을 백업합니다. some.asp를 생성하거나 수정하면 편집기는 some.asp.bak라는 파일을 자동으로 생성합니다. 이 bak 파일을 삭제하지 않으면 공격자가 some.asp를 직접 다운로드할 수 있습니다. bak 파일을 다운로드하여 some.asp의 소스 프로그램을 다운로드합니다.
예방법: 프로그램을 업로드하기 전에 주의 깊게 확인하고 불필요한 문서를 삭제하세요. BAK 접미사가 붙은 파일에는 특히 주의하세요.
5. 특수 문자
공격 원리: 입력 상자는 해커가 사용하는 대상입니다. 입력 상자에 데이터가 포함되어 있으면 사용자 클라이언트에 피해를 줄 수 있습니다. 쿼리의 경우 특수 쿼리 문을 사용하여 더 많은 데이터베이스 데이터 또는 전체 테이블을 가져옵니다. 따라서 입력 상자를 필터링해야 합니다. 그러나 효율성 향상을 위해 입력 유효성 검사가 클라이언트에서만 수행되는 경우 여전히 우회될 수 있습니다.
예방 기술: 게시판, 게시판 등 입력 상자를 처리하는 ASP 프로그램에서는 HTML, JavaScript, VBScript 문을 차단하는 것이 가장 좋습니다. 특별한 요구 사항이 없으면 입력을 제한할 수 있습니다. 문자와 숫자만 차단하세요. 동시에 입력 문자의 길이가 제한됩니다. 그리고 클라이언트 측에서 입력 유효성 검사를 수행해야 할 뿐만 아니라 서버 측 프로그램에서도 유사한 검사를 수행해야 합니다.
6. 데이터베이스 다운로드 취약점
공격 원리: Access를 백엔드 데이터베이스로 사용할 때, 누군가가 다양한 방법을 통해 서버의 Access 데이터베이스의 경로와 데이터베이스 이름을 알고 있거나 추측하는 경우, 그는 또한 매우 위험한 이 Access 데이터베이스 파일을 다운로드할 수도 있습니다.
예방 팁:
(1) 데이터베이스 파일에 복잡하고 색다른 이름을 지정하고 여러 디렉터리에 배치합니다. 소위 "비전통적인", 예를 들어 책에 대한 정보를 저장하려는 데이터베이스가 있으면 "book.mdb"라는 이름을 지정하지 말고 d34ksfslf와 같은 이상한 이름을 지정하십시오. , 그리고 ./kdslf/i44/studi/와 같은 여러 디렉터리에 배치하면 해커가 추측을 통해 Access 데이터베이스 파일을 얻는 것이 훨씬 더 어려워집니다.
(2) 프로그램에 데이터베이스 이름을 쓰지 마십시오.
어떤 사람들은 다음과 같이 프로그램에 DSN을 작성하는 것을 좋아합니다:
DBPath = Server.MapPath(?cmddb.mdb?)
conn.Open ?driver={Microsoft Access Driver ( * .mdb)};dbq=? & DBPath
누군가 소스 프로그램을 얻으면 귀하의 Access 데이터베이스 이름이 한눈에 보입니다. 따라서 ODBC에서 데이터 소스를 설정한 다음 프로그램에 다음을 작성하는 것이 좋습니다.
conn.open?shujiyuan?
(3) Access를 사용하여 인코딩하고 데이터베이스 파일을 암호화합니다. 먼저 "도구", "보안", "데이터베이스 암호화/암호화 해제"에서 데이터베이스(예: Employees.mdb)를 선택한 다음 확인을 클릭합니다. 그러면 "암호화 후 데이터베이스를 다른 이름으로 저장" 창이 나타납니다. "employer1.mdb"로 저장할 수 있습니다.
위 작업은 데이터베이스에 대한 비밀번호를 설정하는 것이 아니라 데이터베이스 파일을 인코딩만 하는 것이 목적이라는 점에 유의해야 합니다. 이는 다른 사람이 데이터베이스 파일의 내용을 보기 위해 다른 도구를 사용하는 것을 방지하는 것입니다.
다음으로 데이터베이스를 암호화합니다. 먼저 인코딩된 고용주1.mdb를 엽니다. 열 때 "독점" 모드를 선택합니다. 그런 다음 메뉴에서 '도구' 보안' 데이터베이스 비밀번호 설정'을 선택한 다음 비밀번호를 입력합니다. 이렇게 하면 다른 사람이 고용주1.mdb 파일을 획득하더라도 비밀번호 없이는 고용주1.mdb의 내용을 볼 수 없습니다.
7. 원격 주입 공격 방지
이러한 유형의 공격은 POST 공격과 같이 과거에 비교적 일반적인 공격 방법이어야 합니다. 공격 목적 또 다른 예: COOKIES 위조는 프로그래머나 웹마스터의 주의를 끌 만한 가치가 있습니다. COOKIES를 사용자 인증 방법으로 사용하지 마십시오. 그렇지 않으면 도둑에게 키를 맡기는 것과 같습니다. p>
예:
trim(Request.cookies (?uname?))=?fqy? 및 Request.cookies(?upwd?) =?fqy#e3i5.com? then p>
?..more
End if
모든 웹마스터나 프로그램 작성을 좋아하는 친구들은 이런 실수를 해서는 안된다고 생각합니다. 정말 용서할 수 없는 일입니다. 위조 쿠키가 수년간 존재해 왔다면, 비밀번호를 도용했다고 다른 사람을 비난할 수는 없습니다. 가장 안전한 방법은 세션을 사용하는 것입니다. COOKIES를 사용하려면 COOKIES에 SessionID라는 정보를 하나 더 추가하면 됩니다. 임의의 값은 64비트입니다. 예: 그렇지 않은 경우
(rs.BOF 또는 rs. eof)
p>Login=?true?
Session(?username?&sessionID) = 사용자 이름
Session(?password?& sessionID) = 비밀번호
?Response.cookies(?username?)= 사용자 이름
?Response.cookies(?Password?)= 비밀번호
원격지 차단 방법에 대해 이야기해 보겠습니다. 주입 공격, 일반 공격 모든 데이터 필터링이 켜져 있는 경우 단일 테이블 제출 파일을 로컬 영역으로 끌어서 Form ACTION=?chk.asp?를 지정하기만 하면 됩니다. 단일 테이블 페이지, 축하합니다. 스크립트의 공격을 받았습니다.
이러한 원격 공격을 어떻게 방지할 수 있습니까? 다음 코드를 참조하십시오. )
개인적으로 위의 코드 필터링은 별로 효과적이지 않다고 생각합니다. 일부 외부 제출물은 여전히 공개적으로 들어올 수 있으므로 또 하나 작성했습니다.
?이 필터링 효과는 무엇입니까? 매우 좋습니다.
if instr(request.servervariables( ? Explorer\MenuExt\Extensions]
@=?C:\Documents and Settings\Administrator\ Desktop\len.htm?
?contexts?=dword:00000004
end-
len.htm? /p>
사용법: 먼저 len.reg를 레지스트리로 가져옵니다(파일 경로 참고).
그런 다음 len.htm을 레지스트리의 지정된 위치에 복사합니다.
엽니다. 웹 페이지에서 길이를 변경하려면 입력 상자에 커서를 놓고 마우스 오른쪽 버튼을 클릭하면 확장자라는 또 다른 확장자가 표시됩니다.
클릭 완료! 포스트스크립트: 입력 내용을 제한하는 스크립트에서도 마찬가지입니다.
우리는 어떻게 해야 할까요? 우리의 제한 사항은 우회되었으며 모든 노력이 헛된 것이었습니다. 아니, 키보드를 들고 아니라고 말하세요. 스크립트 문자 필터링으로 돌아가서 그들이 수행하는 주입은 스크립트 공격에 지나지 않습니다. ACTION 이후에 페이지에 모든 에너지를 쏟자. chk.asp 페이지에서 모든 불법 문자를 필터링하고, 그 결과는 무엇입니까? 변화를 통해 그들은 자신들이 한 일이 헛된 것임을 깨닫게 될 것입니다.
8. ASP 트로이 목마
이제 이에 대해 이야기했으니 모든 포럼 웹마스터에게 파일 업로드 시 주의할 점을 상기시키고 싶습니다. 포럼 이후 호스트도 공격받는 이유는 무엇입니까? 프로그램이 고장 났어요? 그 이유는 무엇입니까? ASP 트로이 목마입니다! 바이러스인가요? 아니요. 포럼 프로그램에 파일을 넣으면 찾아볼 수 있습니다. 피를 토하지 않는 것이 이상할 것이다.
ASP 트로이 목마가 서버에 업로드되는 것을 어떻게 방지할 수 있습니까? 방법은 매우 간단합니다. 포럼에서 파일 업로드를 지원하는 경우 업로드할 파일 형식을 설정하고 직접 잠그는 데 동의하지 않습니다. 이미지 파일 형식과 압축 파일만 있으면 충분합니다. 자신이 편리할수록 공격자도 편리해집니다. 형식을 결정하는 방법은 무엇입니까? 여기에서 하나를 수집하고 수정했습니다.
프로그램 본문(10)
? p>
비공개 함수 CheckFileExt(fileEXT)
dim Forumupload
Forumupload=?gif,jpg,bmp,jpeg?Forumupload=split(Forumupload? ,? ,?)
for i=0 to ubound(Forumupload)
if lcase(fileEXT)=lcase(trim(Forumupload(i))) then
CheckFileExt=true
함수 종료
else
CheckFileExt=false
end if
next < /p >
함수 종료
?파일 내용의 합법성 확인
set MyFile = server.CreateObject (?Scripting.FileSystemObject?)
set MyText = MyFile.OpenTextFile (sFile, 1) ? 텍스트 파일 읽기
sTextAll = lcase(MyText.ReadAll): MyText.close
? p >
sStr =?8 .getfolder .createfolder .deletefolder .createdirectory
.deletedirectory?
sStr = sStr & ? p >
sNoString = 분할(sStr, )
for i = 1 to sNoString(0)
if instr(sTextAll, sNoString(i)) <> 0 then
p>sFile = Upl.Path & sFileSave: fs.DeleteFile sFile
Response.write ?
?& sFileSave &?파일 작동과 관련된 명령이 포함되어 있습니다. ?&_
?
?& mid(sNoString(i),2) &?는 보안상의 이유로 업로드할 수 없습니다.
?&_?
?
Response.end
end if
다음
프로그램 본문 (10)