찾다
기술 주변기기IT산업웹 사이트의 재생 공격을 방지하는 방법

재생 공격과의 싸움 : 쉬운 방법 토큰 기반 접근 방식

공격자가 자신에 속하지 않는 네트워크 패킷을 가로 채고 재생하는 공격은 매우 위험하며 때로는 심각한 손상을 일으킨다. 암호화 된 통신 채널에서도 공격자는 암호 해독 키에 대한 액세스없이 이러한 공격을 시작할 수 있습니다. 공격자는 단순히 당신의 라인에 도청하고 특정 패킷 세트에서 수행하는 작업을 대략 이해 한 다음 해당 패킷이나 요청을 재현함으로써 의사 소통을 방해하거나 더 심각한 손상을 유발할 수 있습니다.

이 기사는 웹 사이트가 재생 공격을받지 않도록 간단하고 사용하기 쉬운 기본 방법을 소개합니다. 또한 화난 사용자가 잘못된 시간 동안 마지막 게시물 요청을 반복적으로 반복하는 것을 방지합니다.

이것은 완전한 솔루션과는 거리가 멀다. 해결해야 할 결함과 문제가 있지만 토큰과 간단한 프로토콜이 웹 사이트 보안을 향상시킬 수있는 방법에 대한 대략적인 아이디어를 제공합니다. 샘플 코드 및 구현은 ASP.NET 및 C#을 사용하여 수행되지만 다른 플랫폼 또는 프로그래밍 언어에 개념을 배포 할 수 있습니다.

일회성 토큰의 개념

이 기사에서 제공된 솔루션의 핵심 아이디어는 각 HTTP 응답을 다음 게시물 요청에만 유효한 토큰 문자열에 바인딩하는 것입니다. 다음은 관련된 단계의 간단한 고장입니다.

클라이언트는 URL 또는 페이지를 입력하거나 링크를 클릭하여 GET 요청을합니다.

서버는 임의의 토큰을 생성합니다. 그런 다음 세션에 토큰 사본을 저장하고 토큰 사본을 클라이언트에게 전송 된 응답 태그에 포함시킵니다.

클라이언트는 컨텐츠를 처리하고 사용자가 무작위로 생성 된 토큰이 포함 된 버튼을 클릭하면 서버에 게시물 요청을 보냅니다.

서버는 요청을 수신하고 첨부 된 토큰이 사용자 세션에 저장된 토큰과 같을 때만 요청을 계속 처리합니다.

서버는 토큰을 무효화하고 2 단계로 돌아갑니다. 여기서 새로운 랜덤 토큰을 사용하여 응답을 공식화합니다.

