Nội dung này chăm chú giải thích thắc mắc: “Lỗ hổng bảo mật website là gì?” – & đặt ra 10 lỗ hổng bảo mật web phổ biến & trọng yếu cũng như đề nghị các phương pháp để giải quyết chúng.

Bạn đang xem: hướng dẫn sử dụng burp suite

Lỗ hổng bảo mật luôn là vấn đề đau đầu của các quản trị viên trang web. Những lỗ hổng này cho phép tin tặc khai thác – tấn công – xâm nhập – vi phạm dữ liệu của trang web công ty. Dưới đây là TOP 10 lỗ hổng bảo mật web phổ biến nhất theo tiêu chuẩn OWASP, hay còn được nghe đến với tên gọi OWASP TOP 10.

OWASP là một tiêu chuẩn toàn thế giới để phục vụ việc kiểm thử xâm nhập – Penetration Testing (Pentest) được đơn giản hơn. Tiêu chuẩn này được đề nghị bởi một tổ chức phi lợi ích: Open Web Application Security Project (OWASP).

Tiêu chuẩn OWASP giúp cho các Chuyên Viên kiểm thử (pentester) kiểm soát bảo mật cho trang web một cách cụ thể, hiệu quả.

Link hữu hiệu:

Top 10 lỗ hổng bảo mật trang web phổ biến theo chuẩn OWASP

1. Lỗ hổng Injection (Lỗi chèn mã độc)

Injection là lỗ hổng xảy ra do sự thiếu sót trong việc lọc các dữ liệu đầu vào không đáng tin cậy. Khi bạn truyền các dữ liệu chưa được lọc tới Database (Chẳng hạn như lỗ hổng SQL injection), tới trình duyệt (lỗ hổng XSS), tới máy chủ LDAP (lỗ hổng LDAP Injection) hoặc tới bất kì địa điểm nào khác. Vấn đề là kẻ tấn công có thể chèn các đoạn mã độc để gây ra lộ lọt dữ liệu & chiếm quyền kiểm tra trình duyệt của người tiêu dùng.

Mọi thông tin mà ứng dụng của các bạn thu được đều phải được lọc theo Whitelist. Bởi nếu bạn sử dụng Blacklist việc lọc thông tin sẽ rất đơn giản bị vượt mặt (Bypass). Chức năng Pattern matching sẽ không hoạt động nếu cài đặt Blacklist.

Cách ngăn chặn lỗ hổng:

Để chống lại lỗ hổng này chỉ “đơn giản” là vấn đề bạn đã lọc đầu vào đúng cách chưa hay việc bạn suy xét  liệu một đầu vào có thể được tin cậy hay không. Về cơ bản, toàn bộ các đầu vào đều phải được lọc & kiểm soát trừ trường hợp đầu vào đó chắc cú đáng tin cậy.(Không những thế việc cẩn trọng kiểm soát toàn bộ các đầu vào là luôn luôn thiết yếu).

Chẳng hạn, trong một hệ thống với 1000 đầu vào, lọc thành công 999 đầu vào là không đủ vì điều này vẫn để lại một phần giống như “gót chân Asin”, có thể phá hoại hệ thống của các bạn bất kì khi nào. Bạn có thể cho là mang kết quả truy vấn SQL vào truy vấn khác là một sáng kiến hay vì CSDL là đáng tin cậy. Nhưng thật không may vì đầu vào có thể gián tiếp đó từ những kẻ có ý đồ xấu. Đây được gọi là lỗi Second Order SQL Injection.

Việc lọc dữ liệu khá khó chính vì như thế các chúng ta nên sử dụng các tính năng lọc có sẵn trong framework của mình. Các chức năng này đã được minh chứng sẽ thực hiện việc kiểm soát một cách kỹ càng. Chúng ta nên suy xét sử dụng các framework vì đây là một trong các cách hiệu quả để bảo vệ máy chủ của các bạn.

2. Broken Authentication

Đây là nhóm các vấn đề có thể xảy ra trong tiến trình xác thực. Có một khuyến cáo là không nên tự lớn mạnh các biện pháp mã hóa vì rất khó có thể làm được chuẩn xác.

Có rất là nhiều nguy cơ có thể gặp phải trong tiến trình xác thực:

  • URL có thể chứa Session ID & rò rỉ nó trong Referer Header của người dùng khác.

  • Mật khẩu không được mã hóa hoặc dễ giải mã trong lúc lưu trữ.

  • Lỗ hổng Session Fixation.

  • Tấn công Session Hijacking có thể xảy ra khi thời gian hét hạn của session không được triển khai đúng hoặc sử dụng HTTP (không bảo mật SSL)…

