CSRF bảo vệ drupal lưu trữ

Tôi có một số kịch bản PHP POST mà tôi cần để bảo vệ khỏi sự tấn công CSRF và có nhiều câu hỏi:

1) Nếu tôi gửi yêu cầu POST để PHP sử dụng jquery mà không có một hình thức HTML, chỉ cần nhận được giá trị trực tiếp từ các yếu tố HTML và trình sử dụng jquery, tôi vẫn có nguy cơ bị CSRF?

2) Khi người dùng đăng nhập vào trang web, tôi lưu trữ thẻ duy nhất của họ trong một biến phiên. Trong kịch bản PHP POST tôi kiểm tra nếu điều đó biến session được thiết lập và có giá trị như nhau Tôi đặt trước. Mà không phải là đủ? tại sao nó cần thiết cho các thẻ được đưa vào dưới dạng HTML là tốt?

CSRF bảo vệ drupal lưu trữ mà phù hợp với một trong

hỏi ngày 15 tháng 11 '14 tại 23:43

  1. Vâng. Nó không quan trọng như thế nào bạn xây dựng theo yêu cầu, những kẻ tấn công có thể xây dựng một trong cùng một cách. (Về lý thuyết bạn có thể làm tính năng của một yêu cầu phức tạp (mà sẽ kích hoạt một yêu cầu preflight CORS) bắt buộc, vì vậy mà một trang web khác không thể có được trình duyệt của người dùng để sao chép toàn bộ yêu cầu, nhưng tôi không muốn phụ thuộc vào đó) .
  2. Không

Mục đích của các mã thông báo là để kiểm tra xem các trang có chứa mã chịu trách nhiệm về quyết định những gì diễn ra trong yêu cầu (ví dụ: hình thức hoặc JavaScript) là một trang trên website của bạn.

Nếu hình thức (hay JavaScript) có thể đọc một mã thông báo (mà phù hợp với một trong phiên) từ HTML của trang và đặt nó trong yêu cầu, sau đó bạn biết mã đó xây dựng các yêu cầu đến từ trang web của bạn.

Nếu bạn chỉ cần kiểm tra xem nó là trong phiên giao dịch, sau đó tất cả các bạn đang kiểm tra là người sử dụng đã gây ra một mã thông báo được tạo ra (mà thường chỉ có nghĩa là quý khách đến thăm bất kỳ trang nào trên trang web của bạn ... mà có thể là trong một khung ẩn).

được. những gì về nếu kẻ tấn công có JS có thể bao gồm các HTML FORM thực tế từ trang web của tôi vào một iframe ẩn. Tôi đã nhìn thấy nó trong một ví dụ khác, sẽ không phải là dấu hiệu được đưa vào biểu mẫu nếu người dùng truy cập các trang web tấn công trong khi đăng nhập? Trong trường hợp này yêu cầu sẽ được xác thực vì mã thông báo là có trong hình thức và trong phiên hoặc tôi thiếu cái gì? - Michael Samuel 15 Tháng 11 '14 tại 23:58

Số Nếu bạn đặt một khung bên trong một hình thức, lĩnh vực trong trang nạp bởi khung sẽ không được đưa vào dữ liệu mẫu. Bạn không thể đọc được dữ liệu trên các lĩnh vực thông qua một khung với JavaScript (trừ khi trang web hợp tác với postMessage, mà bạn sẽ không được). - Quentin 16 Tháng 11 '14 tại 00:02

Có nó vẫn không an toàn

Một CSRF token phải là một dấu hiệu tươi tạo ra cho mỗi khi bạn tạo một biểu mẫu. Nó cần phải là duy nhất và không thể đoán trước cho mỗi yêu cầu. Một dấu hiệu phiên thiết lập từ đăng nhập là chỉ duy nhất cho toàn bộ phiên đăng nhập.

Và nếu bạn không gửi token tạo ra để kiểm tra, nơi nào bạn kiểm tra xem nó? Bạn phù hợp với thẻ phiên với. Lý do tại sao là bởi vì bạn vẫn có thể cung cấp cho mọi người khả năng để làm giả mạo yêu cầu, nếu thẻ không được gửi với yêu cầu riêng của mình, nhưng tất cả kiểm tra được thực hiện bằng phiên / cookies. Nếu bạn chỉ kiểm tra phiên nó không làm gì chống lại CSRF. Nó cần phải được gửi trong yêu cầu riêng của mình và kiểm tra nếu nó phù hợp với phiên của bạn. Khi bạn tạo ra một dấu hiệu duy nhất cho mỗi yêu cầu, những kẻ xấu không thể giả mạo yêu cầu một ai đó.

bảo vệ drupal CSRF lưu trữ trình duyệt để

đã trả lời 15 Tháng 11 '14 lúc 23:55

Xem video này!

Những bài viết liên quan

Drupal lưu trữ với sslHTTPS là một giao thức mã hóa các yêu cầu HTTP và phản ứng của họ. Điều này đảm bảo rằng nếu một người nào đó đã có thể xâm nhập vào mạng giữa máy tính của bạn và máy chủ bạn đang yêu cầu ...
dịch vụ lưu trữ drupal ÆgirChọn Drupal lưu trữ có thể là một nhiệm vụ khó khăn nếu bạn không chắc chắn những gì có sẵn cho bạn. Trong một số trường hợp, bạn có thể sử dụng tốt với một cái gì đó giống như một môi trường lưu trữ chia sẻ rằng Hostgator hoặc ...
Thay đổi bảng tiền tố drupal lưu trữTôi có một trang web drupal 7 chạy trên một máy chủ web, nó hiện đang sử dụng một cơ sở dữ liệu được tạo ra mà không có một tiền tố. Tôi đang cố gắng để khôi phục lại cơ sở dữ liệu đó để một trường hợp drupal mới từ một ...
Miglior lưu trữ theme drupalDrupal là gì? Drupal là một nền tảng quản trị nội dung mã nguồn mở có thể được tải về và sử dụng miễn phí. Nó bao gồm một nhóm nòng cốt của file đó là tiêu chuẩn trên tất cả các cài đặt, ...
Combell drupal lưu trữ ukDrupal thực hiện dễ dàng Nếu bạn đã quyết định rằng đây là hệ thống quản lý nội dung mà bạn muốn sử dụng để tạo ra trang web của bạn, tại sao không còn sử dụng địa chỉ web hoàn hảo của riêng bạn với nó? Bắt trang web của bạn ...