이런 방식으로, 악의적 인 사용자가 서버로 전송 된 임계 요청을 가로 채더라도 요청에 포함 된 토큰이 서버로 전송 된 후 더 이상 유효하지 않으므로 요청을 반복 할 수 없습니다. F5 키를 실수로 누르고 서버에 정보를 게시 한 후 요청을 재현 한 부주의 한 사용자에게도 마찬가지입니다.
  1. 테스트 환경 일회성 토큰의 개념을 구현하려면 간단한 텍스트 상자와 제출 버튼이있는 샘플 페이지를 만듭니다. 또한 테스트 출력을 표시하기 위해 태그 컨트롤을 추가합니다.
  2. <input type="hidden"> 배경 코드는 제출 시간과 텍스트 상자에 포함 된 데이터를 보여주는 간단한 스 니펫입니다.
  3. 이것은 초기 GET 요청 후 페이지의 출력입니다.
  4. 페이지를 제출 한 후 출력은 다음과 같습니다.

    문제는 페이지를 새로 고치면 데이터를 다시 게시하고 마지막 요청을 반복하면 서버가 문제없이 처리한다는 것입니다. 이제 방금 1,000,000 달러의 주요 거래를하고 실수로 키보드에서 F5 키를 누르면 상상해보십시오. 또는 악의적 인 사용자가 귀하의 요청을 가로 채고, 지불 거래라고 생각하고, 자금을 훔치고 보복하기 위해 반복합니다.

    How to Prevent Replay Attacks on Your Website

    솔루션 중복 게시물 요청을 방지하기 위해 태그를 업데이트하여 토큰을 저장하는 숨겨진 필드를 추가합니다.

    How to Prevent Replay Attacks on Your Website 다음으로, 우리는 임의의 토큰을 생성하고 숨겨진 필드와 세션 컬렉션에 포함시키는 함수를 생성합니다.

    후에는 게시 된 토큰이 세션에 저장된 토큰과 동일한 경우에만 게시 된 데이터가 표시되도록 page_load () 함수를 변경합니다.

    마지막으로, 최종 출력이 클라이언트에게 전송되기 전에 onprerender () 함수를 무시하기 위해 새 토큰을 생성합니다. 새로운 요청이 전송 될 때마다 업데이트되므로 일회성 토큰이됩니다. How to Prevent Replay Attacks on Your Website

    이제 버튼을 클릭하여 양식을 제출하면 이전과 같은 방식으로 작동합니다. 그러나 페이지를 새로 고침하여 재생 공격을 시뮬레이션하려고하면 양식으로 전송 된 토큰이 서버에 저장된 토큰과 더 이상 같지 않기 때문에 다음 오류가 발생합니다.

    이런 식으로 유효한 버튼 클릭 제출 및 오류 반복 요청을 구별 할 수 있습니다. How to Prevent Replay Attacks on Your Website

    코드 향상 이 코드는 페이지의 재생 공격 문제를 해결하지만 여전히 해결해야 할 몇 가지 문제가 있습니다.

    모든 페이지에서 반복해야합니다 동일한 웹 사이트에 여러 개의 탭이있는 경우 사이에 토큰이 공유되므로 작동하지 않습니다. 매우 못 생겼어

    열렬한 객체 지향 프로그래밍 (OOP) 애호가로서 저는이 최고의 프로그래밍 패러다임의 힘을 활용하여 코드를 개선 할 수있는 기회를 찾고 있습니다. How to Prevent Replay Attacks on Your Website 위의 문제를 해결하기 위해, 우리가해야 할 첫 번째 일은 토큰 생성 기능을 캡슐화하는 클래스를 정의하는 것입니다. 우리는 클래스 토큰 화 된 페이지의 이름을 지정하여 System.web.ui.page에서 파생하여 향후 페이지에 사용할 수 있도록합니다.

    다음으로 코드를 쉽게 읽고 관리 할 수 ​​있도록 코드를 쉽게 읽을 수 있도록 페이지 토큰과 세션 토큰을 토큰 화 된 페이지 클래스에 추가 된 두 가지 속성으로 캡슐화합니다. 코드를 웹 페이지에서 쉽게 포업 할 수 있도록 입력 필드를 숨기는 대신 viewstate 컬렉션을 사용하여 페이지 토큰을 저장합니다. 또한 Page.title 속성을 세션에 토큰을 저장하는 키로 사용합니다. 이를 통해 코드가 향상되고 웹 사이트 사용을 브라우저의 단일 탭으로 제한하는 두 번째 문제를 부분적으로 해결할 수 있습니다. 이 변경 사항을 적용하면 다른 탭에서 웹 사이트의 다른 페이지를 열 수 있지만 토큰을 공유하므로 별도의 탭에서 동일한 페이지의 여러 인스턴스를 열 수 없습니다. 이 문제는 나중에 해결됩니다. How to Prevent Replay Attacks on Your Website

    다음으로, 우리는 Istokenvalid라는 읽기 전용 부울 속성을 추가합니다. Ispostback 및 Isvalid와 같은 다른 페이지 속성의 예를 따릅니다. 이 속성의 목적은 페이지 토큰이 세션 토큰과 동일하도록하는 것입니다.

    How to Prevent Replay Attacks on Your Website 마지막으로, 테스트 환경에서와 마찬가지로 GeneraterAndomToken () 함수와 OnPrerender () 이벤트의 재정의를 추가합니다.

    이제 일회성 토큰 모드를 사용하려면 새 페이지를 만들고 토큰 화면에서 파생하고 일회성 토큰이 필요할 때 istokenvalid를 사용하면됩니다.

    How to Prevent Replay Attacks on Your Website

    훨씬 낫습니다.

    더 나은 이 코드의 한 가지 문제는 브라우저에 동일한 페이지를 가리키는 두 개의 탭이있는 경우 하나의 탭을 게시하면 동일한 세션 토큰 키를 사용하기 때문에 다른 탭의 토큰이 무효화됩니다. 이는 토큰 ID를 추가하여 해결할 수 있으며,이 탭에서 발생하는 각 요청-응답 순서는 고유 한 토큰 세트를 사용하고 같은 페이지의 다른 요청을 방해하지 않도록합니다. 가장 먼저해야 할 일은 TokenizedPage 클래스를 반환하고 Tokenid 속성을 추가하는 것입니다. 이 속성은 처음으로 초기 GET 요청을 호출 할 때 임의의 ID를 생성하고 향후 재사용을 위해 ViewState 컬렉션에 저장합니다.

    How to Prevent Replay Attacks on Your Website 다음으로, 우리는 Page.title 속성을 사용하는 대신 Tokenid 속성을 사용하도록 SessionHidDentoken 속성을 변경합니다.

    멋진 점은 추상화 및 캡슐화 원칙을 사용하기 때문에 (OOP의 이점에 대해 다시 한 번 감사 드리기 때문에) 다른 변경을 할 필요가 없으며 새로운 메커니즘은 우리가 얻은 모든 페이지에서 작동합니다. 토큰 화장. How to Prevent Replay Attacks on Your Website 나머지 질문 이것은 일회성 토큰 모드에 관한 것입니다. 두 가지 질문이 남았습니다 :

    각 세션에 대해 (보다 정확하게는, 각 세션에 전송 된 GET 요청 수), 무제한 수의 토큰 ID가 생성됩니다. 이것은 수량 제한을 초과하거나 특정 기간 동안 사용되지 않을 때 이전 ID를 팝업하는 스택 또는 캐시 메커니즘을 구현하여 해결할 수 있습니다. 구현을 당신에게 맡길 것입니다.

    기본 랜덤 번호 생성기는 가장 안전하고 신뢰할 수있는 임의성 소스가 아니며 정통한 해커가 토큰 시퀀스를 예측할 수 있습니다. 그러나 SSL 암호화를 사용하면 어쨌든 토큰을 얻을 수 없습니다.

    다른 플랫폼 및 프로그래밍 언어에서 구현을 추가하거나 공유하고 싶은 개선 사항이 있습니까? 아래 의견 섹션에 메시지를 남겨주세요.

    웹 사이트 재생 공격 방지 (FAQ) FAQ 재생 공격은 무엇이며 어떻게 작동합니까?

    재생 공격은 효과적인 데이터 전송이 반복되거나 악의적으로 또는 사기 적으로 지연되는 사이버 공격의 한 형태입니다. 공격자는 데이터를 가로 채고 재전송하여이를 수행하며, 이는 IP 패킷 교체를 통해 가장 한 공격의 일부일 수 있습니다. 이는 커뮤니케이션 및 데이터의 보안에 심각한 위협이됩니다.

    재생 공격을 감지하는 방법은 무엇입니까?
      전송되는 데이터가 유효하고 초기에 승인 된 사용자가 전송하기 때문에 재생 공격 감지는 어려울 수 있습니다. 그러나 재생 공격을 보여줄 수있는 몇 가지 징후가 있습니다. 여기에는 중복 전송의 지연 또는 데이터 전송이 포함됩니다. 또한 타임 스탬프 및 일련 번호와 같은 보안 조치를 구현하면 재생 공격을 감지 할 수 있습니다.
    • 재생 공격의 결과는 무엇입니까?
    • 재생 공격의 결과는 차단 된 데이터의 특성에 따라 심각 할 수 있습니다. 민감한 정보, 사기 거래 및 보안 시스템 위반에 대한 무단 액세스로 이어질 수 있습니다. 이는 재정적 손실, 평판 손상 및 잠재적 인 법적 영향으로 이어질 수 있습니다.
    • 내 웹 사이트가 재생되는 것을 방지하는 방법은 무엇입니까?
    • 재생 공격을 방지하기위한 몇 가지 전략이 있습니다. 여기에는 보안 통신 프로토콜 (예 : SSL 또는 TLS) 사용, 타임 스탬프 또는 일련 번호 구현, 일회성 암호 또는 임의 번호 사용이 포함됩니다. 또한 네트워크 트래픽을 정기적으로 모니터링하고 감사하면 재생 공격을 감지하고 방지 할 수 있습니다.
    임의의 숫자는 무엇이며 재생 공격을 어떻게 방지합니까?

    랜덤 번호는 커뮤니케이션 세션에서 한 번만 사용되는 임의 또는 의사 랜덤 번호입니다. 동일한 데이터를 여러 번 전송하더라도 각 데이터 전송이 고유한지 확인하여 재생 공격을 방지합니다. 이로 인해 공격자가 데이터 전송을 성공적으로 재생하는 것을 방지합니다.

    SSL 또는 TLS의 재생 공격을 방지하는 방법은 무엇입니까?

    SSL (Secure Sockets Layer) 및 TLS (Transport Layer Security)는 네트워크 보안 통신을 제공하는 암호화 프로토콜입니다. 전송중인 데이터를 암호화하고 시퀀스 번호와 타임 스탬프의 조합을 사용하여 각 데이터 전송의 고유성을 보장함으로써 재생 공격을 방지합니다.

    재생 공격을 방지하는 데 타임 스탬프가 어떤 역할을합니까?

    타임 스탬프는 재생 공격을 방지하는 데 중요한 역할을 할 수 있습니다. 각 데이터 전송에 타임 스탬프를 추가하면 각 전송이 고유하고 성공적으로 재생할 수 없는지 확인할 수 있습니다. 재생 전송이 감지되면 타임 스탬프를 기반으로 쉽게 식별하고 폐기 할 수 있습니다.

    재생 공격이 어떤 웹 사이트에서도 수행 될 수 있습니까?

    예, 재생 공격은 적절한 보안 조치없이 모든 웹 사이트에서 수행 될 수 있습니다. 그러나 재무 데이터 또는 개인 정보와 같은 민감한 정보를 전송하는 웹 사이트는 특히 공격에 취약합니다.

    재생 공격이 일반적입니까?

    다른 유형의 사이버 공격만큼 흔하지는 않지만 재생 공격이 발생하며 심각한 결과를 초래할 수 있습니다. 따라서이를 방지하기 위해 조치를 취하는 것이 매우 중요합니다.

    재생 공격을 방지하기위한 몇 가지 모범 사례는 무엇입니까?

    재생 공격을 방지하기위한 일부 모범 사례에는 보안 통신 프로토콜 사용, 타임 스탬프 또는 일련 번호 시행, 일회성 비밀번호 또는 임의의 숫자 사용, 네트워크 트래픽의 주기적 모니터링 및 감사가 포함됩니다. 또한 보안의 중요성에 대해 사용자를 교육하고 안전한 비밀번호를 사용하도록 장려하면 재생 공격을 방지 할 수 있습니다.

    이 개정 된 출력은 다른 문구 및 문장 구조를 사용하면서 원래 의미를 유지합니다

