Cookie phpsessid được tạo mà không có cờ bảo mật

Trong tệp cấu hình PHP (php. ini), hãy tìm phiên. cài đặt cookie_httponly và đặt thành True

  • Nếu bạn không có quyền truy cập vào cấu hình PHP, bạn có thể thử ghi đè cài đặt này khi chạy

  • ini_set("session.cookie_httponly", 1);
    
    1. Nếu nó không hoạt động, bạn phải ghi đè lên cookie đó theo cách thủ công
    session_start();
    $params = session_get_cookie_params();
    setcookie("PHPSESSID", session_id(), 0, $params["path"], $params["domain"],
        false,  // this is the secure flag you need to set. Default is false.
        true  // this is the httpOnly flag you need to set
    );
    

    định nghĩa

    session_start();
    $params = session_get_cookie_params();
    setcookie("PHPSESSID", session_id(), 0, $params["path"], $params["domain"],
        false,  // this is the secure flag you need to set. Default is false.
        true  // this is the httpOnly flag you need to set
    );
    
    1

    bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] )
    

    Cookie HTTP là một mẩu thông tin nhỏ mà máy chủ gửi đến trình duyệt web của người dùng. Tiêu đề Cookie lưu trữ các cookie HTTP được máy chủ web gửi trước đó với tiêu đề Set-Cookie

    Cookie phiên sẽ bị xóa khi trình duyệt tắt và nếu cookie là vĩnh viễn, chúng sẽ hết hạn vào thời điểm được xác định bởi Expires hoặc Max-Age

    Có thể giảm thiểu nguy cơ các tập lệnh phía máy khách truy cập vào cookie được bảo vệ bằng cách bao gồm một cờ “HttpOnly” bổ sung trong tiêu đề phản hồi HTTP Set-Cookie

    Do đó, trình duyệt sẽ không tiết lộ cookie cho bên thứ ba ngay cả khi tồn tại lỗ hổng cross-site scripting (XSS) trong ứng dụng web

    Trong một cuộc tấn công kịch bản chéo trang, kẻ tấn công có thể dễ dàng truy cập cookie và sử dụng chúng để chiếm quyền điều khiển phiên của nạn nhân

    Kẻ tấn công có thể lấy thông tin nhạy cảm có trong cookie

    Đặt HTTPOnly trên cookie. Điều này giúp giảm thiểu phần lớn các cuộc tấn công XSS cố gắng chiếm cookie và có thể làm rò rỉ thông tin nhạy cảm hoặc cho phép kẻ tấn công mạo danh người dùng

    Phương thức HTTP TRACE kết hợp với XSS có thể đọc cookie xác thực, ngay cả khi cờ HttpOnly được sử dụng. Vì vậy, hãy đảm bảo rằng phương thức HTTP TRACE đã bị tắt

    Ví dụ hiển thị phản hồi HTTP của máy chủ web với cookie được đặt bằng cách sử dụng tiêu đề phản hồi HTTP Set-cookie

        Set-Cookie: session=219ffwef9w0frtegazxw345; Path=/; Secure; HttpOnly
    
      

    sử dụng. NET để đặt HttpOnly

    Khi đặt cookie theo cách thủ công, có một đối tượng CookieOptions dễ dàng mà bạn có thể sử dụng để đặt HttpOnly thành true

    [GIẢI QUYẾT]Cờ bảo mật hiện đang được hiển thị cho PHPSESSID, Tiền tệ và Ngôn ngữ

    Cho cả NGINX và Apache

    1. Đi đến nơi bạn đã cài đặt opencart, sau đó tìm /system/library/session. php

    2. Tìm thấy

    Mã số. Chọn tất cả

    if ($this->adaptor && !session_id()) {
    			ini_set('session.use_only_cookies', 'Off');
    			ini_set('session.use_cookies', 'On');
    			ini_set('session.use_trans_sid', 'Off');
    			ini_set('session.cookie_httponly', 'On');

    3. Thêm dòng này trực tiếp sau nó

    Mã số. Chọn tất cả

    ini_set('session.cookie_secure', 'On');
    

    Nếu 'Bật' không hoạt động, hãy thử thay thế bằng 1

    4. Lưu tệp và tải lại lên máy chủ của bạn

    5. Truy cập trang web ở chế độ ẩn danh của chrome, nhấp vào ổ khóa màu xanh lá cây trên thanh tìm kiếm và bên dưới cookie, thông báo chỉ kết nối an toàn
    Cách tốt nhất là nhấp chuột phải, kiểm tra nguồn > nhấp vào tab mạng > làm mới trang . php".
    Nên có dấu kiểm bên dưới Chỉ HTTP và Bảo mật cho PHPSESSID.
    Xóa cookie trình duyệt của bạn để xem nội dung này ở chế độ không ẩn danh.

    6. Đối với cookie Tiền tệ và Ngôn ngữ, hãy mở tải lên/danh mục/bộ điều khiển/khởi động/khởi động. php

    7. Tìm thấy

    Mã số. Chọn tất cả

    setcookie('currency', $code, time() + 60 * 60 * 24 * 30, '/', $this->request->server['HTTP_HOST']);

    Và thay thế bằng

    Mã số. Chọn tất cả

    setcookie('currency', $code, time() + 60 * 60 * 24 * 30, '/', $this->request->server['HTTP_HOST'], true, true);

    Tìm thấy

    Mã số. Chọn tất cả

    ________số 8

    Và thay thế bằng

    Mã số. Chọn tất cả

    setcookie('language', $code, time() + 60 * 60 * 24 * 30, '/', $this->request->server['HTTP_HOST'], true, true);

    8. Lặp lại bước 5 và kiểm tra để tìm các cờ HTTP và Bảo mật được đánh dấu cho loại tiền tệ và ngôn ngữ của cookie

    TÙY CHỌN CHỈ dành cho máy chủ APACHE

    Chỉnh sửa chính của bạn. htaccess nơi bạn đã cài đặt opencart

    Mã số. Chọn tất cả

    session_start();
    $params = session_get_cookie_params();
    setcookie("PHPSESSID", session_id(), 0, $params["path"], $params["domain"],
        false,  // this is the secure flag you need to set. Default is false.
        true  // this is the httpOnly flag you need to set
    );
    
    0

    Nhiều tùy chọn bảo mật hơn để thực hiện.
    Cookie SAMESITE PHẢI được thiết lập càng sớm càng tốt, hãy đọc bên dưới.
    viewtopic. php?f=64&t=217040&p=782859&hi. te#p782859
    https. //Phiên dịch. nội dung người dùng google. com. f_9fM6LpfA
    https. //Phiên dịch. nội dung người dùng google. com. pL6EIiSxQg
    Bổ sung
    https. //www. người hành nghề tự do. đồng. anh/dự án/p. -trang web/
    https. //www. xe mở. com/chỉ mục. php?rout. hoặc%20Donev
    Cũng xem xét thêm tường lửa ứng dụng web như getastra. com
    Cookie đã được đặt mà không có cờ bảo mật, điều đó có nghĩa là cookie có thể được truy cập thông qua các kết nối không được mã hóa .
    Nếu cờ HttpOnly không được đặt thì thông tin nhạy cảm được lưu trữ trong cookie có thể bị lộ cho các bên ngoài ý muốn . Nếu cookie được đề cập là cookie xác thực, thì việc không đặt cờ HttpOnly có thể cho phép kẻ tấn công lấy cắp dữ liệu xác thực (e. g. , ID phiên) và giả định danh tính của người dùng.
    Thay đổi thuộc tính 'Secure' mặc định từ FALSE thành TRUE để đảm bảo cookie chỉ được gửi qua HTTPS. Thuộc tính 'Secure' phải được đặt trên mỗi cookie để ngăn các tác nhân độc hại quan sát cookie. Triển khai thuộc tính 'Secure' khi sử dụng tham số Set-Cookie trong các phiên xác thực
    Cờ Bảo mật được sử dụng để tuyên bố rằng cookie chỉ có thể được truyền bằng kết nối bảo mật (SSL/HTTPS). Nếu cookie này được đặt, trình duyệt sẽ không bao giờ gửi cookie nếu kết nối là HTTP. Cờ này ngăn hành vi trộm cắp cookie thông qua các cuộc tấn công trung gian.