Bài viết được ghim
IV. Phân tích và khai thác các lỗ hổng Web cache poisoning
- Ví dụ về tìm kiếm unkeyed values
Như ở bài viết trước đã đề cập, việc tìm kiếm các giá trị unkeyed đóng vai trò quan trọng trong tấn công web cache poisoning. Trong bài lab Web cache poisoning with an unkeyed header, chúng ta sẽ sử dụng một extension "đắc lực" trong công cụ Burp Suite để tìm kiếm các giá trị unkeyed.
Quan sát resp...
Tất cả bài viết
VI. Tầm ảnh hưởng của các lỗ hổng Directory traversal
Giống với các lỗ hổng Information disclosure, các lỗ hổng Directory traversal giúp kẻ tấn công có thể thu thập nội dung các tệp tin nhạy cảm, mã nguồn chương trình một cách toàn vẹn và đầy đủ hơn. Là một bước cơ sở giúp họ có thể trực tiếp tìm kiếm các cách khai thác trong mã nguồn chương trình, hoặc xây dựng một cuộc tấn công Deserialize, ...
IV. Tầm ảnh hưởng của các lỗ hổng tiết lộ thông tin
- Nguy hiểm mang lại
Các thông tin nhạy cảm tiết lộ thường sẽ tạo tiền đề để kẻ tấn công có thể thực hiện tấn công bằng những lỗ hổng khác. Chẳng hạn, một số thông tin nhạy cảm tiết lộ từ thông báo lỗi có thể là dấu hiệu cho những lổ hổng như SQL Injection, Server-side Template Injection, ... Đối với một phần mã nguồn bị lộ giúp kẻ tấn công ...
VII. Làm thế nào để ngăn chặn Authentication vulnerability - Lỗ hổng xác thực?
- Xác thực: lớp bảo vệ người dùng - hệ thống đầu tiên
Lỗ hổng xác thực thường là một trong những mục tiêu tấn công đầu tiên của các hacker, bởi có thể coi đây là lớp bảo về người dùng đầu tiên. Khi một hệ thống có cơ chế xác thực lỏng lẻo, điều này thường dễ dàng bị các hacker lợi dụng và chiếm đoạt tài khoản người...
VI. Làm thế nào để ngăn chặn Access control vulnerability - Lỗ hổng kiểm soát truy cập?
- Một số cách ngăn chặn lỗ hổng kiểm soát truy cập
Khó có thể đảm bảo hệ thống hoàn toàn không gặp phải các dạng lỗ hổng kiểm soát truy cập. Các biện pháp bảo vệ thường bám vào một số nguyên tắc chính:
- Không dựa vào duy nhất một yếu tố để kiểm soát truy cập.
- Từ chối trực tiếp quyền truy cập theo mặc đ...
V. Một số lỗ hổng kiểm soát truy cập khác
- Lỗ hổng kiểm soát truy cập nhiều bước
Xem xét các bước trong một hệ thống thực hiện xử lý yêu cầu thay đổi thông tin tài khoản của người dùng:
- Bước 1. Nhận các thông tin sửa đổi gửi lên từ người dùng.
- Bước 2. Thực hiện tương tác với cơ sở dữ liệu để sửa đổi thông tin.
- Bước 3. Kiểm tra và xác nhận lại.
Trong mỗi bước nếu việc kiểm soát quyền ...
IV. Phân tích và khai thác các lỗ hổng trong dạng kiểm soát truy cập theo chiều ngang (Horizontal privilege escalation)
Nếu một người dùng thông thường A có khả năng truy cập vào các chức năng X dưới vai trò là người dùng thông thường B, chúng ta sẽ gọi đó là lỗ hổng trong dạng kiểm soát theo chiều ngang (Horizontal privilege escalation). Chúng ta có thể hiểu cụm từ "theo chiều ngang" ở đây có...
III. Phân tích và khai thác các lỗ hổng trong dạng kiểm soát truy cập theo chiều dọc (Vertical access controls)
Nếu một người dùng thông thường có khả năng truy cập các chức năng mà vốn họ không được phép truy cập thì chúng ta sẽ gọi đó là lỗ hổng trong dạng kiểm soát theo chiều dọc (Vertical access controls). Chúng ta có thể hiểu cụm từ "theo chiều dọc" ở đây có nghĩa là dọc theo quyền truy c...
I. Mở đầu
- Tóm tắt bài viết
Trong bài viết này tôi muốn giới thiếu tới các bạn về Lỗ hổng kiểm soát truy cập - Access control vulnerability. Chúng ta sẽ cùng nhau tìm hiểu về các khái niệm truy cập, kiểm soát truy cập. Phân tích và thực hành những lỗ hổng xung quanh vấn đề truy cập người dùng. Cuối cùng, chúng ta cũng sẽ bàn luận về một số thông tin, biện pháp phòng chống, bảo vệ người dùng ...
III. Phân tích khai thác một số lỗ hổng Business logic (Tiếp)
- Lỗ hổng logic trong tính năng sử dụng voucher
Để thu hút thêm khách hàng mua sắm sản phẩm, các cửa hàng thường tổ chức các hình thức khuyến mại như chương trình giảm giá, mua một tặng một. Đối với các trang web mua sắm online, có một từ khóa không còn lạ lẫm với chúng ta - voucher. Voucher được biết đến là một loại phiếu mua hàn...
III. Phân tích khai thác một số lỗ hổng Business logic (Tiếp)
- Cho phép thay đổi địa chỉ mail tùy ý
Một trường hợp phổ biến trong lỗ hổng Business logic là cho phép người dùng thay đổi địa chỉ email của họ thành bất kì một địa chỉ email khác. Chẳng hạn khi đăng ký trang web không cho phép người dùng đăng ký với email dạng @special.gmail.com do đây là địa chỉ email nội bộ, nhưng lại cho phép...
III. Phân tích khai thác một số lỗ hổng Business logic (Tiếp)
- Xử lý các đầu vào không hợp lệ (unconventional input) từ người dùng
Một trong những hậu quả mang lại từ những đầu vào không hợp lệ là khả năng tiết lộ các thông tin nhạy cảm trong hệ thống (đã được chúng ta bàn tới trong chủ đề Information disclosure vulnerabilities). Bên cạnh đó, chúng còn có thể khiến quy trình hoạt động của t...
I. Mở đầu
- Giới thiệu
Chắc hẳn ai ai trong số chúng ta đều đã quá quen thuộc với những cái tên như Shopee, Lazada, Tiki, ... - các trang web bán hàng, kinh doanh online. Tiếp nối sự phát triển của thời đại, những hành động mang tính "trực tiếp" như giao dịch, mua sắm, thanh toán, ... đều được thực hiện trên mạng internet. Chỉ cần ngồi tại nhà chúng ta cũng có thể lựa chọn, đặt hàng cho mình ...
V. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp)
- Bypass lỗ hổng khi trang web sử dụng đường dẫn đầy đủ
Xét đoạn code php sau:
<?php if (isset($_GET['file'])) { _GET['file']; include('/home/Viblo/Desktop/DiretoryTraversal/' . $file); } ?>/home/Viblo/Desktop/DiretoryTraversal/../../../../../../../../etc/passwd = /home/Viblo/Desktop/../../../../../../../etc/passw...
V. Phân tích và khai thác các lỗ hổng Directory traversal
- Lỗ hổng xảy ra khi sử dụng các hàm đọc file và tin tưởng đầu vào người dùng
Xét đoạn code php sau:
<?php if (isset($_GET['file'])) { _GET['file']; include($file); } ?>- Hàm strpos(substring, substring trong chuỗi position (Nếu không có tham số $position sẽ mặc định tìm từ đầu chuỗi). Nếu chuỗi con không xuất hiện, trả v...
III. Vì sao lỗ hổng Directory traversal xuất hiện?
Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất hiện các lỗ hổng Directory traversal cũng khác nhau. Lỗ hổng thường xuất hiện khi chương trình sử dụng một số hàm đọc file đồng thời tin tưởng tuyệt đối vào các input từ người dùng (không thực hiện filter các giá trị đầu vào từ phía người dùng). Ở bài viết này tôi sẽ giới thiệu nguyên nhân xuất h...
I. Mở đầu
- Giới thiệu
Chúng ta đã biết về các lỗ hổng information disclosure - khiến trang web tiết lộ một số thông tin nhạy cảm. Ở bài viết này tôi muốn giới thiệu tới các bạn một dạng lỗ hổng có thể nói là nâng cao của Information disclosure vulnerabilities - Lỗ hổng Directory traversal (một số tài liệu còn gọi là Path traversal vulnerabilities). Vì sao lại là nâng cao ư? Vì nó cũng có điể...
III. Phân tích và khai thác các lỗ hổng tiết lộ thông tin - Information disclosure vulnerabilities 6. Thông tin tiết lộ qua các phương thức giao tiếp HTTP
Khi truy cập và trao đổi dữ liệu với một trang web, hai phương thức chúng ta thường sử dụng là GET và POST. Bên cạnh đó, nếu trang web cho phép sử dụng các phương thức khác, có thể chứa nguy cơ tiết lộ một số thông tin nhạy cảm.
- Phương th...
III. Phân tích và khai thác các lỗ hổng tiết lộ thông tin - Information disclosure vulnerabilities
- Thông tin tiết lộ qua các tệp Web crawlers
Web Crawler hay còn được gọi là Web Spider có thể hiểu một con bot/công cụ được thiết kế với mục đích tìm kiếm, thu thập thông tin và lập chỉ mục cho toàn bộ nội dung trong các trang web trên mạng internet.
Chúng có khả năng hỗ trợ các công cụ tìm k...
I. Mở đầu
- Giới thiệu
Chúng ta hiện đang sống trong một thời đại với công nghệ thông tin vô cùng phát triển. Cuộc cách mạng 4.0 đang biến đổi toàn thế giới nói chung và làm thay đổi từng thói quen, sinh hoạt sống của mỗi chúng ta nói riêng, đồng thời nó cũng tác động mạnh mẽ tới từng ngóc ngách của xã hội loài người. Những khái niệm mới được sinh ra có thể kể đến như công dân số, doanh nghiệ...
VI. Phân tích một số lab nâng cao
- Xác thực với kiểu định dạng JSON, cần chú ý điều gì?
Một số hệ thống xác thực tài khoản người dùng qua định dạng JSON. Kiểu JSON định dạng theo từng cặp key:value, khi đó username đóng vai trò là key, password đóng vai trò là value. Do kiểu định dạng JSON chấp nhận giá trị value thuộc bất kì dạng gì như object, array, string, ... Nên khi thực hiện quá trình...