위 내용은 웹 사이트의 재생 공격을 방지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Deepseek에 대한 첫 번째 안드로이드 액세스 뒤에 : 여성의 힘보기Deepseek에 대한 첫 번째 안드로이드 액세스 뒤에 : 여성의 힘보기Mar 12, 2025 pm 12:27 PM

AI 분야에서 중국 여성 기술력의 부상 : 기술 분야에 대한 Deepseek 여성의 기여와의 명예의 협력에 대한 이야기는 점점 더 중요 해지고 있습니다. 중국 과학 기술부의 데이터에 따르면 여성 과학 기술 노동자의 수는 거대하며 AI 알고리즘 개발에서 독특한 사회적 가치 민감도를 보여줍니다. 이 기사는 명예 휴대폰에 중점을두고 DeepSeek Big Model에 처음 연결 한 여성 팀의 강점을 탐구하여 기술 발전을 촉진하고 기술 개발의 가치 좌표 시스템을 재구성 할 수있는 방법을 보여줍니다. 2024 년 2 월 8 일, Honor는 공식적으로 DeepSeek-R1 전혈 버전 Big Model을 출시하여 Android 캠프에서 최초의 제조업체가되어 DeepSeek에 연결하여 사용자의 열정적 인 응답을 불러 일으켰습니다. 이 성공 뒤에 여성 팀원은 제품 결정, 기술 혁신 및 사용자를 만들고 있습니다.

