웹페이지를 긁어내려고 하는데curl
$ curl -k https://1.1.1.1/login.html
컬: (35) 오류: 14092105: SSL 루틴: ssl3_get_server_hello: 잘못된 비밀번호를 반환했습니다.
이 오류는 나에게 이해가 되지 않습니다. 웹페이지를 다운로드하는 데 아무런 문제가 없습니다 firefox
. 이 문제를 어떻게 디버깅할 수 있나요?
$ curl -V
컬 7.53.1(x86_64-pc-linux-gnu) libcurl/7.53.1 OpenSSL/1.0.2k zlib/1.2.11 libpsl/0.17.0(+libicu/58.2) libssh2/1.8.0
프로토콜: dict 파일 ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
기능: 비동기식 DNS IPv6 대용량 파일 GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS 프록시 PSL
답변1
다음을 참조하세요:https://stackoverflow.com/questions/34176433/lwp-iosocketssl-fails-with-ssl3-get-server-hellowrong-cipher-returned SSL을 확인해야 합니까? IP 또는 호스트 이름을 사용하고 있습니까? 호스트 이름을 사용하는 경우 IP보다는 호스트 이름을 사용하는 것이 좋습니다.
답변2
Firefox를 사용하여 서버에 연결할 수 있으므로 추가했습니다.비밀번호 여우추가하세요. 이를 통해 Firefox가 연결할 때 사용하는 비밀번호를 결정할 수 있었습니다. 제 경우에는 암호가 TLS_RSA_WITH_AES_256_CBC_SHA였습니다. 약간의 인터넷 검색으로 나를 이끌었습니다.비밀번호 목록이는 TLS_RSA_WITH_AES_256_CBC_SHA가 AES256-SHA임을 나타냅니다. 그럼 난 그냥 curl
새 비밀번호를 사용하라고 말해
curl --ciphers AES256-SHA -k https://1.1.1.1/login.html
공용 Wi-Fi 로그인 포털이기 때문에 보안 문제는 걱정되지 않습니다. 보안이 염려된다면 사용하는 비밀번호가 적절한지 확인해야 합니다.
답변3
SSL은 다양한 옵션이 포함된 복잡한 프로토콜입니다. 클라이언트와 서버는 호환 가능한 옵션을 선택하기 위해 협상해야 합니다. SSL의 목표 중 하나가 다음을 방지하는 것이기 때문에 이는 특히 어렵습니다.중간자 공격가능한 공격 방법 중 하나는 협상(보안 통신이 설정되기 전에 발생해야 함)을 방해하여 안전하지 않은 매개 변수를 강제로 사용하는 것입니다.
SSLv3프로토콜의 오래된 버전입니다. 현재는 TLS 1.2가 선호되며 1.0도 사용 가능합니다(1.1과 동일하지만 실제로는 거의 사용되지 않음). 협상이 SSLv3으로 떨어지면 서버가 심각하게 오래되었거나 문제가 있는 것입니다(서버가 잘못 구성되었기 때문일 수 있음).
무슨 일이 일어나고 있는지에 대한 자세한 정보를 얻는 데 유용한 도구는 다음과 같습니다.와이어샤크. 필터를 사용하여 포트 443의 TCP 트래픽을 1.1.1.1에 기록하도록 지시합니다 host 1.1.1.1 and port 443
. Wireshark는 SSL 연결을 자동으로 감지하고 각 메시지에 대한 자세한 분석을 표시해야 합니다. SSL 연결에서 클라이언트는 먼저 자신이 지원하는 설정을 나타내는 "client hello" 메시지를 보내고, 서버는 클라이언트가 지원하는 설정 중에서 선택하여 "server hello"로 응답합니다. 여기서는 클라이언트가 지원하지 않는 것을 서버가 선택하여 프로토콜이 다운그레이드된 것으로 보입니다.
답변4
컬 -d "제출=수락&ButtonClick=4&err_flag=0&network_name=Guest%20Network" --ciphers AES256-SHA -k -X POSThttps://1.1.1.1/login.html