Cách ngăn chặn lỗ hổng:

Cách dễ dàng nhất để tránh lỗ hổng bảo mật web đó là sử dụng một framework. Trong trường hợp bạn mong muốn tự tạo thành bộ xác thực hoặc mã hóa cho riêng mình, hãy nghĩ đến những nguy cơ mà bạn sẽ gặp phải & tự suy xét kĩ trước khi thực hiện.

3. Lỗ hổng XSS (Cross Site Scripting)

Lỗ hổng XSS (Cross-scite Scripting) là một lỗ hổng rất phổ biến. Kẻ tấn công chèn các đoạn mã JavaScript vào ứng dụng web. Khi đầu vào này không được lọc, chúng sẽ được thực thi mã độc trên trình duyệt của người dùng. Kẻ tấn công có thể lấy được cookie của người dùng trên hệ thông hoặc lừa người dùng đến các trang web độc hại.

Xem Thêm  Ca sĩ Việt Quang qua đời - ca sỉ việt quang

Cách ngăn chặn lỗ hổng:
Có một cách bảo mật web dễ dàng này là không trả lại thẻ HTML cho người dùng. Điều này còn làm chống lại HTML Injection – 1 cuộc tấn công tương đương mà hacker tấn công vào bài viết HTML – không gây tác động cực kỳ nghiêm trọng nhưng khá rườm rà cho người dùng. Thông thường cách khắc phục dễ dàng chỉ là Encode (chuyển hóa vê dạng dữ liệu khác) toàn bộ các thẻ HTML. Chẳng hạn thẻ  được trả về dưới dạng

4. Insecure Direct Object References

Đây là trường hợp điển hình của việc cho là đầu vào của người dùng là tin cậy từ đó dẫn đến lỗ hổng bảo mật. Lỗ hổng này xảy ra khi chương trình cho phép người dùng truy cập các tài nguyên (dữ liệu, file, database). Nếu như không thực hiện tiến trình kiểm tra quyền hạn (hoặc tiến trình này không hoàn chỉnh) kẻ tấn công có thể truy cập một cách trái phép vào các dữ liệu nhạy cảm, trọng yếu bằng máy chủ.

Tất cả chúng ta có thể cân nhắc chẳng hạn sau:

Một đoạn mã có module & cho phép người dùng tải tệp xuống sử dụng tham số CGI. Chẳng hạn . Do sai sót của nhà lớn mạnh, việc kiểm soát quyền hạn đã bị bỏ qua. Kẻ tấn công có thể sử dụng lỗ hổng này để tải về bất cứ tệp nào trên hệ thống mà ứng dụng có quyền truy cập. Ví dụ như code ứng dụng, hoặc các dữ liệu khác bằng máy chủ.

Một chẳng hạn phổ biến khác là tính năng đặt lại mật khẩu dựa trên đầu vào của người dùng để xác nhận mật khẩu đặt lại. Sau thời điểm bấm vào URL hợp lệ, kẻ tấn công có thể sửa đổi trường tên người dùng trong URL để “đóng giả” admin.

Cách ngăn chặn lỗ hổng: Thực hiện phân quyền người dùng đúng cách & nhất quán với sự áp dụng triệt để các Whitelist.

5. Security Misconfiguration

Trong thực tiễn, máy chủ trang web & các ứng dụng chủ yếu bị cấu hình sai. Có vẻ do một vài sai sót như:

  • Chạy ứng dụng khi cơ chế debug được bật.

  • Directory listing

  • Sử dụng PM lỗi thời (WordPress plugin, PhpMyAdmin cũ)

  • Thiết lập các dịch vụ không thiết yếu.

  • Không bao giờ thay đổi default key hoặc mật khẩu

  • Trả về lỗi giải quyết thông tin cho kẻ tấn công lợi dụng để tấn công, ví dụ như

    .

Cách ngăn chặn lỗ hổng:
Có một tiến trình xây dựng ứng dụng an toàn. Cần một tiến trình audit lỗ hổng bảo mật bằng máy chủ trước khi triển khai.

>> ICTnews: Hơn 400 lỗ hổng được phát hiện thông qua nền móng WhiteHub Bug Bounty

6. Sensitive data exposure (Rò rỉ dữ liệu nhạy cảm)