DeepSeek의 '놀라운'이익 : 이론적 이익 마진은 545%정도입니다!DeepSeek의 '놀라운'이익 : 이론적 이익 마진은 545%정도입니다!Mar 12, 2025 pm 12:21 PM

DeepSeek은 Zhihu에 대한 기술 기사를 발표하여 DeepSeek-V3/R1 추론 시스템을 자세히 소개하고 처음으로 주요 재무 데이터를 공개하여 업계의 관심을 끌었습니다. 이 기사는 시스템의 일일 비용 이익 마진이 545%로 높아 글로벌 AI Big Model 이익이 새로운 것으로 나타났습니다. DeepSeek의 저렴한 전략은 시장 경쟁에서 이점을 제공합니다. 모델 교육 비용은 유사한 제품의 1% -5%에 불과하며 V3 모델 교육 비용은 경쟁 업체의 비용보다 훨씬 낮으며 V3 모델 교육 비용은 5 억 5,760 만 달러에 불과합니다. 한편, R1의 API 가격은 Openaio3-Mini의 1/7에서 1/2에 불과합니다. 이 데이터는 DeepSeek 기술 경로의 상업적 타당성을 입증하고 AI 모델의 효율적인 수익성을 확립합니다.

2025 년 최고의 무료 백 링크 체커 도구2025 년 최고의 무료 백 링크 체커 도구Mar 21, 2025 am 08:28 AM

