Image Cover
Avatar

Viblo Security

@security

Báo cáo

Bài viết được ghim

IV. Phân tích và khai thác các lỗ hổng Web cache poisoning

  1. 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...

238
2
0 0

Tất cả bài viết

Thumbnail Image
107
2
0 0
Avatar Viblo Security thg 1 26, 8:00 SA
3 phút đọc

Prototype Pollution attack (phần 4)

IV. Phân tích và khai thác các kỹ thuật phát hiện, tấn công Server-side - Prototype Pollution (tiếp)

  1. Sử dụng các phương thức ghi đè kiểm tra lỗ hổng

5.1. Ghi đè Status code

Trong quá trình sử dụng trang web, đôi khi chúng ta gặp các tình trạng không thể truy cập một endpoint nào đó, điều này xảy ra có thể do nhiều nguyên nhân. Thường thấy nhất là do chúng ta không đủ quyền hạn để truy cập...

Thumbnail Image
117
2
0 0
Avatar Viblo Security thg 1 24, 8:00 SA
6 phút đọc

Prototype Pollution attack (phần 3)

IV. Phân tích và khai thác các kỹ thuật phát hiện, tấn công Server-side - Prototype Pollution

  1. Điểm khác biệt với lỗ hổng phía client

Khác với lỗ hổng xảy ra ở phía client, Server-side - Prototype Pollution chỉ các lỗ hổng xuất hiện với các dữ liệu hoạt động tại máy chủ. Mặc dù JavaScript ban đầu là một ngôn ngữ chuyên sinh ra với mục đích lập trình cho hệ thống front end, nhưng theo sự tha...

Thumbnail Image
114
3
0 0
Avatar Viblo Security thg 1 22, 8:00 SA
8 phút đọc

Prototype Pollution attack (phần 2)

III. Phân tích và khai thác các kỹ thuật phát hiện, tấn công Client-side - Prototype Pollution

Client-side prototype pollution xảy ra khi ứng dụng web cho phép người dùng kiểm soát các thuộc tính hoặc giá trị của prototype phía client. Kẻ tấn công có thể lợi dụng lỗ hổng này nhằm thay đổi các thuộc tính quan trọng trong prototype, gây ảnh hưởng đến hành vi của ứng dụng và có thể dẫn đến các cu...

Thumbnail Image
266
2
2 0
Avatar Viblo Security thg 1 19, 8:00 SA
5 phút đọc

Prototype Pollution attack (phần 1)

I. Kiến thức chuẩn bị

Mở đầu chuỗi bài viết về chủ đề Prototype Pollution, chúng ta sẽ cùng làm quen với các khái niệm Object, Prototype. Phạm vi tìm hiểu ban đầu của chúng sẽ nằm trong ngôn ngữ JavaScript - loại ngôn ngữ lập trình tiêu biểu và đặc trưng dựa trên mô hình prototypal inheritance (prototypal inheritance model) để quản lý đối tượng.

  1. Object trong JavaScript

Trong JavaScript, đ...

Thumbnail Image
310
3
1 0
Avatar Viblo Security thg 1 5, 8:00 SA
2 phút đọc

HTTP Host header attack - Tấn công tiêu đề Host trong giao thức HTTP (phần 2)

II. Phân tích các dạng HTTP Host header attack và ngăn chặn (tiếp)

  1. Sử dụng tấn công Host header khai thác SSRF

Một trong những phương pháp tấn công phổ biến kết hợp lỗ hổng Host header attack và SSRF là Routing-based SSRF. Kỹ thuật tấn công này thường được sử dụng trong các hệ thống đám mây. Kẻ tấn công sẽ khai thác thành phần trung gian (như máy chủ reverse proxy) để tấn công vào các hệ t...

Thumbnail Image
1.0K
5
0 0
Avatar Viblo Security thg 1 3, 8:00 SA
6 phút đọc

HTTP Host header attack - Tấn công tiêu đề Host trong giao thức HTTP (phần 1)

I. Đặt vấn đề

  1. HTTP Host Header

Trong giao thức HTTP, trường Header Host được sử dụng để chỉ định tên miền (domain name) của máy chủ web được đang được truy cập hoặc đang trả về nội dung. Host header được sử dụng trong các yêu cầu HTTP cho phép máy chủ web nhận biết tên miền được yêu cầu và phục vụ nội dung phù hợp.

Xét thao tác truy cập URL https://viblo.asia/followings, quan sát trong Bu...

Thumbnail Image
155
2
1 0
Avatar Viblo Security thg 1 1, 8:00 SA
6 phút đọc

Web cache poisoning - Lỗ hổng đầu độc bộ nhớ cache (phần 4)

V. Case study và ví dụ

  1. Case study: Redirect DoS