Lỗ hổng này thuộc về góc cạnh crypto & tài nguyên. Dữ liệu nhạy cảm phải được mã hóa mọi lúc, bao gồm cả khi gửi đi & khi lưu trữ – không được phép có ngoại lệ. Thông tin thẻ tín dụng & mật khẩu người dùng không khi nào được gửi đi hoặc được lưu trữ không được mã hóa. Cụ thể thuật toán mã hóa & hashing không phải là một cách bảo mật yếu. Không những thế, các tiêu chuẩn an ninh web đề xuất sử dụng AES (256 bit trở lên) & RSA (2048 bit trở lên).

Cần phải bảo rằng các Session ID & dữ liệu nhạy cảm không nên được truyền trong các URL & cookie nhạy cảm nên có cờ an toàn.

Cách ngăn chặn lỗ hổng:

  • Sử dụng HTTPS có chứng chỉ thích hợp & PFS (Perfect Forward Secrecy). Không nhận bất kì thông tin gì trên các connect không phải là HTTPS. Có cờ an toàn trên cookie.

  • Bạn cần giới hạn các dữ liệu nhạy cảm có khả năng bị lộ của mình. Nếu bạn không cần những dữ liệu nhạy cảm này, hãy hủy nó. Dữ liệu bạn không có chẳng thể bị đánh cắp.

  • Không khi nào lưu trữ thông tin thẻ tín dụng, còn nếu không mong muốn phải ứng phó với việc tuân thủ PCI. Hãy đăng ký một CPU thanh toán như Stripe hoặc Braintree.

  • Nếu bạn có dữ liệu nhạy cảm mà bạn thực sự cần, lưu trữ mã hóa nó & đảm bảo rằng toàn bộ các mật khẩu được sử dụng hàm Hash để bảo vệ. So với Hash, nên sử dụng bcrypt. Nếu bạn không sử dụng mã hoá bcrypt, hãy tham khảo về mã Salt để ngăn ngừa rainbow table attack.

Xem Thêm  Xe SH Mode 2017 hiện nay giá bao nhiêu? Có nên mua xe cũ không? - màu xe sh 2017

Không lưu trữ các khóa mã hóa bên cạnh dữ liệu được bảo vệ. Việc này giống như khóa xe mà cắm chìa luôn ở đó. Bảo vệ bản sao lưu của các bạn bằng mã hóa & đảm bảo các khóa của các bạn là riêng tư.

7. Missing function level access control (lỗi phân quyền)

Đây chỉ là sai sót trong vấn đề phân quyền. Nó có nghĩa là khi một hàm được gọi bằng máy chủ, tiến trình phân quyền không chuẩn xác. Các nhà lớn mạnh dựa trên thực tiễn là phía máy chủ tạo thành giao diện người dùng & họ cho là KH chẳng thể truy cập các tính năng còn nếu không được phân phối bởi máy chủ.

Không những thế, kẻ tấn công luôn có thể yêu cầu các tính năng “ẩn” & sẽ không bị cản trở bởi việc giao diện người dùng không cho phép thực hiện các tính năng này. Hãy tưởng tượng trong giao diện người dùng chỉ có bảng điều khiển/admin & nút nếu người dùng thực sự là quản trị viên. Không có gì ngăn cản kẻ tấn công phát xuất hiện những chức năng này & lạm dụng nó còn nếu không phân quyền.

Cách ngăn chặn lỗ hổng: Ở phía máy chủ, phải luôn được phân quyền một cách triệt để từ khâu kiến trúc. Không có ngoại lệ – mọi lỗ hổng sẽ dẫn đến đủ các vấn đề cực kỳ nghiêm trọng.

8. Cross Site Request Forgery (CSRF)

Đây là một chẳng hạn của cuộc tấn công deputy attack. Trình duyệt bị đánh lừa bởi một số bên thứ ba lạm dụng quyền hạn. 
Chẳng hạn: trang web của bên thứ ba gửi yêu cầu đến trang web đích (chẳng hạn: bank của các bạn) sử dụng trình duyệt của các bạn với các dữ liệu như cookie & phiên người dùng. Nếu bạn đang đăng nhập vào một trang trên trang chính của bank & trang đó dễ bị tấn công, một tab khác có thể cho phép kẻ tấn công đóng giả người quản trị. Deputy là khi trang web lạm dụng quyền hạn của mình (session cookies) để làm điều gì này mà kẻ tấn công yêu cầu.