웹 사이트 구성은 첫 번째 단계입니다 : SEO 및 백 링크의 중요성 웹 사이트 구축은 웹 사이트를 귀중한 마케팅 자산으로 전환하는 첫 번째 단계 일뿐입니다. 검색 엔진에서 웹 사이트의 가시성을 향상시키고 잠재 고객을 유치하려면 SEO 최적화를 수행해야합니다. 백 링크는 웹 사이트 순위를 향상시키는 열쇠이며 Google 및 기타 검색 엔진에 웹 사이트의 권한 및 신뢰성을 보여줍니다. 모든 백 링크가 유리한 것은 아닙니다. 유해한 링크를 식별하고 피하십시오. 모든 백 링크가 유익한 것은 아닙니다. 유해한 링크는 순위에 해를 끼칠 수 있습니다. 우수한 무료 백 링크 확인 도구는 웹 사이트 링크 소스를 모니터링하고 유해한 링크를 상기시킵니다. 또한 경쟁 업체의 링크 전략을 분석하고 배울 수도 있습니다. 무료 백 링크 점검 도구 : SEO 인텔리전스 책임자

Midea는 첫 번째 Deepseek 에어컨을 시작합니다. AI 음성 상호 작용은 40 만 명령을 달성 할 수 있습니다!Midea는 첫 번째 Deepseek 에어컨을 시작합니다. AI 음성 상호 작용은 40 만 명령을 달성 할 수 있습니다!Mar 12, 2025 pm 12:18 PM

MIDEA는 곧 Deepseek Big Model -Midea Fresh and Clean Air Machine T6을 갖춘 최초의 에어컨을 출시 할 예정입니다. 이 에어컨에는 고급 공기 지능형 주행 시스템이 장착되어있어 환경에 따라 온도, 습도 및 풍속과 같은 매개 변수를 지능적으로 조정할 수 있습니다. 더 중요한 것은 DeepSeek Big 모델을 통합하고 400,000 개 이상의 AI 음성 명령을 지원합니다. Midea의 움직임은 업계에서 격렬한 토론을 일으켰으며 특히 백색 제품과 대형 모델을 결합하는 중요성에 대해 우려하고 있습니다. 전통적인 에어컨의 간단한 온도 설정과 달리 MIDEA Fresh and Clean Air Machine T6은 가정 환경에 따라보다 복잡하고 모호한 지침을 이해하고 습도를 지능적으로 조정하여 사용자 경험을 크게 향상시킬 수 있습니다.

Baidu의 다른 국가 제품은 Deepseek과 연결되어 있습니까?Baidu의 다른 국가 제품은 Deepseek과 연결되어 있습니까?Mar 12, 2025 pm 01:48 PM

DeepSeek-R1은 Baidu Library 및 NetDisk에 권한을 부여합니다. 심도있는 사고와 행동의 완벽한 통합은 단 한 달 만에 많은 플랫폼에 빠르게 통합되었습니다. 대담한 전략적 레이아웃을 통해 Baidu는 DeepSeek을 타사 모델 파트너로 통합하여이를 생태계에 통합하여 "큰 모델 검색"생태 전략의 주요 진전을 나타냅니다. Baidu Search 및 Wenxin Intelligent Intelligent 플랫폼은 DeepSeek 및 Wenxin Big Model의 깊은 검색 기능에 처음으로 연결하여 사용자에게 무료 AI 검색 경험을 제공합니다. 동시에 "Baidu로 갈 때 알게 될 것입니다"라는 클래식 슬로건과 새로운 버전의 Baidu 앱은 Wenxin의 큰 모델과 DeepSeek의 기능을 통합하여 "AI Search"및 "Wide Network Information Refinement"를 시작합니다.

웹 개발을위한 신속한 엔지니어링웹 개발을위한 신속한 엔지니어링Mar 09, 2025 am 08:27 AM

코드 생성을위한 AI 프롬프트 엔지니어링 : 개발자 안내서 코드 개발의 풍경은 상당한 변화를 위해 준비되어 있습니다. LLM (Large Language Model)과 신속한 엔지니어링을 마스터하는 것이 향후 몇 년 동안 개발자에게 중요 할 것입니다. th

GO와 함께 네트워크 취약성 스캐너 구축GO와 함께 네트워크 취약성 스캐너 구축Apr 01, 2025 am 08:27 AM

이 GO 기반 네트워크 취약점 스캐너는 잠재적 보안 약점을 효율적으로 식별합니다. 속도를 위해 Go의 동시성 기능을 활용하고 서비스 감지 및 취약성 일치를 포함합니다. 그 능력과 윤리를 탐색합시다

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경