Case study đầu tiên tôi muốn giới thiệu tới các bạn là sự kết hợp lỗ hổng web cache poisoning nhằm tấn công DoS (denial of service) tới người dùng khác thông qua quy trình chuyển hướng request của Cloudflare.

Một đường dẫn đăng nhập của Cloudflare tại dash.cloudflare.com/login, sau khi người dùng đăng nhập, họ được chuyển hướng tới /login/, ...

Thumbnail Image
227
3
0 0
Avatar Viblo Security thg 12 29, 2023 8:00 SA
4 phút đọc

Web cache poisoning - Lỗ hổng đầu độc bộ nhớ cache (phần 3)

IV. Phân tích và khai thác các lỗ hổng Web cache poisoning (tiếp)

  1. Cache parameter cloaking

Ở các phần trước, chúng ta đã cấu hình Varnish Cache ngăn chặn tấn công web cache poisoning bằng cách loại bỏ các tham số vô nghĩa khỏi quá trình xử lý caching, đồng thời chú ý đến các tham số UTM. Điều này hầu như đã ngăn chặn tốt việc tấn công web cache poisoning bằng cách tấn công Unkeyed query st...

Thumbnail Image
238
2
0 0
Avatar Viblo Security thg 12 27, 2023 8:00 SA
7 phút đọc

Web cache poisoning - Lỗ hổng đầu độc bộ nhớ cache (phần 2)

IV. Phân tích và khai thác các lỗ hổng Web cache poisoning

  1. 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...

Thumbnail Image
442
4
1 0
Avatar Viblo Security thg 12 25, 2023 8:00 SA
10 phút đọc

Web cache poisoning - Lỗ hổng đầu độc bộ nhớ cache (phần 1)

I. Đặt vấn đề

  1. Web caching là gì?

Ở thời kỳ sơ khai của Internet, khi những trang web đầu tiên được tạo ra, quá trình người dùng tải các trang web thường chậm và có kết nối không ổn định. Điều này là do sự hạn chế về tốc độ băng thông cũng như vấn đề địa lý dẫn đến độ trễ cao, mang lại trải nghiệm không tốt cho người dùng. Bên cạnh các phương pháp cải thiện băng thông, đường truyền, để giảm...

Thumbnail Image
206
4
0 2
Avatar Viblo Security thg 11 1, 2023 8:00 SA
5 phút đọc

Insecure deserialization vulnerability - Các lỗ hổng Insecure deserialization (phần 7)

III. Lỗ hổng Deserialization trong ngôn ngữ Java (tiếp)

  1. Khai thác lỗ hổng Deserialization trong Java với custom gadget - Ví dụ 2

Ví dụ thứ hai là challenge WAF-Deser trong cuộc thi Sinh viên An toàn thông tin vòng sơ khảo năm 20222022. Chúng ta sẽ cùng tìm hiểu từ các bước dựng môi trường, phân tích mã nguồn, tìm kiếm điểm kích hoạt lỗ hổng và cuối cùng là xây dựng custom gadget. Mã nguồn ch...

Thumbnail Image
180
2
0 0
Avatar Viblo Security thg 10 30, 2023 9:00 SA
5 phút đọc

Insecure deserialization vulnerability - Các lỗ hổng Insecure deserialization (phần 6)

III. Lỗ hổng Deserialization trong ngôn ngữ Java (tiếp)

  1. Khai thác lỗ hổng Deserialization trong Java với custom gadget - Ví dụ 1

Với sự phát triển liên tục của ứng dụng, các lỗ hổng cũng thể hiện ngày càng đa dạng, dẫn đến những payload được xây dựng sẵn như ysoserial có thể không hiệu quả trong nhiều trường hợp. Khi đó chúng ta cần dựa vào luồng hoạt động của từng chương trình cụ thể để t...

Thumbnail Image
351
3
0 0
Avatar Viblo Security thg 10 30, 2023 8:00 SA
9 phút đọc

Insecure deserialization vulnerability - Các lỗ hổng Insecure deserialization (phần 5)

III. Lỗ hổng Deserialization trong ngôn ngữ Java (tiếp)

  1. Gadget chains

Gadget chains là một chuỗi các đối tượng Java được sử dụng để thực hiện một hành động bất hợp pháp. Các đối tượng trong chuỗi gadget có thể kích hoạt các phương thức hoặc các lớp để thực hiện một hành động không mong muốn, chẳng hạn như việc thực thi mã độc.

Ví dụ, một gadget chain có thể bao gồm các đối tượng Serializa...

Thumbnail Image
323
4
0 0
Avatar Viblo Security thg 10 27, 2023 9:00 SA
6 phút đọc

Insecure deserialization vulnerability - Các lỗ hổng Insecure deserialization (phần 4)

II. Lỗ hổng deserialization trong ngôn ngữ PHP (tiếp)

  1. Vấn đề deserialization trong session

