2011-11-22 33 views
8

Tôi đang kiểm tra trang web của mình với w3af.Đảm bảo trang web của tôi

Nó nói rằng nó tìm thấy một số vấn đề trên trang web của tôi, nhưng tôi nghi ngờ đó thực sự là trường hợp.

Một trong những vấn đề này là:

URL: http://localhost/en/login là dễ bị tổn thương chéo yêu cầu trang web giả mạo. Nó cho phép kẻ tấn công trao đổi phương thức từ POST thành GET khi gửi dữ liệu đến máy chủ.

Tôi khá chắc chắn không dễ bị tấn công csrf vì tôi đã sử dụng bảo vệ crsf trong biểu mẫu của tôi (trường có mã thông báo được kiểm tra).

Vì vậy, tôi tự hỏi những gì bài này là về:

Nó cho phép những kẻ tấn công để trao đổi phương pháp từ POST để GET khi gửi dữ liệu đến máy chủ.

Tôi không quan tâm liệu kẻ tấn công có thể chuyển đổi từ POST sang GET hay tôi?

Và nếu tôi làm, bạn có thể giải thích lý do tại sao tôi làm như vậy? Làm thế nào nó có thể được khai thác?

+0

Bạn đang sử dụng $ _REQUEST trong biểu mẫu đó, thay vì _POST? –

+0

@MarcB: Đúng vậy. Nhưng tôi không thấy làm thế nào mà có thể được khai thác (xem xét các lĩnh vực phòng chống csrf). – PeeHaa

+0

@Macmade: bạn có thể giải thích tại sao tôi quan tâm đến nó? – PeeHaa

Trả lời

3

Xuất phát từ quan điểm không có kinh nghiệm với w3af, tôi cho rằng nó có một số quy tắc khá cơ bản được viết vào nó và nó kiểm tra các quy tắc và báo cáo đó về chúng.

Trong trường hợp này, có thể sẽ kiểm tra xem bạn đã sử dụng $_REQUEST thay vì $_POST hoặc $_GET rồi báo cáo lỗi nếu tìm thấy, bất kể những nỗ lực bạn đã thực hiện để đảm bảo điều này.

Mọi người sẽ viết mã khác nhau để phần mềm hiểu ngữ cảnh của mã của bạn sẽ là một thành tích tuyệt vời và có thể vượt ra ngoài trí thông minh của điều này. Điều này không có nghĩa là tấn công vào phần mềm, nhưng thành thật mà nói nếu tôi nghĩ ra một số chương trình có thể hiểu được ngữ cảnh và ý định của mã của người khác, tôi sẽ không cho nó đi trên sourceforge: p

Nó có quan trọng không? Có thể phụ thuộc vào mức độ bảo đảm của trang web (xem bình luận của Marc B (+1) ở trên).

- EDIT -

Bằng cách sử dụng $_REQUEST thay vì quy định cụ thể $_POST hoặc $_GET bạn đã để lại cho mình mở cửa cho một khu vực bị tấn công mà có thể dễ dàng đóng cửa. Không chỉ này, nhưng $_REQUEST cũng bao gồm $_COOKIE. Điều này đã được bảo hiểm here thay vì tôi sao chép câu trả lời của người khác.

+0

Hãy cho tôi biết lý do vì sao +1 kể từ khi tôi có bảo vệ csrf trong ... Tôi không hiểu. Cũng xem bình luận của tôi về bình luận của Marc B. Làm thế nào nó có thể được khai thác khi bảo vệ csrf được đặt ra. Hoặc tôi thiếu một cái gì đó rất lớn ở đây (cũng có thể bee trường hợp. Nó xảy ra đôi khi :)) – PeeHaa

+0

Tôi đã cập nhật bài viết của tôi trong trả lời;) –

+0

Oh @PeeHaa bằng cách +1 cho w3af. Chỉ cần có một cái nhìn và nó trông khá tuyệt vời. –

Các vấn đề liên quan