2009-02-06 30 views
7

Tôi là một nhà phát triển web rất ý thức về bảo mật và cố gắng làm cho các ứng dụng web của tôi an toàn nhất có thể.Hacking ứng dụng của riêng bạn

Bao giờ tôi bắt đầu viết các ứng dụng cửa sổ của riêng mình trong C# và khi kiểm tra tính bảo mật của ứng dụng C# của tôi, tôi thực sự chỉ là một người mới.

Chỉ cần tự hỏi nếu có ai có bất kỳ hướng dẫn hay/readme nào về cách hack ứng dụng cửa sổ của riêng bạn và viết mã bảo mật.

+1

Tôi nghĩ rằng bạn có nghĩa là ** nứt **, ** hack ** là những gì bạn làm khi bạn làm việc trên ứng dụng của mình. –

Trả lời

4

Sách của Michael Howard là điểm khởi đầu tốt;

Có vô số các liên kết và bài viết thú vị từ blog Michael Howard là here

Có một bài thuyết trình powerpoint thú vị từ Microsoft về mối đe dọa đánh giá, rủi ro và ASP here.

2

Ngoài tất cả các câu trả lời rõ ràng để ngăn chặn tràn bộ đệm, chèn mã, phiên highjacking et. al. bạn nên tìm người khác để kiểm tra mã/phần mềm của mình vì bạn chỉ có thể nghĩ về cách hack phần mềm của mình mà bạn biết cách ngăn chặn. Chỉ vì bạn không thể tìm cách để hack phần mềm của riêng bạn mà không có nghĩa là không ai khác có thể.

0

Để đảm bảo ứng dụng biểu mẫu giành chiến thắng của bạn, hãy mở ứng dụng và cố gắng làm mọi thứ mà người dùng lambda không nên làm! Tôi sẽ giải thích:

Nếu bạn "nói nhập yes hoặc no", hãy thử với A-Z, 0-9 vì đó là những gì một số người dùng làm để tìm một số dấu vết ngăn xếp có thể thú vị. Vì vậy, hãy đặt trình xác thực ở mọi nơi.

Hãy coi chừng kết nối với cơ sở dữ liệu nhưng nếu bạn đến từ nhà phát triển web, bạn nên ý thức hơn tôi :).

Phần khó nhất là xem thông tin về rò rỉ bộ nhớ hoặc nội dung như vậy, nhưng đó là trong các ứng dụng lớn hoặc trong các ứng dụng không phát triển tốt.

2

Đây là điều rất khó cho bạn, và tôi nghĩ rằng bạn đang tiếp cận vấn đề từ góc độ sai. Nếu bạn đang viết một ứng dụng của bất kỳ kích thước nào sau đó cố gắng để đối phó với an ninh ở cuối, bằng cách tìm cách cụ thể của vi phạm phần mềm của riêng bạn, là gần như không thể.

Đây là vì một số lý do. Bạn đã nghĩ về phần mềm của mình theo một cách nào đó. Bạn nghĩ về những cách cụ thể để tương tác với nó, và bạn biết cách tận dụng nó tốt nhất. Bạn không nghĩ về nó theo cách khai thác nó, và đây là một việc khó làm với phần mềm mà bạn quen thuộc.

Một vấn đề khác là nhiệm vụ của điểm này quá lớn để giải quyết. Bất kỳ vấn đề mà bạn tìm thấy có thể mở ra bất kỳ số lượng các vấn đề khác. Một hệ thống kiểm tra an ninh rộng là hư không gần đủ hạt.

Điều bạn nên làm là suy nghĩ về bảo mật trong khi viết phần mềm. Tìm hiểu các phương pháp hay nhất và xem xét từng phương pháp và lớp học mà bạn viết từ quan điểm bảo mật.Điều này đi đôi với thử nghiệm đơn vị, hãy thử xem xét những gì đầu vào có thể làm cho phần này cụ thể của chương trình của tôi phá vỡ. và sau đó đối phó với họ ở cấp độ đó.

Sau đó tôi nghĩ rằng vấn đề của nó phản hồi nhanh chóng đối với bất kỳ mối lo ngại bảo mật nào mà bạn đã biết.

1

Bạn có thể làm tồi tệ hơn nhiều so với đọc cuốn sách Security Engineering của Ross Anderson. Ấn bản đầu tiên có thể tải xuống dưới dạng PDF và đọc tốt. Tôi chưa đọc ấn bản thứ hai, nhưng tôi nghi ngờ nó tốt hơn và có thêm nhiều thứ trong đó. Lưu ý nó là một cuốn sách giải thích làm thế nào để xây dựng an ninh ngay từ đầu, không phải làm thế nào để phá vỡ an ninh, nhưng trình bày các lỗi bảo mật các loại nên cung cấp cho bạn một ý tưởng tốt cho nơi để bắt đầu tìm kiếm. Các tính năng chính

1

Những điều nhỏ nhặt mà tôi đã trải qua qua trải nghiệm của riêng mình.

  • Không sử dụng SQL động, khi đó bạn sẽ dễ bị tấn công SQL. Thay vì sử dụng các truy vấn SQL với các tham số.
  • Không có id gia tăng như user_id = 1, 2, 3 v.v ... và sau đó sử dụng URL đó, something.aspx? User_id = 1, tôi có thể đoán id tiếp theo và hy vọng phiên. Tương tự cho các tài khoản và những gì khác là nhạy cảm.
  • Xem ra cho XSS, (cross scripting script). Nếu bạn chấp nhận đầu vào của người dùng và lưu trữ trực tiếp, hãy đảm bảo rằng họ không thể chèn cảnh báo() cho tên của họ hoặc thứ gì đó.

Đây không phải là danh sách đầy đủ. Chỉ những thứ mà tôi đã chạy vào gần đây.

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