웹 침투에 대한 기본 지식
네트워크 기본
IP 프로토콜
IP 프로토콜은 OSI-RM의 세 번째 계층에서 정의됩니다.——네트워크 계층
IP 프로토콜 은 연결 없음 을 위한 것입니다. IP 네트워크의 노드 라우터는 각 IP 패킷 헤더의 IP 주소에 따라 주소가 지정됩니다. 이러한 방식으로 동일한 호스트가 보낸 동일한 메시지에 속하는 IP 패킷이 도달할 수 있습니다. 다른 경로를 통해 대상 호스트.
TCP/IP 프로토콜은 OSI 7계층 참조 모델을 완전히 준수하지 않습니다.
이 7계층은 낮은 것부터 높은 것까지:
1 물리 계층, 2 데이터 링크 계층, 3 네트워크 계층, 4 전송 계층, 5 세션 계층, 6 프리젠테이션 계층, 7 애플리케이션 계층입니다.
상위 레이어(즉, 레이어 7, 6, 5, 4)는 애플리케이션의 기능을 정의하고,
하위 3개 레이어(즉, 레이어 3, 2, 1)는 주로 엔드를 지향합니다- 네트워크를 통해 엔드 데이터가 흐릅니다.
TCP/IP 통신 프로토콜은 4계층 계층 구조를 채택합니다. 각 계층은 자체 요구 사항을 충족하기 위해 다음 계층에서 제공하는 네트워크를 호출합니다.
이 4 레이어는
애플리케이션 레이어, 전송 레이어, 상호 연결 네트워크 레이어, 네트워크 인터페이스 레이어입니다.
UDP 프로토콜
UDP는 OSI 참조 모델의 connectionless 전송 계층 프로토콜인 사용자 데이터그램 프로토콜입니다.
UDP에는 패킷 그룹화 , 조립 및 패킷 정렬이 불가능 이라는 단점이 있습니다. 즉, 메시지가 전송된 후에는 메시지가 안전하고 완전하게 도착했는지 알 수 없습니다.
TCP 프로토콜
TCP는 IETF의 RFC 793에 의해 정의된 연결 지향, 신뢰성, 바이트 스트림 기반 전송 계층 통신 프로토콜입니다.
애플리케이션 계층은 네트워크 간 전송을 위해 8비트 바이트로 표시되는 데이터 스트림을 TCP 계층으로 보낸 다음 TCP는 데이터 스트림을 적절한 길이의 메시지 세그먼트로 분할합니다(보통 연결되는 네트워크의 데이터 링크에 의해 영향을 받음). 컴퓨터가 연결되어 있음) 레이어의 최대 전송 단위(MTU) 제한).
그런 다음 TCP는 결과 패킷을 IP 계층으로 전달하고 IP 계층은 네트워크를 통해 수신 엔터티의 TCP 계층으로 패킷을 전송합니다. 패킷 손실이 발생하지 않도록 하기 위해 TCP는 각 패킷에 시퀀스 번호를 부여하는 동시에 수신 측으로 전송되는 패킷이 순서대로 수신되도록 보장합니다. 그런 다음 수신 엔터티는 성공적으로 수신된 패킷에 대해 해당
확인(ACK)을 다시 보냅니다. 전송 엔터티가 합리적인 왕복 지연(RTT) 내에 확인을 받지 못하면 해당 데이터 패킷은 다음과 같습니다. 손실된 것으로 간주되며 재전송됩니다. TCP는 체크섬 기능을 사용하여 데이터에 오류가 있는지 확인합니다. 송신 중에 체크섬을 계산해야 합니다.
TCP three-way handshake와 four-way wave에 대한 간략한 설명
Three-way handshake첫 번째 핸드셰이크:
서버와 통신하려면클라이언트가 먼저 서버에 이를 알리고 전송해야 합니다. out a SYN=1인 연결 요청 신호, "서버측 형님, 통화하고 싶습니다." 두 번째 핸드셰이크:
서버가 클라이언트의 연결 요청을 받으면 클라이언트에게 "이해합니다(ACK), 준비가 되었습니다. 이제 (SYN)"이라는 확인 메시지를 보냅니다. 세 번째 핸드셰이크:
클라이언트는 서버로부터 연결 확인 정보를 받은 후 "좋아, 연결을 시작하자(ACK)"라고 정중하게 서버에 알려야 합니다. 이제 연결 설정 과정이 모두 끝났고, 다음 단계는 두 당사자 간에 하나씩 또는 동시에 정보를 전달하고 전송하는 과정입니다.
네 번 흔들기첫 번째 물결: 두 당사자 간의 통신이 거의 끝났습니다.
이때 클라이언트도 종료되었으며 다음에는 통신 연결을 끊어야 하므로 서버에 알려주세요." I'm done(FIN )'이라고 현재는 연결 종료를 기다리는 상태입니다. 두 번째 물결: 서버는 클라이언트가 할 말이 없다는 것을 알고 있습니다. 이 시점에서 서버는 아직 클라이언트에게 할 말이 두 가지 있습니다, "말이 끝난 걸 압니다(ACK). 다시 한 번 당신에게 &*……%PY”라고 몇 마디 말해주세요. 세 번째 물결: 이제 클라이언트는 여전히 종료를 기다리고 있으며 서버는 말하기를 완료했습니다. 이제 연결을 끊기를 기다리는 상태이며 클라이언트에게 "나는 지금입니다." 됐어, 연결 끊자." FIN(FIN)". 네 번째 물결: 클라이언트는 서버가 말하기를 마쳤다는 것을 알고 서버에 알려야 합니다(ACK). 연결 및 연결 끊김을 위해서는 양쪽 당사자가 연결을 끊기 위해 닫기 작업을 눌러야 하고 클라이언트는 동시에 연결을 끊어야 하기 때문입니다. 방금 말씀드린 문장이 서버에 정확히 도달할 수 있을지 모르기 때문에 타이머를 정의해두세요(네트워크 불안정으로 인한 네트워크 문제나 기타 요인), 기본 시간은 둘의 최대 시간의 합으로 설정됩니다 기본적으로 서버는 자체 확인 정보를 수신했으며 이때 클라이언트는 자체 연결을 닫습니다. 서버는 클라이언트로부터 확인 알림을 받으면 즉시 서버의 연결을 닫습니다. 이 시점에서 양측 간의 모든 커뮤니케이션 과정이 종료됩니다. 3방향 핸드셰이크 메커니즘을 사용하는 이유는 무엇인가요? 낭비가 발생했습니다. 서버 자원의 손실을 초래하고 안전상의 위험을 초래할 수 있습니다. 따라서 3방향 핸드셰이크 메커니즘을 사용하면 서버가 확인을 보내고 클라이언트로부터 확인을 받지 못한 후에 연결이 설정되지 않았음을 알기 때문에 이러한 의미 없는 리소스 낭비가 발생하지 않습니다. 대기 중. 물어보세요. TCP/IP가 이 두 프로토콜을 참조하나요? TCP/IP(전송 제어 프로토콜/인터넷 프로토콜)은 네트워크의 모든 통신 장치, 특히 한 호스트와 다른 호스트 간의 데이터 교환 형식 및 전달 방법을 규제하는 네트워크 통신 프로토콜입니다. Sliding Window Protocol Sliding Window Protocol은 TCP프로토콜의 응용으로 네트워크 데이터 전송 중 혼잡을 피하기 위해 흐름 제어에 사용됩니다. 이 프로토콜을 사용하면 발신자는 중지하고 승인을 기다리기 전에 여러 데이터 패킷을 보낼 수 있습니다. 패킷이 전송될 때마다 발신자가 확인을 위해 중지하고 기다릴 필요가 없기 때문에 이 프로토콜은 데이터 전송 속도를 높이고 네트워크 처리량을 증가할 수 있습니다. HTTP 하이퍼텍스트 전송 프로토콜이며 인터넷에서 가장 널리 사용되는 네트워크 프로토콜입니다. 모든 WWW 파일은 이 표준을 준수해야 합니다. HTTP 클라이언트는 서버의 지정된 포트(기본값은 포트 80)에 대한 TCP 연결을 설정하라는 요청을 시작합니다. HTTP서버는 해당 포트의 클라이언트에서 보낸 요청을 수신합니다. 요청을 수신하면 서버는 "HTTP/1.1 200 OK"와 같은 상태 줄과 본문이 요청된 파일, 오류 메시지 또는 다른 정보. HTTPUDP 대신 TCP를 사용하는 이유는 웹페이지를 열려면 많은 양의 데이터를 전송해야 하는데, TCP 프로토콜은 전송 제어, 데이터 순서화, 오류 수정 기능을 제공하기 때문입니다. HTTP 또는 HTTPS 프로토콜을 통해 요청된 리소스는 Uniform Resource Identifiers(또는 더 정확하게는 URL)로 식별됩니다. HTTPS HTTPS는 보안을 목표로 하는 Secure Socket Layer Hypertext Transfer Protocol, HTTP 채널, 간단히 말해서 HTTP의 보안 버전입니다. Hypertext Transfer Protocol HTTP 프로토콜은 웹 브라우저와 웹 사이트 서버 간에 정보를 전송하는 데 사용됩니다. HTTP 프로토콜은 일반 텍스트로 콘텐츠를 전송하며 어떤 형태의 데이터 암호화도 제공하지 않습니다. 공격자가 웹 브라우저와 웹 사이트 서버 간의 전송 메시지를 가로채면 그 안에 있는 정보를 직접 읽을 수 있으므로 HTTP 프로토콜 신용 카드 번호, 비밀번호 등과 같은 일부 민감한 정보를 전송하는 데 적합하지 않습니다. HTTP 프로토콜의 이러한 단점을 해결하려면 다른 프로토콜을 사용해야 합니다: Secure Sockets Layer Hypertext Transfer Protocol HTTPS. 데이터 전송 보안을 위해 HTTPS는 HTTP에 SSL 프로토콜을 추가했습니다. SSL은 인증서를 사용하여 서버의 신원을 확인하고 브라우저와 서버 간의 통신을 암호화합니다. HTTP 하이재킹 전송 중 암호화만, HTTPS공개 키 암호화, 개인 키 복호화, 공개 키 개인 키는 비대칭 암호화 알고리즘에 의해 생성됩니다. 서버는 공개 키 CA인증서를 클라이언트에 반환합니다. 클라이언트가 공개 키 인증서를 받은 후 임의로 클라이언트에서 대칭 키를 생성합니다. which 대칭 키 는 모든 후속 데이터 트래픽 을 암호화하는 데 사용되며 대칭 키는 공개 키로 암호화 되어 서버로 전송됩니다. 개인 키가 있는 경우 서버가 이를 해독합니다. 공개 키에 해당합니다. HTTPS와 HTTP의 주요 차이점은 다음 4가지입니다. ca를 신청해야 합니다. 일반적으로 무료 인증서가 거의 없으며 반드시 인증서를 신청해야 합니다. 수수료를 지불하십시오. 2. http는 하이퍼텍스트 전송 프로토콜이고, 정보는 인 반면, https는 안전한 ssl암호화된 전송 프로토콜입니다. 3. http와 https는 전혀 다른 연결 방식을 사용하고, 다른 포트를 사용합니다. 이고 후자는 443입니다. 4. http 연결은 매우 간단하며 입니다. HTTPS 프로토콜은 암호화된 전송 및 신원 인증을 수행할 수 있는 SSL+HTTP프로토콜으로 구축된 네트워크 프로토콜이며 보다 안전합니다. http 프로토콜. 참고: 상태 비저장(프로토콜에는 트랜잭션 처리를 위한 메모리가 없으며 인생은 처음 보는 것과 같습니다.): , 웹 애플리케이션은 클라이언트를 추적해야 합니다. 세션(다단계 통신), 쿠키를 사용하지 않는 애플리케이션, 클라이언트는 각 요청에 대해 다시 인증해야 함(비현실적), 세션은 사용자 인증 후 사용자 행동 추적을 추적하는 데 사용됩니다(사용자 경험은 향상되지만 공격 트래픽은 증가함) DNS 도메인 이름 확인클라이언트가 IP 주소 또는 호스트 이름을 변환하기 위해 DNS 요청을 보냅니다. DNS 서버는 1. 서버의 캐시를 확인합니다. 요청한 주소나 이름, 즉 클라이언트에게 응답 메시지를 보냅니다2. 찾을 수 없으면 데이터베이스에서 검색하세요 3 찾을 수 없는 경우 는 루트 도메인 DNS 최상위 도메인을 검색 합니다. 2차 도메인, 2차 도메인부터 3차까지, 즉 해결하려는 주소나 이름을 찾을 때까지 클라이언트가 위치한 네트워크의 DNS 서버가 응답 메시지를 보낸다. 응답을 캐시에 저장한 다음 구문 분석 결과를 클라이언트에 보냅니다. 4. 찾을 수 없으면 오류 메시지를 반환합니다 자세한 내용은 PHP 중국어 웹사이트를 참조하세요.
위 내용은 웹 침투를 위해서는 어떤 기본 지식이 필요한가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!