Tất cả chúng ta có thể cân nhắc chẳng hạn sau:

  • Kẻ tấn công là Alice chọn mục tiêu là chiếc ví của Todd bằng cách chuyển một phần tiền của Todd cho cô ta. Bank của Todd đã gặp phải lỗ hổng CSRF. Để gửi tiền, Todd phải truy cập vào URL sau:

 
  • Sau thời điểm URL này được mở ra, một trang thành công được trình bày cho Todd & việc chuyển hóa đã hoàn tất. Alice cũng biết rằng Todd thường ghé thăm một trang web dưới quyền kiểm tra của cô tại blog.aliceisawesome.com, nơi cô đặt đoạn mã sau đây:

<img src = "http://example.com/app/transferFunds?amount=1500&destinationAccount=4673243243" width = "0" height = "0" />

  • Khi truy cập trang web của Alice, trình duyệt của Todd cho là Alice link đến một hình ảnh & auto đặt ra yêu cầu HTTP GET để lấy “hình ảnh”, nhưng điều này thực sự hướng dẫn bank của Todd chuyển $1500 đến Alice.

Cách ngăn chặn lỗ hổng:

Lưu trữ một Token bí mật trong một trường form ẩn mà chẳng thể truy cập được từ trang web của bên thứ ba. Hẳn nhiên bạn phải kiểm tra trường ẩn này. Một số trang web yêu cầu mật khẩu của các bạn cũng như khi sửa đổi các thiết lập nhạy cảm.

9. Using component with known vulnerabilities

Đây là vấn đề xảy ra khi sử dụng các bộ thư viện đã tồn tại lỗ hổng. Trước khi tích hợp một mã nguồn mới vào trang web, hãy thực hiện một số tìm hiểu hoặc kiểm soát bảo mật. Sử dụng mã nguồn mà bạn thu được từ một người đột nhiên trên GitHub hoặc một số diễn lũ có thể rất thuận lợi. Nhưng hãy sẵn sàng trước rủi ro đối mặt với một lỗ hổng bảo mật web cực kỳ nghiêm trọng.

Chẳng hạn: Nhiều trường hợp, trang admin bị lộ không phải vì các lập trình viên sai sót, mà vì PM của bên thứ ba còn chưa được update. Nếu bạn cho là họ sẽ không tìm ra thiết lập phpmyadmin ẩn của các bạn, hãy tham khảo về dirbuster.

Cách ngăn chặn lỗ hổng:

Lưu ý cẩn trọng khi sử dụng các thành phần của bên thứ 3, không nên là một coder sao chép-paste. Kiểm soát cẩn trọng các đoạn code trọng yếu của các bạn. Nếu các đoạn code này có lỗ hổng, tin tặc có thể đọc CSDL, tệp tin cấu hình, mật khẩu… của các bạn.

  • Update mọi thứ: Đảm bảo bạn đang sử dụng phiên bản tiên tiến nhất của toàn bộ mọi thứ & có chiến lược update chúng thường xuyên. Ít đặc biệt là đăng ký bản tin về các lỗ hổng bảo mật mới liên quan đến sản phẩm.

Xem Thêm  Kết quả vòng loại World Cup, tuyển Nhật Bản 0-1 Oman: Đội bóng Tây Á tạo địa chấn - nhật bản - oman

10. Unvalidated redirects and forwards

Đây lại là vấn đề về lọc đầu vào. Giả sử rằng trang đích có một mô-đun redirect.php lấy URL làm tham số. Thao tác với tham số này có thể tạo thành một URL trên targetite.com chuyển hướng trình duyệt đến địa chỉ malwareinstall.com. Khi người dùng chứng kiến link, họ sẽ thấy link targetite.com/blahblahblah tin cậy & truy cập vào. Họ ít biết rằng địa chỉ này thực ra chuyển tới trang nhúng PM độc hại (hoặc bất kỳ trang độc hại khác). Không những thế, kẻ tấn công có thể chuyển hướng trình duyệt sang targetite.com/deleteprofile?confirm=1.

Cách ngăn chặn lỗ hổng:

  • Không sử dụng tính năng chuyển hướng.

  • Có một danh mục tĩnh các địa điểm hợp lệ để chuyển hướng đến.

  • Có Whitelist tham số người dùng xác nhận.

Thống kê các cộng cụ quét lỗ hổng trang web tốt nhất

>>Xem bài nhận xét cụ thể: 10 PM quét lỗ hổng tốt nhất

WhiteHub – Biện pháp tìm lỗ hổng hiệu quả nhờ cộng đồng Chuyên Viên