Mỗi khi người dùng truy cập một ứng dụng sẽ được coi là một phiên và tạo ra một giá trị session (thường được đặt trong cookie). Về phía server, dữ liệu session này được lưu trữ trong một biến toàn cục $_SESSION. Đối với các yêu cầu (request) liên tiếp từ cùng một khách hàng, server cần quan tâm đến c...

Thumbnail Image
256
4
0 0
Avatar Viblo Security thg 10 27, 2023 8:00 SA
5 phút đọc

Insecure deserialization vulnerability - Các lỗ hổng Insecure deserialization (phần 3)

II. Lỗ hổng deserialization trong ngôn ngữ PHP (tiếp)

  1. Khai thác lỗ hổng deserialization với các magic methods trong PHP - Ví dụ 1

Ở phần trước chúng ta đã tìm hiểu về khái niệm, công dụng của một số magic methods trong PHP. Để tận dụng được chúng đòi hỏi kẻ tấn công cần hiểu về luồng hoạt động của mã nguồn ứng dụng, thêm phần tư duy nhạy bén mới có thể kết hợp khéo léo từng thành phần meth...

Thumbnail Image
319
3
0 0
Avatar Viblo Security thg 10 25, 2023 9:00 SA
3 phút đọc

Insecure deserialization vulnerability - Các lỗ hổng Insecure deserialization (phần 2)

II. Lỗ hổng deserialization trong ngôn ngữ PHP

  1. Hàm serialize() và unserialize()

Trong ngôn ngữ PHP sử dụng hàm serialize() thực hiện serialize đối tượng. Xem ví dụ sau:

<?php class Person { public $name = "Tom"; private $age = 18; protected $sex = "male"; public function hello() { echo "hello"; } } $example = new Person(); ...
Thumbnail Image
787
2
0 0
Avatar Viblo Security thg 10 25, 2023 8:00 SA
8 phút đọc

Insecure deserialization vulnerability - Các lỗ hổng Insecure deserialization (phần 1)

I. Đặt vấn đề

Trong quá trình học các loại ngôn ngữ lập trình chắc hẳn các bạn đều đã được biết tới khái niệm Serialization và Deserialization. Nếu chỉ nhìn vào khái niệm, thực sự khó để hiểu tác dụng cũng như ý nghĩa của các kỹ thuật này. Vậy thì qua bài viết này chúng ta hãy cùng nhìn nhận, tiếp cận với một góc độ khác để hiểu rõ nguyên nhân, mục đích các kỹ thuật Serialize và Deserialize đư...

Thumbnail Image
693
2
0 0
Avatar Viblo Security thg 9 6, 2023 8:00 SA
5 phút đọc

Server-side template injection vulnerabilities (SSTI) - Các lỗ hổng SSTI (phần 3)

IV. Kỹ thuật bypass filter qua một số challenge CTF

  1. Một số kỹ thuật bypass filter

Bài viết này chủ yếu tập trung vào các kỹ thuật bypass filter trong các challenge CTF.

Sử dụng request.args

request.args là một đối tượng trong framework Flask của Python, chứa tất cả các đối số được truyền từ URL vào ứng dụng Flask. Chúng ta có thể sử dụng đối tượng này bypass một số từ khóa bị filter. Ví ...

Thumbnail Image
706
3
0 0
Avatar Viblo Security thg 9 5, 2023 8:00 SA
6 phút đọc

Server-side template injection vulnerabilities (SSTI) - Các lỗ hổng SSTI (phần 2)

II. SSTI trong các template và cách ngăn chặn (tiếp)

  1. Template Twig trong PHP

Twig là một template engine cho PHP, được thiết kế để phân tách logic xử lý từ giao diện người dùng của ứng dụng. Twig cung cấp các cú pháp dễ đọc và dễ viết để tạo ra các template dynamic trong ứng dụng, cho phép tạo ra các trang web tương tác với người dùng một cách dễ dàng và linh hoạt hơn. Xét ví dụ như sau: ...

Thumbnail Image
1.4K
3
0 0
Avatar Viblo Security thg 8 31, 2023 8:00 SA
5 phút đọc

Server-side template injection vulnerabilities (SSTI) - Các lỗ hổng SSTI (phần 1)

I. Đặt vấn đề

  1. Bối cảnh

Theo thời gian và nhu cầu, các dữ liệu hiển thị trên trang web không ngừng thay đổi. Ba yếu tố cơ bản nhất tạo nên một trang web là HTML, CSS, Javascript. Để thêm, sửa, xóa chức năng, dữ liệu, thay đổi bố cục giao diện dẫn đến lập trình viên cần chỉnh sửa toàn bộ source code - tiêu tốn tài nguyên, thời gian. Bởi vậy kỹ thuật template ra đời. Cách thức hoạt động cơ bả...

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí