PHP 사이트 에서 흔히 볼 수 있 는 안전 결함 과 해당 하 는 예방 조치 에 대한 정리

4595 단어 PHP안전 구멍
현재 PHP 를 바탕 으로 하 는 사이트 개발 은 현재 사이트 개발 의 주류 가 되 었 습 니 다.본 고 는 필자 가 PHP 사이트 의 공격 과 안전 예방 에 중심 을 두 고 연구 하고 자 합 니 다.사이트 의 빈틈 을 줄 이 고 여러분 에 게 도움 이 되 기 를 바 랍 니 다!
1.흔히 볼 수 있 는 PHP 사이트 보안 구멍
PHP 의 구멍 에 대해 현재 흔히 볼 수 있 는 구멍 은 다섯 가지 가 있다.각각 Session 파일 구멍,SQL 주입 구멍,스 크 립 트 명령 실행 구멍,전역 변수 구멍,파일 구멍 입 니 다.여기 서 각각 이 구멍 들 에 대해 간략하게 소개 한다.
1.session 파일 구멍
세 션 공격 은 해커 들 이 가장 많이 사용 하 는 공격 수단 중의 하나 다.한 사용자 가 특정한 사 이 트 를 방문 할 때 고객 이 한 페이지 에 들 어 갈 때마다 사람의 계 정과 비밀 번 호 를 잃 지 않도록 하기 위해 PHP 는 Session 과 Cookie 를 설정 하여 사용자 의 사용 과 방문 을 편리 하 게 한다.
2.SQL 주입 구멍
사이트 개발 을 할 때 프로그래머 는 사용자 가 진 데이터 에 대해 전면적 인 판단 이 부족 하거나 여과 가 엄격 하지 않 아서 서버 가 일부 악성 정 보 를 집행 한다.예 를 들 어 사용자 정보 조회 등 이다.해커 는 악성 프로그램 이 돌아 온 결과 에 따라 해당 하 는 정 보 를 얻 을 수 있다.이것 이 바로 월 행 위의 SQL 주입 구멍 이다.
3.스 크 립 트 실행 구멍
스 크 립 트 실행 구멍 이 흔 한 이 유 는 프로그래머 가 웹 사 이 트 를 개발 할 때 사용자 가 제출 한 URL 매개 변 수 를 적 게 걸 러 서 발생 하기 때 문 입 니 다.사용자 가 제출 한 URL 은 악성 코드 를 포함 하여 크로스 스 크 립 트 공격 을 할 수 있 습 니 다.스 크 립 트 실행 구멍 은 이전 PHP 사이트 에 자주 존재 하지만 PHP 버 전이 업그레이드 되면 서 이 문제 들 은 줄 어 들 거나 존재 하지 않 습 니 다.
4.전역 변수 구멍
PHP 의 변 수 는 다른 개발 언어 처럼 사전 설명 이 필요 하지 않 습 니 다.PHP 의 변 수 는 설명 없 이 바로 사용 할 수 있 습 니 다.사용 할 때 시스템 이 자동 으로 생 성 되 고 변수 유형 에 대한 설명 이 필요 하지 않 습 니 다.시스템 은 컨 텍스트 환경 에 따라 자동 으로 변수 유형 을 확인 합 니 다.이런 방식 은 프로그래머 의 프로 그래 밍 에서 오류 가 발생 할 확률 을 크게 줄 여 사용 하기에 매우 편리 하 다.
5.파일 구멍
파일 구멍 은 일반적으로 사이트 개발 자가 사이트 디자인 을 할 때 외부 에서 제공 하 는 데이터 에 대해 충분 한 여과 가 부족 하기 때문에 해커 가 그 중의 구멍 을 이용 하여 웹 프로 세 스에 서 해당 하 는 명령 을 집행 한다.lsm.php 에 이러한 코드 가 포함 되 어 있다 면 include($b."/aaa.php")는 해커 에 게 변수$b 를 통 해 원 격 공격 을 실현 할 수 있 고 해커 자신의 코드 로 사이트 에 대한 공격 을 실현 할 수 있 습 니 다.서버 에 a.php include 를 제출 할 수 있 습 니 다=http://lZ7.0.0. 1/b.php,그리고 b.php 명령 을 실행 합 니 다.
2.PHP 에서 흔히 볼 수 있 는 구멍 예방 조치
1.세 션 허점 에 대한 예방
앞의 분석 을 통 해 알 수 있 듯 이 세 션 공격 에서 가장 흔히 볼 수 있 는 것 은 세 션 납치 이다.즉,해커 가 각종 공격 수단 을 통 해 사용자 의 세 션 ID 를 얻 은 다음 에 공격 당 한 사용자 의 신분 을 이용 하여 해당 사이트 에 로그 인 하 는 것 이다.이 를 위해 다음 과 같은 몇 가지 방법 으로 예방 할 수 있다.첫째,정기 적 으로 Session ID 를 교체 하고 Session ID 를 교체 하면 PHP 자체 함수 로 실현 할 수 있다.둘째,Session 이름 을 바 꾸 는 것 입 니 다.보통 Session 의 기본 이름 은 PHPSESSID 입 니 다.이 변 수 는 쿠키 에 저 장 됩 니 다.이름 을 바 꾸 면 해커 의 일부 공격 을 막 을 수 있 습 니 다.셋째,투명 화 된 Session ID 를 닫 습 니 다.투명 화 란 http 에서 cookies 를 사용 하여 Session id 를 만 들 지 않 았 을 때 Sessioin id 는 링크 를 사용 하여 전달 합 니 다.투명 화 된 Session ID 를 닫 으 면 PHP.ini 파일 을 조작 하여 이 루어 집 니 다.넷 째,URL 을 통 해 숨겨 진 파 라 메 터 를 전달 합 니 다.해커 가 session 데 이 터 를 얻 더 라 도 관련 파 라 메 터 는 숨겨 져 있 기 때문에 Session ID 변 수 를 얻 기 어렵 습 니 다.
2.SQL 주입 구멍 에 대한 예방
해커 가 SQL 주입 을 하 는 수단 이 많 고 유연 하 며 변화 가 많 지만 SQL 주석 자의 공통점 은 입력 을 이용 하여 구멍 을 걸 러 내 는 것 이다.따라서 SQL 주입 을 근본적으로 방지 하려 면 요청 명령,특히 조회 요청 명령 에 대한 필 터 를 강화 하 는 것 이 근본 적 인 해결책 이다.구체 적 으로 보면 다음 과 같은 몇 가 지 를 포함한다.하 나 는 여과 성 문 구 를 매개 변수 화 처리 하 는 것 이다.즉,매개 변수 화 문 구 를 통 해 사용자 정보의 입력 을 실현 하 는 것 이지 사용자 의 입력 을 문장 에 직접 삽입 하 는 것 이 아니다.둘째,사이트 개발 을 할 때 가능 한 한 해석 적 인 프로그램 을 적 게 사용 하고 해커 는 이런 수단 을 통 해 불법 명령 을 자주 집행 한다.셋째,사이트 개발 시 사이트 에 bug 가 발생 하지 않도록 하 는 것 이다.그렇지 않 으 면 해커 는 이러한 정 보 를 이용 하여 사 이 트 를 공격 할 수 있다.SQL 주입 을 방어 하 는 것 만 으로 는 부족 하 며,전문 적 인 구멍 스 캔 도 구 를 자주 사용 하여 웹 사 이 트 를 구멍 스 캔 해 야 한다.
3.스 크 립 트 의 빈틈 에 대한 예방
해커 가 스 크 립 트 를 이용 하여 구멍 을 뚫 고 공격 하 는 수단 은 다양 하고 유연 하 며 변화 가 많다.이에 대해 서 는 여러 가지 예방 방법 을 종합 적 으로 사용 해 야 해커 가 스 크 립 트 에 구멍 을 뚫 는 것 을 효과적으로 방지 할 수 있다.이곳 에서 자주 사용 하 는 방법 은 다음 과 같은 네 가지 가 있다.하 나 는 실행 가능 한 파일 의 경 로 를 미리 설정 하 는 것 이다.safe 를 통 해moade_exec_dir 가 실현 합 니 다.둘째,명령 매개 변 수 를 처리 하고 보통 escapeshellarg 함수 로 이 루어 집 니 다.셋째,외부 명령 대신 시스템 자체 함수 라 이브 러 리 를 사용 합 니 다.넷 째,조작 할 때 외부 명령 을 줄 일 수 있 습 니 다.
4.전역 변수 빈틈 방지
PHP 전역 변수의 허점 문제 에 대해 서 는 이전 PHP 버 전에 서 이러한 문제 가 있 었 으 나,PHP 버 전이 5.5 로 업그레이드 되면 서 pp.ini 설정 을 통 해 ruquest 를 설정 할 수 있 습 니 다.order 는 GPC 입 니 다.또한 php.ini 설정 파일 에서 매 직quotes_runtime 은 외부 에서 사람 을 끌 어 당 기 는 데이터 에 넘 치 는 문자 에 역 사선 을 추가 할 지 여 부 를 설정 합 니 다.사이트 프로그램 이 서버 의 모든 설정 상태 에서 실 행 될 수 있 도록 하기 위해 서 입 니 다.전체 프로그램 이 시 작 될 때 get 을 사용 할 수 있 습 니 다.magic_quotes_runtime 설정 상 태 를 감지 하여 수 동 으로 처리 할 지 여 부 를 결정 하거나 시작(또는 자동 으로 의 미 를 바 꿀 필요 가 없 을 때)setmagic_quotes_runtime(0)끄 기.
5.파일 구멍 에 대한 예방
PHP 파일 누 동 에 대해 서 는 서버 설정 과 설정 을 통 해 예방 목적 을 달성 할 수 있 습 니 다.여기 서 구체 적 인 조작 은 다음 과 같다.첫째,PHP 코드 의 오류 알림 을 닫 으 면 해커 가 오류 알림 을 통 해 데이터베이스 정보 와 웹 파일 의 물리 적 경 로 를 얻 는 것 을 피 할 수 있다.둘 째 는 대 openbasedir 는 디 렉 터 리 밖의 파일 작업 을 금지 하 는 데 최선 을 다 합 니 다.이렇게 하면 로 컬 파일 이나 원 격 파일 을 보호 하고 공격 을 방지 할 수 있 습 니 다.여기 서 Session 파일 과 업로드 파일 의 공격 을 예방 해 야 합 니 다.셋째,safe-made 를 오픈 상태 로 설정 하여 실행 할 명령 을 규범화 시 키 고 파일 업로드 금 지 를 통 해 PHP 사이트 의 안전 계 수 를 효과적으로 높 일 수 있 습 니 다.
여기 서 PHP 사이트 에서 흔히 볼 수 있 는 안전 결함 과 해당 하 는 예방 조치 에 관 한 글 을 소개 합 니 다.더 많은 관련 PHP 사이트 에서 흔히 볼 수 있 는 안전 결함 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 저 희 를 많이 사랑 해 주세요!

좋은 웹페이지 즐겨찾기