Người ở giữa sử dụng HTTPs hạ cấp xuống HTTP
Nói chung, các trình duyệt cố gắng thiết lập một HTTPs-Connection nếu có thể. Làm thế nào bạn buộc trình duyệt phải dự phòng HTTP khi ai đó nhập asdf.xyz vào thanh tìm kiếm của trình duyệt của họ mà không chỉ định giao thức?
Do đó: sslstrip có lẽ không hữu ích vì không có liên kết nào đến "fake". Hơn nữa, giả định rằng trang web không sử dụng HSTS.
Giả sử một người có thể thực hiện MITM - định tuyến với iptables sẽ được thực hiện như thế nào / bạn sẽ cần những lệnh nào để làm cho trình duyệt tin rằng HTTP không có sẵn và dự phòng cho HTTP?
Trả lời
Tôi nghĩ rằng bạn có thể có một chút hiểu lầm trong tiền đề câu hỏi của bạn. Nếu trang web không sử dụng HSTS và người dùng nhập vào example.comthanh địa chỉ của trình duyệt thì trình duyệt sẽ mặc định http://example.com, không https://example.com.
Xem các câu hỏi sau trên security.stackexchange.com và các nơi khác trên stackexchange.com để biết thêm thông tin về hành vi này:
Tại sao các trình duyệt mặc định thành http: chứ không phải https: cho URL được nhập?
Tại sao HTTPS không phải là giao thức mặc định?
https://superuser.com/questions/799464/how-does-a-web-browser-know-if-destination-is-http-or-https
Đây chính là lý do tại sao bây giờ chúng ta có HSTS . HTTPS Everywhere là một nỗ lực khác để giải quyết vấn đề này.