Những sản phẩm công nghệ của công ty (trang web, mobile app, SaaS, API, IoT,…) thường tồn tại nhiều lỗ hổng bảo mật bất trắc mà những dụng cụ quét auto chẳng thể phát xuất hiện. Này là lí do nhiều công ty đã chuyển sang Bug Bounty.

Chương trình Bug Bounty (trao thưởng tìm lỗi) giúp công ty tiếp cận cộng đồng Chuyên Viên bảo mật & hacker mũ trắng – những người sẽ giúp công ty tìm lỗ hổng trên trang web, mobile app, API,… để nhận một khoản tiền thưởng (bounty).

Nhiều công ty đã chọn Bug Bounty để bảo mật hệ thống & ứng dụng của họ: Vntrip, LuxStay, Giaohangtietkiem, Sendo, VinGroup, Finhay, Getfly,…

WhiteHub là nền móng Bug Bounty chuyên nghiệp với các ưu thế:

  • Cộng đồng Chuyên Viên tiến triển với hơn 500 Chuyên Viên bảo mật & hacker mũ trắng, giúp tìm lỗ hổng nhanh & hiệu quả.
  • Công ty chỉ phải trả tiền khi có lỗ hổng được tìm ra.
  • WhiteHub trợ giúp kiểm tra lỗ hổng: chuẩn xác, không có thông báo giả.

Đăng ký Tư vấn Miễn Phí để được thỏa thuận trực tiếp với Chuyên Viên về lợi nhuận & cách triển khai Bug Bounty.


Tìm hiểu thêm những nội dung liên quan đến đề tài hướng dẫn sử dụng burp suite

GIỚI THIỆU TỔNG QUAN PHẦN MỀM BURP SUITE

alt

  • Author: ₭ Tik Tok
  • Ngày đăng: 2017-04-12
  • Nhận xét: 4 ⭐ ( 3462 lượt nhận xét )
  • Khớp với kết quả tìm kiếm:

Python là gì? Lập trình Python với 20 ebook học Python căn bản đến chuyên sâu hay nhất

  • Author: itviec.com
  • Nhận xét: 5 ⭐ ( 7119 lượt nhận xét )
  • Khớp với kết quả tìm kiếm: Python là gì? Python là lựa chọn hoàn hảo cho những ai lần trước tiên học lập trình. Sau đây là 20 ebook học Python cực chất dành riêng cho lập trình Python.

Bing help

  • Author: support.microsoft.com
  • Nhận xét: 4 ⭐ ( 3973 lượt nhận xét )
  • Khớp với kết quả tìm kiếm:

Burp Suite Professional 2021.12.1 Full Key- Kiểm soát tính bảo mật trang web > FreeShareVN

  • Author: freesharevn.com
  • Nhận xét: 4 ⭐ ( 8362 lượt nhận xét )
  • Khớp với kết quả tìm kiếm: Tải Burp Suite Professional Full Active – Dụng cụ vị trí thứ nhất để kiểm soát bảo mật web.

Top 20 dụng cụ Hack được Hacker & Chuyên Viên bảo mật sử dụng

  • Author: topdev.vn
  • Nhận xét: 4 ⭐ ( 7408 lượt nhận xét )
  • Khớp với kết quả tìm kiếm: Các Hacker hay Chuyên Viên bảo mật đều cần có trong tay những dụng cụ hổ trợ. Các bạn đã nắm được 20 dụng cụ Hack mà tất cả những ai cũng phải có chưa?

PM khác – Thống kê toàn bộ các PM mà mình đã bài viết lên diễn lũ (update từng ngày bởi phj4nhpr09xx – phj4nh_pr0_9x)

  • Author: vn-z.vn
  • Nhận xét: 5 ⭐ ( 1299 lượt nhận xét )
  • Khớp với kết quả tìm kiếm: Backlink | (*10*)

    Cám ơn bạn nhiều

20 ebook lập trình Python căn bản đến chuyên sâu hay nhất

  • Author: tinhte.vn
  • Nhận xét: 3 ⭐ ( 1356 lượt nhận xét )
  • Khớp với kết quả tìm kiếm: Python là ngôn từ lập trình hướng đối tượng bậc cao, dùng để lớn mạnh trang web & nhiều ứng dụng khác nhau. Với cú pháp cực kì dễ dàng & thanh tao…

Tìm hiểu thêm các nội dung khác thuộc chuyên đề: thủ thuật công nghệ

Trả lời