it-swarm-vi.com

Làm cách nào để thực hiện kiểm toán bảo mật cho ứng dụng PHP?

Tôi có một ứng dụng PHP mà tôi muốn kiểm toán để bảo mật. Tôi quen với hầu hết các vấn đề bảo mật chung, nhưng muốn chắc chắn rằng tôi đã không bỏ lỡ điều gì.

Tôi nên làm những bước nào để thực hiện tự kiểm toán? Những công cụ có sẵn? Cách tốt nhất để tìm một kiểm toán viên bên thứ 3 là gì? Có khuyến nghị nào không?

Quan tâm đến cả kiểm toán whitebox/codereview và blackbox/pentest?

44
VirtuosiMedia
27
M.S. Dousti

Bạn nên bắt đầu với bất kỳ proxy web tương tác nào, chẳng hạn như proxy burp, paros, v.v.
[.__.] Bản thân tôi, tôi là một phần của Fiddler . Cho dù bạn chọn công cụ nào, điều này cho phép bạn kiểm tra tất cả các luồng yêu cầu/phản hồi và tương tác với các yêu cầu sau javascript. Nơi tuyệt vời để bắt đầu.

Cuối cùng, tôi tưởng tượng trình thu thập mã của OWASP sẽ hỗ trợ PHP quá ... mặc dù hiện tại tôi không quen với bất kỳ công cụ tự động miễn phí nào cho việc này. hiện nay...
[.__.] Tất nhiên bạn có thể tìm một trong những nhà cung cấp lớn, ví dụ: Fortify, Ounce Labs, v.v. - nhưng nó khá đắt và một lon giun khác ...

11
AviD
6
Nev Stokes

Có rất nhiều công cụ và nó thực sự là một sở thích cá nhân về những gì người ta sẽ sử dụng cho một pentest. Vì vậy, hãy thử tất cả những người được đề cập bởi tôi và những người khác và chọn những người phù hợp với bạn nhất.

Để xem xét mã bảo mật (kiểm tra whitebox), tôi khuyên bạn nên sử dụng RIP . Đó là thứ tốt nhất trong số những thứ tôi đã thử.

Để thực hiện một số thử nghiệm hộp đen, bạn chắc chắn cần một số proxy chặn. Có rất nhiều trong số đó, nhưng tôi khuyên bạn nên xem Fiddler nếu bạn đang ở trên Windows. Burp / WebScarab / Proxy tấn công Zed cũng rất tuyệt. Nếu bạn muốn tự động hóa một số thử nghiệm tiêm, hãy lấy một số tải trọng phổ biến từ fuzzdb .

Ngoài ra, hãy làm quen với các addons trình duyệt như Fireorms và Chrome Công cụ dành cho nhà phát triển, chúng là một trợ giúp tuyệt vời.

Cuối cùng, hãy thử đánh dấu trang từ Mở Bộ sưu tập Dấu trang Thử nghiệm Mở . Đó là một danh sách khổng lồ (chỉ để bạn biết có bao nhiêu công cụ), nhưng bên trong có rất nhiều đá quý.

6
Krzysztof Kotowicz

Nếu bạn muốn chắc chắn rằng bạn không bỏ lỡ bất cứ điều gì, cách tốt nhất là nhờ một chuyên gia thực sự xem xét nó. Quá nhiều vấn đề phát sinh trong các trang web mà nhà phát triển đơn giản là không biết rằng họ không tuân theo các thực tiễn tốt nhất hoặc không hiểu rằng các thực tiễn "an toàn" phổ biến đó thực sự không an toàn! (ví dụ: "Tôi không cần tham số hóa SQL của mình miễn là tôi thay thế các dấu ngoặc đơn bằng dấu gạch chéo đơn, phải không!?").

Nếu bạn là một công ty, hãy thuê một công ty pentesting bên ngoài để kiểm tra ứng dụng của bạn. Chúng không đắt lắm, và họ sẽ tìm thấy hầu hết các vấn đề. Công ty thuê một công ty pentesting chắc chắn rẻ hơn so với việc lãng phí thời gian đào tạo nhân viên với mức lương đầy đủ làm thế nào để tìm một số lỗi, và nó chắc chắn rẻ hơn so với cố gắng xây dựng lại công ty của bạn sau khi vi phạm dữ liệu khách hàng.

3
SecurityMatt