Làm thế nào để kiểm thử tính bảo mật của ứng dụng web bằng việc sử dụng máy quét lỗ hổng web - Acunetix
Ngày nay các ứng dụng web và các trang web là những thành phần cốt lõi của bất kỳ doanh nghiệp. Khi số lượng các trang web tăng lên, những kẻ tấn công cũng có nhiều hoạt động để hack các trang web và ăn cắp dữ liệu kinh doanh quan trọng.
Với mối đe dọa này, việc quét lỗ hổng của website trở nên quan trọng giống như một phần của việc hoàn thành kiểm thử.
Hôm nay, Bizfly Cloud sẽ xem xét một công cụ để kiểm tra bảo mật của các ứng dụng web và các trang web – Acunetix Web Vulnerability Scanner (WVS). Acunetix WVS là công cụ được lựa chọn để thử nghiệm SQL Injection, Cross-site scripting (XSS) và OWASP Top 10
Acunetix WVS là một thử nghiệm bảo mật ứng dụng web tự động, được tạo ra để chống lại sự gia tăng các cuộc tấn công ở lớp ứng dụng web. Acunetix WVS kiểm tra bảo mật của một trang web bằng cách tung ra một loạt các cuộc tấn công chống lại các trang web. Sau đó nó cung cấp các báo cáo ngắn gọn về bất kỳ lỗ hổng nó tìm thấy và thậm chí sẽ cung cấp gợi ý về cách giải quyết lỗ hổng đó.
Trong hướng dẫn này, tôi sẽ giải thích một số tính năng độc đáo của Acunetix WVS.
Thực hiện quét online một lỗ hổng
Trước khi bắt đầu quét, tôi cần một trang web có khả năng có lỗ hổng để kiểm thử. Acunetix duy trì các trang web của chính nó cái mà bạn có thể quét để kiểm thử sản phẩm.
http://testhtml5.vulnweb.com
http://testphp.vulnweb.com
http://testaspnet.vulnweb.com
http://testasp.vulnweb.com
Bắt đầu một quét mới thì đơn giản như việc khởi động Scan wizard bằng cách click vào button new scan trong thanh toolbar chính. Wizard sẽ hướng dẫn bạn thông qua một số tùy chọn, bạn có thể sử dụng để tùy chỉnh quét.
Đầu tiên chúng ta cần phải nói với Acunetix Web Vulnerability Scanner những trang web của chúng ta muốn quét. Trong trường hợp này, tôi sẽ kiểm tra trang web PHP ở trên (ví dụ: http://testphp.vulnweb.com).
Tiếp theo chúng ta cần select một scanning Profile. Một Scanning profile là một nhóm các kiểm thử hợp lý để thực hiện một nhóm kiểm thử cụ thể. Tính năng này cho phép bạn tùy biến những cái kiểm thử mà bạn muốn hoặc không muốn chạy Acunetix WVS. Bạn có thể chọn từ vài scanning profile đã được xây dựng hoặc bạn có thể tạo scanning profile tùy biến để phù hợp với các yêu cầu cụ thể của bạn.
Scanning profile mặc định bao gồm tất cả các kiểm thử Acunetix Web Vulnerability Scanner có thể chạy. Tuy nhiên, hãy giả sử tôi chỉ quan tâm về các cảnh báo có nguy cơ rủi ro cao. Tôi có thể tùy chỉnh quét để chỉ kiểm thử cho những lỗ hổng này.
Scanning profile không phải là cách duy nhất để tùy chỉnh quét. Scan setting cho phép kiểm soát tốt việc quét của bạn. Hầu hết người sử dụng sẽ không cần thay đổi setting này vì mặc định đã được lựa chọn một cách cẩn thận để phục vụ cho đại đa số các trang web và các ứng dựng web. Tuy nhiên, khi tôi connect tới internet bằng việc sử dụng một proxy HTTP, tôi sẽ cấu hình theo tùy chỉnh bằng cách click vào button Customize bên cạnh list box Scan setting.
Acunetix WVS
Acunetix WVS cũng có những tùy chọn advance , bạn có thể tận dụng nếu bạn cần kiểm soát nhiều hơn các trang ban muốn hoặc không muốn thu thập dữ liệu quétBạn có thể lựa chọn các trang mà bạn muốn loại trừ từ một quét bằng cách check on checkbox After crawling let me và lựa chọn file để tùy chọn quét, và thậm chí import các kết quả từ các công cụ khác như Portswigger's BurpSuite và Telerik's Fiddler, và tất nhiên Acunetix WVS được tích hợp trong HTTP Sniffer.
Là một máy quét hộp đen, Acunetix WVS có thể quét bất kỳ một trang web hoặc một ứng dụng web, không phụ thuộc vào công nghệ hoặc các ngôn ngữ lập trình mà nó sử dụng. Nó chủ yếu kiểm thử một trang web hoặc một ứng dụng web mà không cần bất kỳ kiến thức về cách mà trang web làm việc, giống một kẻ tấn công thực sự.
Sự tùy chỉnh scan
Có thể nói rằng, Acunetix Web Vulnerability Scanner có một số thủ thuật thông minh để tùy biến việc quét cho một công nghệ cụ thể. Acunetix WVS sẽ cố gắng fingerprint trên ứng dụng web để phát hiện các công nghệ , nó sử dụng để cắt giảm thời gian quét. Ví dụ: Nếu tôi đang kiểm tra một trang web được xây dựng bằng ngôn ngữ php, không có lý do gì để tìm kiếm các lỗ hổng tồn tại trong các ứng dụng ASP.NET
Làm thế nào để quét các khu vực mật khẩu của một trang web
Bởi vì trang này có một trang login, chúng ta cần tạo một trình tự login để hưỡng dẫn máy quét cách để login được vào ứng dụng. Đây là một phần thiết yếu của quá trình quét, và đôi khi nó thường khó hoặc tẻ nhạt để thiết lập đúng với các máy quét khác. Bạn có thể cố gắng để máy quét login cho bạn (cho phần lớn các trang web đơn giản chỉ với một username và password) hoặc ngược lại bạn có thể tạo ra một trình tự Login bằng tay (làm việc tốt hơn cho login phức tạp và cung cấp nhiều kiểm soát hơn nữa).
Acunetix Web Vulnerability Scanner tạo ra một trình tự login dead-easy đơn giản đi qua quá trình login bình thường của việc đăng nhập vào một tài khoản, bạn sẽ nhận thấy rằng các hành động đều được ghi lại. Máy quét sẽ phát hiện ra các hành động này để đăng nhập lại trong suốt quá trình quét.
Bạn cũng có thể sử dụng button replay ở phía dưới bên trái của cửa sổ Login sequence recoder để phát lại các hành động của bạn để chỉ chắc chắn rằng mọi thứ đang làm việc một cách chính xác.Khi bạn click vào Next, bạn có thể lựa chọng những links mà bạn không muốn máy quét click trong khi đang login.
Chúng ta không muốn máy quét logout ra khỏi session trong suốt quá trình thu thập dữ liệu hoặc quét. Vì vậy tôi sẽ click on link logout để hạn chế nó, tuy nhiên bạn có thể tự do thiết lập như bạn muốn. Login sequence recorder cũng đã hỗ trợ cho việc hạn chế các liên kết với các nonces bằng cách sử dụng ký tự đại diện.
Một khi bạn đã hoàn thành việc hạn chế links, click Next. Một trình tự Login một mình là ko đủ. Máy quét cần phải hiểu khi mà nó login vào và khi nó logout ra. Login sequence recorder cần những gì được biết đến như một session pattern.
Một session pattern thì không có gì hơn một cái gì duy nhất giữa một trạng thái login và logout của một trang web. Login sequence recorder sẽ phát hiện pattern này tự động cho bạn, tuy nhiện bạn có thể tự do tùy biến pattern này nếu bạn muốn làm như vậy.
Click Finish, chương trình sẽ yêu cầu bạn save trình tự login cái mà bạn vừa tạo. Điều này có thể được sử dụng vào một ngày sau đó vì vậy bạn không cần phải đi qua quá trình tạo một trình tự login mỗi khi bạn muốn quét một trang web tương tự.
Bạn sẽ nhìn thấy màn hình cuối cùng của Scan wizard cái mà cung cấp cho bạn tùy chọn lưu bất kỳ Scan setting mà bạn đã thiết lập. Ngoài ra, Acunetix WVS thì đủ thông mình để nhận biết nếu một trang web cung cấp một response khác nhau tới một chuỗi người dung điện thoại di động agent và nó sẽ hỏi bạn nếu bạn muốn thay đổi chuỗi người dung agent để nói rằng một chiếc iPhone hoặc một thiết bị Android- tiện dụng nếu trang web của bạn là điện thoại di động thân thiện.
Kết quả trang web quét lỗ hổng
Sau khi thu thập và quét hoàn thành, Acunetix WVS sẽ liệt kê một danh sách các lỗ hổng có mức độ nghiêm trọng cao cái mà nó phát hiện trên trang web kiểm thử.
Thời điểm bạn click vào lỗ hổng cụ thể(SQL injection trong trường hợp này), Acunetix WVS tiết lộ không chỉ tham số đầu vào là những cái dễ có lỗ hổng nhưng nó cũng liệt kê các variations của một cuộc tấn công vào tham số đó.
Các cảnh báo sẽ cung cấp cho bạn thông tin chứa một sự giải thích dài hơn của vấn đề, cũng như để biết chi tiết hơn các khắc phục lỗ hổng cùng với một danh sách các URL tham khảo nơi mà bạn có thể nhiều hơn về chủ đề này, chỉ trong trường hợp máy quét tìm thấy một cái gì đó mà bạn không cảm thấy quen thuộc với bạn.
Chạy lại kiểm thử sau khi khắc phục lỗ hổng
Chạy lại quét từ đầu là một cách dễ dàng để kiểm tra nếu việc khắc phục một lỗ hổng được phát hiện là thành công. Tuy nhiên, Acunetix WVS có một tính năng retest rất tiện dụng.Đơn giản chỉ cần click chuột phải vào 1 alert bạn có thể test lại và chọn lại alert để test lại. Các kiểm thử mà phát hiện lỗ hổng sẽ được chạy lại và kết quả mới sẽ được hiển thị. Nếu lỗ hổng này đã được giải quyết , Acunetix sẽ đánh dấu nó strike-through font.
Báo cáo viêc quét lỗ hổng trang web
Từ đây bạn có thể save kết quả của việc quét hoặc tạo ra một loạt các báo cáo dễ hiểu.Bạn có thể tạo ra báo cáo bằng cách click vào button reporter trong toolbar chính.
Khi Acunetix Web Vulnerability Scanner tải các báo cáo, bạn được trình bày với một sự lựa chọn các báo cáo mà bạn có thể lự chọn. Nếu bạn chọn báo cáo mức cao, Affected Items, Executive Summary and Quick Report cung cấp một loạt các báo cáo súc tích để lựa chọn.
Mặt khác nếu bạn muốn một bán cáo phù hợp, Acunetix reporter có thể tạo ra các báo cáo phù hợp với một tiêu chuẩn tuân thủ theo sự lựa chọn của bạn, hãy biết rằng OWASP Top 10, PCI, HIPPA hoặc bất cứ compliance reports khác có sẵn. Các báo cáo này được cập nhận định kỳ để luôn luôn là phiên bản mới nhất.
Báo cáo chi tiết nhất là báo cáo phát triển. Báo cáo này cũng là cấu hình cao, cho phép người sử dụng included các thông tin cần thiết trong báo cáo.
Click vào generate, chương trình sẽ cung cấp 1 report mà bạn có thể save dưới dạng file PDF, HTML hoặc format khác để chi sẻ với đồng nghiệp hoặc những người liên quan.
Tóm tắt trang web
Chi tiết alert
Bao phủ công nghệ
Chúng ta đã đề cập rang Acunetix là một máy quét hộp đen, và đo đó, miễn là một trang web có thể truy cập qua giao thức HTTP hoặc HTTPS nó có thể được quét, tuy nhiên máy quet rất là thông minh khi nói đến lỗ hổng fishing out, là đặc thù của các framworks nhất định và các công nghệ tự PHP,.NET, Ruby trên Rails và một vài framework java phổ biến, tất cả các cách để CMS cũng như wordpress và plugins của nó.
Acunetix WVS có thể xác định và kiểm tra trang web dựa vào công nghệ stack của một trang web đang chạy.
DeepScan Engine để xử lý Ajax và java script
Thêm vào đó, Acunetix Web Vulnerability Scanner hỗ trợ đầy đủ cho HTML5 và có thể phát hiện DOM dựa trên XSS với một mức độ chính xác cao. Đây là nhờ vào cuộc cách mạng DeepScan engine. Một trình duyệt không hoàn toàn làm việc đầy đủ được tích hợp chặt chẽ với các trình thu thập cái mà cung cấp Acunetix WVS với một sự hiểu biết đầy đủ về những gì đang xảy ra trong một trang web, cũng như khả năng thực hiện và tương tác với javascript ngày càng phổ biến và các ứng dụng nặng AJAX đang bắt đầu xuât hiện khắp nơi trên trang web.
Để làm rõ rang hơn cho các nhà phát triển ứng dụng web để theo dõi lỗ hổng DOM dựa trên XSS, Acunetix WVS cũng sẽ cung cấp cho người dung một stack trace cách mà XSS chảy qua trình duyệt DOM.
AcuSensor cho quét chính xác và toàn diện
Như chúng ta đã thấy, AcuSensor là một thành phần tùy chọn (bao gồm với Acunetix WVS) được cài đặt trên phía server và có sẵn cho cả các ứng dụng PHP và .NET. Việc sử dụng các AcuSensor cung cấp những cái được biết đến như là kiểm tra bảo mật ứng dụng tương tác (IAST).
Việc cài đặt cho cả PHP và .NET là liền một mạch, và với NET, không có cần phải lập lại các file DLL – bạn chỉ có thể đưa vào và không đưa vào AcuSensor từ bên trong file DLL biên dịch sẵn .NET.
Hầu hết máy quét hộp đen ứng dụng web (bao gồm Acunetix WVS mà không có AcuSensor) không thể xem được cái cách mà mã vận hành trong khi nó đang được thực thi. Ở đầu kia của quang phổ, công cụ phân tích mã nguồn không thể luôn luôn hiểu những gì xảy ra trong sự thực thi mã.
Acunetix AcuSensor mang đến cả phương pháp thử nghiệm với nhau và kết quả là có thể cung cấp một máy quét chính xác và toàn diện hơn. Kể từ khi các cảm biến có kiến thức về các hệ thống backend, nó cũng có thể tìm thấy lỗ hổng trong các khu vực khó khăn để tiếp cận với một máy quét hộp đen điển hình. Ví dụ, các lỗ hổng SQL injection thường hoặc là tìm thấy thông qua các thông tin bị rò rỉ hoặc thông qua các lỗi cơ sở dữ liệu, hoặc thông qua các kỹ thuật blind injection. AcuSensor có thể tìm thấy tiêm lỗ hổng SQL trong bất kỳ truy vấn SQL; bao gồm câu lệnh INSERT.
Như chúng ta đã thấy, Acunetix AcuSensor có thể chỉ ra dòng code có khả năng bị tổn thương và thậm chí có thể báo cáo các thông tin gỡ lỗi bổ sung. Điều này làm tăng đáng kể hiệu quả cho đội ngũ phát triển giải quyết các lỗi bảo mật quan trọng.
AcuMonitor
AcuMonitor là một công nghệ set-it và forget-it nó được included như là một phần của Acunetix WVS. Nó phục vụ như một dịch vụ trung gian mà làm việc trong background và cho phép các máy quét phát hiện lỗ hổng cấp 2.
Việc quét lỗ hổng cấp 2, các tài khoản cho các lỗ hổng cái mà không cung cấp một response tới một máy quét trong suốt quá trình kiểm thử. Như các lỗ hổng Blind XSS (còn gọi là làm trễ XSS), XML External Entity Injection (XXE), Server Side Request Forgery (SSRF), tấn công Host Header, Email Header Injection, Password Reset Poisoning, Blind Out-of-Band SQL Injection và Blind Out-of-band Code Execution; tất cả đều có thể phát hiện một cách tự động bằng việc sử dụng AcuMonitor.
Để phát hiện lỗ hổng cấp 2,một trung gian cái mà điều khiển máy quét, hoặc có thể truy cập, cần phải tồn tại. Acunetix WVS, kết hợp với AcuMonitor, làm cho tự động phát hiện các lỗ hổng minh bạch để người sử dụng chạy quét.
Download Acunetix web vulnerability scanner
Acunetix có sẵn trực tuyến hoặc tại chỗ. Acunetix cung cấp thử nghiệm 14 ngày của Acunetix WVS, và họ cũng cung cấp một màn biểu diễn trực tuyến của máy quét được gọi là Acunetix OVS, mà bạn cũng có thể thử cho 14 ngày. Cách duy nhất thực sự để có được để hiểu thấu với bất kỳ sản phẩm là dùng thử nó cho chính mình.
Kết luận
Ngoài tất cả những điều trên, Acunetix Web Vulnerability Scanner cũng đi kèm với một loạt các công cụ thử nghiệm thâm nhập tích hợp bằng tay.
Những công cụ này cho phép các auditor chạy quét tự động và kiểm tra kết quả bằng tay mà không cần phải chuyển đổi các công cụ.
Acunetix WVS cung cấp cho các chuyên gia an ninh và kỹ sư phần mềm cũng như một loạt các tính năng tuyệt vời trong một gói đơn giản, liền một mạch và rất mạnh mẽ. Tất nhiên đánh giá này có thể rất nhiều, và trong khi hướng dẫn này nhằm cung cấp một cái nhìn tổng quan về sản phẩm, có một số tính năng hữu ích khác mà không được nói đến.
Theo: Techtalk via viblo